Current master fails to build with DPDK on Debian stable (bookworm) if libbsd-dev is installed
envgap__scylladb__seastar-2411
01 / FAILURE SIGNATURE
As reported upstream
(.text+0x1a6e): undefined reference to `strlcpy'
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
1147ac2b699ee5f583d7f022b6fbb0d468381d8d- Manifest
CMakeLists.txt- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
scylladb/seastar #2411 · read the original issue
Most likely caused by the following code in `./dpdk/lib/eal/include/rte_string_fns.h`: ``` #ifdef RTE_USE_LIBBSD #include <bsd/string.h> #else /* no BSD header files, create own */ #define strlcpy(dst, src, size) rte_strlcpy(dst, src, size) #define strlcat(dst, src, size) rte_strlcat(dst, src, size) #endif /* RTE_USE_LIBBSD */ #endif /* FREEBSD */ ``` Reproduction steps: ``` sudo docker run -it debian:bookworm /bin/bash ``` Inside: ``` apt update apt install git g++ cmake ninja-build git clone https://github.com/scylladb/seastar cd seastar git submodule update --init ./install-dependencies.sh apt install libbsd-dev ./configure.py --mode=release --enable-dpdk ninja -C build/release ``` Errors such as the following are observed: ``` [294/357] Linking CXX executable apps/httpd/httpd FAILED: apps/httpd/httpd : && /usr/bin/g++ -O2 -g -DNDEBUG apps/httpd/CMakeFiles/app_httpd.dir/demo.json.cc.o apps/httpd/CMakeFiles/app_httpd.dir/main.cc.o -o apps/httpd/httpd libseastar.a /usr/lib/x86_64-linux-gnu/libboost_program_options.so /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so /usr/lib/x86_64-linux-gnu/libcares.so /usr/lib/x86_64-linux-gnu/libfmt.so.9.1.0 /usr/lib/x86_64-linux-gnu/liblz4.so -ldl /usr/lib/x86_64-linux-gnu/libgnutls.so -latomic /usr/lib/x86_64-linux-gnu/libsctp.so /usr/lib/x86_64-linux-gnu/libprotobuf.so /usr/lib/x86_64-linux-gnu/libyaml-cpp.so /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/liburing.so /usr/lib/x86_64-linux-gnu/libnuma.so && : /usr/bin/ld: libseastar.a(dpdk.o): in function `rte_pci_scan': (.text+0x1a6e): undefined reference to `strlcpy' /usr/bin/ld: libseastar.a(dpdk.o): in function `pci_uio_alloc_resource': (.text+0x2831): undefined reference to `strlcpy' /usr/bin/ld: libseastar.a(dpdk.o): in function `insert_vdev': vdev.c:(.text+0x48d6): undefined reference to `strlcpy' /usr/bin/ld: libseastar.a(dpdk.o): in function `vdev_action': vdev.c:(.text+0x4a5c): undefined reference to `strlcpy' /usr/bin/ld: libseastar.a(dpdk.o): in function `vdev_scan': vdev.c:(.text+0x4f4f): undefined reference to `strlcpy' ... ```
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]