iovisor / iovisor/bcc

Compilation errors on Ubuntu 23.10 due to implicit function declarations

Open
#4,757 0 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.