Skip to content

Failed to compile doca-samples due do link error #1

@Binary-Vanguard-12138

Description

@Binary-Vanguard-12138

On Ubuntu 24.04, installed doca-all and doca-extra packages, and also installed libjson-c-dev and liblz4-dev packages.
Cloned this repository
git clone https://github.com/NVIDIA-DOCA/doca-samples.git.
And tried to compile.

cd doca-samples/applications
meson /tmp/build
ninja -C /tmp/build

And got the following error.

ninja: Entering directory `/tmp/build'
[131/135] Linking target storage/doca_storage_gga_offload_sbc_generator
FAILED: storage/doca_storage_gga_offload_sbc_generator
c++  -o storage/doca_storage_gga_offload_sbc_generator storage/doca_storage_gga_offload_sbc_generator.p/gga_offload_sbc_generator.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_binary_content.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_buffer_utils.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_control_channel.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_control_message.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_doca_utils.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_file_utils.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_io_message.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_ip_address.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_posix_os_utils.cpp.o storage/doca_storage_gga_offload_sbc_generator.p/storage_common_posix_tcp_socket.cpp.o -Wl,--as-needed -Wl,--no-undefined -Wl,-rpath,/opt/mellanox/doca/lib/x86_64-linux-gnu -Wl,-rpath-link,/opt/mellanox/doca/lib/x86_64-linux-gnu -pthread -Wl,--start-group /usr/lib/x86_64-linux-gnu/libbsd.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_argp.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_comch.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_compress.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_erasure_coding.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_rdma.so /opt/mellanox/doca/lib/x86_64-linux-gnu/libdoca_common.so -Wl,--end-group
/usr/bin/ld: storage/doca_storage_gga_offload_sbc_generator.p/gga_offload_sbc_generator.cpp.o: in function `(anonymous namespace)::lz4_context::~lz4_context()':
/tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:362:(.text+0x11fe): undefined reference to `LZ4F_freeCompressionContext'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:363:(.text+0x120e): undefined reference to `LZ4F_isError'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:364:(.text+0x1223): undefined reference to `LZ4F_getErrorName'
/usr/bin/ld: storage/doca_storage_gga_offload_sbc_generator.p/gga_offload_sbc_generator.cpp.o: in function `(anonymous namespace)::lz4_context::lz4_context()':
/tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:370:(.text+0x12b3): undefined reference to `LZ4F_createCompressionContext'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:371:(.text+0x12c3): undefined reference to `LZ4F_isError'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:373:(.text+0x12e9): undefined reference to `LZ4F_getErrorName'
/usr/bin/ld: storage/doca_storage_gga_offload_sbc_generator.p/gga_offload_sbc_generator.cpp.o: in function `(anonymous namespace)::lz4_context::compress(unsigned char const*, unsigned int, unsigned char*, unsigned int)':
/tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:386:(.text+0x1461): undefined reference to `LZ4F_compressBegin'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:387:(.text+0x1471): undefined reference to `LZ4F_isError'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:389:(.text+0x1497): undefined reference to `LZ4F_getErrorName'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:397:(.text+0x155d): undefined reference to `LZ4F_compressUpdate'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:398:(.text+0x156d): undefined reference to `LZ4F_isError'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:400:(.text+0x1593): undefined reference to `LZ4F_getErrorName'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:405:(.text+0x1657): undefined reference to `LZ4F_compressEnd'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:409:(.text+0x1667): undefined reference to `LZ4F_isError'
/usr/bin/ld: /tmp/build/../../home/user/doca-samples/applications/storage/gga_offload_sbc_generator.cpp:412:(.text+0x168d): undefined reference to `LZ4F_getErrorName'
collect2: error: ld returned 1 exit status
[133/135] Compiling C++ object storage/doca_storage_target_rdma.p/target_rdma.cpp.o
ninja: build stopped: subcommand failed.

When I tried to add -llz4 flag manually, build was successful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions