bcc
bcc copied to clipboard
tcpretrans causes error on latest Ubuntu
I get the following error and I don't know how to solve it.
./tools/tcpretrans.py
In file included from /virtual/main.c:4:
In file included from include/net/tcp.h:35:
In file included from include/net/sock_reuseport.h:5:
In file included from include/linux/filter.h:9:
include/linux/bpf.h:321:10: error: invalid application of 'sizeof' to an incomplete type 'struct bpf_rb_root'
return sizeof(struct bpf_rb_root);
^ ~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:321:24: note: forward declaration of 'struct bpf_rb_root'
return sizeof(struct bpf_rb_root);
^
include/linux/bpf.h:323:10: error: invalid application of 'sizeof' to an incomplete type 'struct bpf_rb_node'
return sizeof(struct bpf_rb_node);
^ ~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:323:24: note: forward declaration of 'struct bpf_rb_node'
return sizeof(struct bpf_rb_node);
^
include/linux/bpf.h:325:10: error: invalid application of 'sizeof' to an incomplete type 'struct bpf_refcount'
return sizeof(struct bpf_refcount);
^ ~~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:325:24: note: forward declaration of 'struct bpf_refcount'
return sizeof(struct bpf_refcount);
^
include/linux/bpf.h:347:10: error: invalid application of '__alignof' to an incomplete type 'struct bpf_rb_root'
return __alignof__(struct bpf_rb_root);
^ ~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:347:29: note: forward declaration of 'struct bpf_rb_root'
return __alignof__(struct bpf_rb_root);
^
include/linux/bpf.h:349:10: error: invalid application of '__alignof' to an incomplete type 'struct bpf_rb_node'
return __alignof__(struct bpf_rb_node);
^ ~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:349:29: note: forward declaration of 'struct bpf_rb_node'
return __alignof__(struct bpf_rb_node);
^
include/linux/bpf.h:351:10: error: invalid application of '__alignof' to an incomplete type 'struct bpf_refcount'
return __alignof__(struct bpf_refcount);
^ ~~~~~~~~~~~~~~~~~~~~~
include/linux/bpf.h:351:29: note: forward declaration of 'struct bpf_refcount'
return __alignof__(struct bpf_refcount);
^
6 errors generated.
Traceback (most recent call last):
File "/root/bcc/src/cc/../../tools/tcpretrans.py", line 396, in <module>
b = BPF(text=bpf_text)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/bcc/__init__.py", line 479, in __init__
raise Exception("Failed to compile BPF module %s" % (src_file or "<text>"))
Exception: Failed to compile BPF module <text>
Version
$ uname -a
Linux ryu 6.5.0-13-generic #13-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 3 12:16:05 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=23.10
DISTRIB_CODENAME=mantic
DISTRIB_DESCRIPTION="Ubuntu 23.10"
$ apt info bpfcc-tools
Package: bpfcc-tools
Version: 0.26.0+ds-1ubuntu2
Priority: optional
Section: universe/misc
Source: bpfcc
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Ritesh Raj Sarraf <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2,847 kB
Depends: python3-bpfcc (>= 0.26.0+ds-1ubuntu2), python3-netaddr, python3:any
Homepage: https://github.com/iovisor/bcc
Download-Size: 681 kB
APT-Manual-Installed: yes
APT-Sources: http://jp.archive.ubuntu.com/ubuntu mantic/universe amd64 Packages
Description: tools for BPF Compiler Collection (BCC)
BPF Compiler Collection (BCC) is a toolkit for creating efficient
kernel tracing and manipulation programs
.
It makes use of extended BPF (Berkeley Package Filter) and provides tools
for BPF based Linux IO analysis, networking, monitoring and more
.
This package provides the command-line tools and examples
Looks like a duplicate of #4575.