jboone / gr-tpms

Tire Pressure Monitor tools for GNU Radio
GNU General Public License v2.0
165 stars 36 forks source link

multiple linking errors #20

Open rodan opened 2 years ago

rodan commented 2 years ago

I get consective make errors due to missing '-llog4cpp -lgnuradio-fft' arguments during linking. the fix looks to be simple:

-- patch:

diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 820ef8c..1595652 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -30,7 +30,7 @@ list(APPEND tpms_sources )

add_library(gnuradio-tpms SHARED ${tpms_sources}) -target_link_libraries(gnuradio-tpms ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_ALL_LIBRARIES} fftw3f) +target_link_libraries(gnuradio-tpms ${Boost_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} ${GNURADIO_ALL_LIBRARIES} fftw3f log4cpp gnuradio-fft) set_target_properties(gnuradio-tpms PROPERTIES DEFINE_SYMBOL "gnuradio_tpms_EXPORTS")

########################################################################

-- make errors: $ make [ 10%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/fixed_length_frame_sink_impl.cc.o [ 10%] Shebangin fsk_demod [ 15%] Shebangin ask_demod [ 20%] Shebangin tpms_burst_ping [ 25%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/ask_env_impl.cc.o [ 30%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/burst_detector_impl.cc.o [ 35%] Generating init.pyc, ask.pyc, bit_coding.pyc, decode.pyc, fsk.pyc, packet_check.pyc, source.pyc [ 35%] Built target tpms_swig_swig_doc [ 40%] Generating init.pyo, ask.pyo, bit_coding.pyo, decode.pyo, fsk.pyo, packet_check.pyo, source.pyo [ 45%] Shebangin tpms_rx [ 50%] Swig source tpms_swig.i [ 50%] Built target pygen_apps_03830 [ 50%] Built target pygen_python_c5f07 [ 50%] Built target tpms_swig_swig_compilation [ 55%] Linking CXX shared library libgnuradio-tpms.so [ 55%] Built target gnuradio-tpms [ 60%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_tpms.cc.o [ 75%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_fixed_length_frame_sink.cc.o [ 75%] Building CXX object swig/CMakeFiles/tpms_swig.dir/CMakeFiles/tpms_swig.dir/tpms_swigPYTHON_wrap.cxx.o [ 75%] Building CXX object lib/CMakeFiles/test-tpms.dir/test_tpms.cc.o [ 80%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_ask_env.cc.o [ 85%] Linking CXX executable test-tpms /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/test-tpms.dir/qa_fixed_length_frame_sink.cc.o: undefined reference to symbol '_ZN7log4cpp8Appender29AppenderMapStorageInitializerD1Ev' /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/liblog4cpp.so.5: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: [lib/CMakeFiles/test-tpms.dir/build.make:156: lib/test-tpms] Error 1 make[1]: [CMakeFiles/Makefile2:265: lib/CMakeFiles/test-tpms.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 90%] Linking CXX shared module _tpms_swig.so [ 90%] Built target tpms_swig make: [Makefile:146: all] Error 2

$ make [ 5%] Built target tpms_swig_swig_doc [ 5%] Shebangin fsk_demod [ 10%] Shebangin tpms_rx [ 15%] Shebangin ask_demod [ 20%] Generating init.pyc, ask.pyc, bit_coding.pyc, decode.pyc, fsk.pyc, packet_check.pyc, source.pyc [ 25%] Shebangin tpms_burst_ping [ 30%] Generating init.pyo, ask.pyo, bit_coding.pyo, decode.pyo, fsk.pyo, packet_check.pyo, source.pyo [ 35%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/ask_env_impl.cc.o [ 40%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/fixed_length_frame_sink_impl.cc.o [ 45%] Building CXX object lib/CMakeFiles/gnuradio-tpms.dir/burst_detector_impl.cc.o [ 50%] Swig source tpms_swig.i [ 50%] Built target pygen_apps_03830 [ 50%] Built target pygen_python_c5f07 [ 50%] Built target tpms_swig_swig_compilation [ 55%] Linking CXX shared library libgnuradio-tpms.so [ 55%] Built target gnuradio-tpms [ 60%] Building CXX object swig/CMakeFiles/tpms_swig.dir/CMakeFiles/tpms_swig.dir/tpms_swigPYTHON_wrap.cxx.o [ 65%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_tpms.cc.o [ 70%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_ask_env.cc.o [ 75%] Building CXX object lib/CMakeFiles/test-tpms.dir/qa_fixed_length_frame_sink.cc.o [ 80%] Building CXX object lib/CMakeFiles/test-tpms.dir/test_tpms.cc.o [ 85%] Linking CXX executable test-tpms /usr/lib/gcc/x86_64-pc-linux-gnu/11.2.1/../../../../x86_64-pc-linux-gnu/bin/ld: libgnuradio-tpms.so: undefined reference to `gr::fft::window::hann(int)' collect2: error: ld returned 1 exit status make[2]: [lib/CMakeFiles/test-tpms.dir/build.make:156: lib/test-tpms] Error 1 make[1]: [CMakeFiles/Makefile2:265: lib/CMakeFiles/test-tpms.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 90%] Linking CXX shared module _tpms_swig.so [ 90%] Built target tpms_swig make: [Makefile:146: all] Error 2