bladeRF
bladeRF copied to clipboard
Multiple def of bladerf2_state_to_string
git master 1da130cb5ac9e9f722737e9aee141ecccebef00d gcc version 11.1.1 20210428 (Red Hat 11.1.1-1) (GCC) gives:
/usr/bin/ld: CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/common.c.o:(.data.rel.local+0x0): multiple definition of `bladerf2_state_to_string'; CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/bladerf2.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/rfic_fpga.c.o:(.bss+0x0): multiple definition of `bladerf2_state_to_string'; CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/bladerf2.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/rfic_host.c.o:(.bss+0x0): multiple definition of `bladerf2_state_to_string'; CMakeFiles/libbladerf_shared.dir/src/board/bladerf2/bladerf2.c.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/build.make:825: output/libbladeRF.so.2] Error 1
make[1]: *** [CMakeFiles/Makefile2:877: libraries/libbladeRF/CMakeFiles/libbladerf_shared.dir/all] Error 2
make: *** [Makefile:149: all] Error 2
This patch allows the build to proceed, but I haven't tested it with hardware yet:
diff --git a/host/libraries/libbladeRF/src/board/bladerf2/common.h b/host/libraries/libbladeRF/src/board/bladerf2/common.h
index 23187ba6..efbebc86 100644
--- a/host/libraries/libbladeRF/src/board/bladerf2/common.h
+++ b/host/libraries/libbladeRF/src/board/bladerf2/common.h
@@ -207,7 +207,7 @@ extern const float ina219_r_shunt;
/* Constants */
/******************************************************************************/
-char const *bladerf2_state_to_string[4];
+extern char const *bladerf2_state_to_string[4];
/******************************************************************************/
The 4 is probably not necessary.