Skip to content

Build fails with /usr/bin/ld ... undefined reference to 'srsran_rf_recv_with_time_multi' #84

@anoduck

Description

@anoduck

Received "undefined reference" error for srsran_rf_recv_with_time_multi.

After discovering potential bug in gcc-12, I downgraded to use of gcc-11. This allowed the build process to run until it reached 100% and ran /usr/bin/ld, then caught the "undefined reference" error and full stop.

[100%] Linking CXX executable LTESniffer
/usr/bin/ld: src/libDL_Sniffer_lib.a(LTESniffer_Core.cc.o): in function `srsran_rf_recv_wrapper(void*, float _Complex**, unsigned int, srsran_timestamp_t*)':
/LTESniffer/src/src/LTESniffer_Core.cc:726:(.text+0x1675): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: src/libDL_Sniffer_lib.a(LTESniffer_Core.cc.o): in function `UhdStreamThread::get_data_stream_a()':
/LTESniffer/src/src/LTESniffer_Core.cc:897:(.text+0x17bd): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: /LTESniffer/src/src/LTESniffer_Core.cc:906:(.text+0x1801): undefined reference to `srsran_rf_close'
/usr/bin/ld: src/libDL_Sniffer_lib.a(LTESniffer_Core.cc.o): in function `UhdStreamThread::get_data_stream_b()':
/LTESniffer/src/src/LTESniffer_Core.cc:917:(.text+0x1ac5): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: /LTESniffer/src/src/LTESniffer_Core.cc:926:(.text+0x1b15): undefined reference to `srsran_rf_close'
/usr/bin/ld: src/libDL_Sniffer_lib.a(LTESniffer_Core.cc.o): in function `srsran_rf_recv_multi_usrp_wrapper(void*, void*, float _Complex**, float _Complex**, unsigned int, srsran_timestamp_t*)':
/LTESniffer/src/src/LTESniffer_Core.cc:805:(.text+0x213b): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: /LTESniffer/src/src/LTESniffer_Core.cc:821:(.text+0x22fb): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: /LTESniffer/src/src/LTESniffer_Core.cc:823:(.text+0x2321): undefined reference to `srsran_rf_recv_with_time_multi'
/usr/bin/ld: /LTESniffer/src/src/LTESniffer_Core.cc:808:(.text+0x2446): undefined reference to `srsran_rf_recv_with_time_multi'
collect2: error: ld returned 1 exit status
make[2]: *** [src/CMakeFiles/LTESniffer.dir/build.make:120: src/LTESniffer] Error 1
make[2]: Target 'src/CMakeFiles/LTESniffer.dir/build' not remade because of errors.
make[1]: *** [CMakeFiles/Makefile2:9828: src/CMakeFiles/LTESniffer.dir/all] Error 2
make[1]: Target 'all' not remade because of errors.
make: *** [Makefile:156: all] Error 2
make: Target 'default_target' not remade because of errors.

The reference occurs on the following lines:

726:  return srsran_rf_recv_with_time_multi((srsran_rf_t*)h, ptr, nsamples, true, NULL, NULL);
805:        srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_b, dummy_ptr, nof_offset_sample, true, NULL, NULL);
808:        srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_a, dummy_ptr, nof_offset_sample, true, NULL, NULL);
821:          srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_b, dummy_ptr, nsamples, true, NULL, NULL);
823:          srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_a, dummy_ptr, nsamples, true, NULL, NULL);
897:      srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_a, ptr_a, nof_sample_a, true, &secs_a, &frac_secs_a);
917:      srsran_rf_recv_with_time_multi((srsran_rf_t*)rf_b, ptr_b, nof_sample_b, true, &secs_b, &frac_secs_b);

Performed on new box, with a fresh install, a fresh clone, and new radios.


Building branch: LTESniffer-multi-usrp
Distrobution: Ubuntu-Server Noble (Fresh Install on Fresh Box)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions