Compilation errors on Ubuntu 23.10 due to implicit function declarations
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 3
Description
We've encountered an issue in Bitcoin Core's functional tests that utilize USDT trace points. Specifically, we use the Python bcc package to compile and execute these tests. An example of such a test can be found here: [interface_usdt_net.py](https://github.com/bitcoin/bitcoin/blob/master/test/functional/interface_usdt_net.py).
On Ubuntu 23.10, these test programs no longer compile, and we receive many of the following familiy of errors:
```log
/virtual/main.c:97:24: error: call to undeclared function '_bpf_readarg_trace_removed_1'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
```
Upon further investigation, I believe this issue might be related to a behavior change in LLVM, as documented here: [LLVM Review](https://reviews.llvm.org/D122983?id=420290).
It appears to me that the iovisor/bcc library should be handling the imports of functions, which are currently ending up being implicitly declared.
I believe this is an issue that needs to be addressed upstream in the iovisor/bcc project, as importing system headers results in definition mismatches (at least in my testing). I would appreciate any guidance or fixes related to this problem; perhaps I am approaching it in the wrong way.
Please let me know if you need any additional information or if there are any clarifications required.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.