← All tasks
cppscylladb/seastar #2411Not a task: not reproduced

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'

...

```

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]