Closed casohite closed 5 years ago
Since tools/proxy_fake_feed/CMakeLists.txt
explicitly links Boost::system to the executable I assume that something with your Boost installation is wrong. Can you provide the output of make VERBOSE=1
, especially the line where your linker is invoked?
Thank you for your reply. In the following the output of make VERBOSE=1
/usr/bin/cmake -H/home/dellpc/artery/extern/vanetza -B/home/dellpc/artery/extern/vanetza/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/dellpc/artery/extern/vanetza/build/CMakeFiles /home/dellpc/artery/extern/vanetza/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/access/CMakeFiles/access.dir/build.make vanetza/access/CMakeFiles/access.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/access /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/access /home/dellpc/artery/extern/vanetza/build/vanetza/access/CMakeFiles/access.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/access/CMakeFiles/access.dir/build.make vanetza/access/CMakeFiles/access.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/access/CMakeFiles/access.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 0%] Built target access
make -f vanetza/asn1/CMakeFiles/asn1.dir/build.make vanetza/asn1/CMakeFiles/asn1.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/asn1 /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/asn1 /home/dellpc/artery/extern/vanetza/build/vanetza/asn1/CMakeFiles/asn1.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/asn1/CMakeFiles/asn1.dir/build.make vanetza/asn1/CMakeFiles/asn1.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/asn1/CMakeFiles/asn1.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 63%] Built target asn1
make -f vanetza/common/CMakeFiles/common.dir/build.make vanetza/common/CMakeFiles/common.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/common /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/common /home/dellpc/artery/extern/vanetza/build/vanetza/common/CMakeFiles/common.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/common/CMakeFiles/common.dir/build.make vanetza/common/CMakeFiles/common.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/common/CMakeFiles/common.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 66%] Built target common
make -f vanetza/net/CMakeFiles/net.dir/build.make vanetza/net/CMakeFiles/net.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/net /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/net /home/dellpc/artery/extern/vanetza/build/vanetza/net/CMakeFiles/net.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/net/CMakeFiles/net.dir/build.make vanetza/net/CMakeFiles/net.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/net/CMakeFiles/net.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 70%] Built target net
make -f vanetza/security/CMakeFiles/security.dir/build.make vanetza/security/CMakeFiles/security.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/security /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/security /home/dellpc/artery/extern/vanetza/build/vanetza/security/CMakeFiles/security.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/security/CMakeFiles/security.dir/build.make vanetza/security/CMakeFiles/security.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/security/CMakeFiles/security.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 82%] Built target security
make -f vanetza/dcc/CMakeFiles/dcc.dir/build.make vanetza/dcc/CMakeFiles/dcc.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/dcc /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/dcc /home/dellpc/artery/extern/vanetza/build/vanetza/dcc/CMakeFiles/dcc.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/dcc/CMakeFiles/dcc.dir/build.make vanetza/dcc/CMakeFiles/dcc.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/dcc/CMakeFiles/dcc.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 87%] Built target dcc
make -f vanetza/geonet/CMakeFiles/geonet.dir/build.make vanetza/geonet/CMakeFiles/geonet.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/geonet /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/geonet /home/dellpc/artery/extern/vanetza/build/vanetza/geonet/CMakeFiles/geonet.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/geonet/CMakeFiles/geonet.dir/build.make vanetza/geonet/CMakeFiles/geonet.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/geonet/CMakeFiles/geonet.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 98%] Built target geonet
make -f vanetza/btp/CMakeFiles/btp.dir/build.make vanetza/btp/CMakeFiles/btp.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/btp /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/btp /home/dellpc/artery/extern/vanetza/build/vanetza/btp/CMakeFiles/btp.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/btp/CMakeFiles/btp.dir/build.make vanetza/btp/CMakeFiles/btp.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/btp/CMakeFiles/btp.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[ 99%] Built target btp
make -f vanetza/facilities/CMakeFiles/facilities.dir/build.make vanetza/facilities/CMakeFiles/facilities.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/facilities /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/facilities /home/dellpc/artery/extern/vanetza/build/vanetza/facilities/CMakeFiles/facilities.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/facilities/CMakeFiles/facilities.dir/build.make vanetza/facilities/CMakeFiles/facilities.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/facilities/CMakeFiles/facilities.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[100%] Built target facilities
make -f vanetza/gnss/CMakeFiles/gnss.dir/build.make vanetza/gnss/CMakeFiles/gnss.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/vanetza/gnss /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/vanetza/gnss /home/dellpc/artery/extern/vanetza/build/vanetza/gnss/CMakeFiles/gnss.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f vanetza/gnss/CMakeFiles/gnss.dir/build.make vanetza/gnss/CMakeFiles/gnss.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
make[2]: rien à faire pour « vanetza/gnss/CMakeFiles/gnss.dir/build ».
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
[100%] Built target gnss
make -f tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/build.make tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/depend
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
cd /home/dellpc/artery/extern/vanetza/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/dellpc/artery/extern/vanetza /home/dellpc/artery/extern/vanetza/tools/proxy_fake_feed /home/dellpc/artery/extern/vanetza/build /home/dellpc/artery/extern/vanetza/build/tools/proxy_fake_feed /home/dellpc/artery/extern/vanetza/build/tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/DependInfo.cmake --color=
make[2] : on quitte le répertoire « /home/dellpc/artery/extern/vanetza/build »
make -f tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/build.make tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/build
make[2] : on entre dans le répertoire « /home/dellpc/artery/extern/vanetza/build »
[100%] Linking CXX executable ../../bin/proxy_fake_feed
cd /home/dellpc/artery/extern/vanetza/build/tools/proxy_fake_feed && /usr/bin/cmake -E cmake_link_script CMakeFiles/proxy_fake_feed.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG -pthread -rdynamic CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o -o ../../bin/proxy_fake_feed -Wl,-rpath,/home/dellpc/artery/extern/vanetza/build/lib /usr/local/lib/libboost_system.so.1.70.0 ../../lib/libvanetza_net.so ../../lib/libvanetza_common.so /usr/local/lib/libboost_date_time.so.1.70.0 -pthread
CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::asio::detail::scheduler::shutdown() » :
fake_feed.cpp:(.text._ZN5boost4asio6detail9scheduler8shutdownEv[_ZN5boost4asio6detail9scheduler8shutdownEv]+0x73) : référence indéfinie vers « boost::system::system_category() »
CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::system::error_category::std_category::equivalent(std::error_code const&, int) const » :
fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0x40) : référence indéfinie vers « boost::system::generic_category() »
fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xb9) : référence indéfinie vers « boost::system::generic_category() »
fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0x111) : référence indéfinie vers « boost::system::generic_category() »
CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::asio::detail::object_pool
Boost.System is linked correctly to proxy_fake_feed
as line
[100%] Linking CXX executable ../../bin/proxy_fake_feed cd /home/dellpc/artery/extern/vanetza/build/tools/proxy_fake_feed && /usr/bin/cmake -E cmake_link_script CMakeFiles/proxy_fake_feed.dir/link.txt --verbose=1 /usr/bin/c++ -O3 -DNDEBUG -pthread -rdynamic CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o -o ../../bin/proxy_fake_feed -Wl,-rpath,/home/dellpc/artery/extern/vanetza/build/lib /usr/local/lib/libboost_system.so.1.70.0 ../../lib/libvanetza_net.so ../../lib/libvanetza_common.s /usr/local/lib/libboost_date_time.so.1.70.0 -pthread
shows. Have you built Boost on your own because it is located in /usr/local? Possibly Boost itself is not configured entirely correct.
Also make sure that Boost headers matching the library version installed in /usr/local/lib are used. You can check this by inspecting the CMake variable Boost_INCLUDE_DIR which should point to /usr/local/include. During compilation of source files (such as proxy_fake_feed.cpp), this include directory should be used then.
If proxy_fake_feed is the only thing failing you may also try a quick & dirty workaround: Remove the line add_subdirectory(tools/proxy_fake_feed)
from the CMakeLists.txt.
No update by issue reporter since several weeks. I consider this as solved.
Hello,
Please can you help me. I have an error in the last step when I run make
thank you
[ 0%] Built target access [ 63%] Built target asn1 [ 66%] Built target common [ 70%] Built target net [ 82%] Built target security [ 87%] Built target dcc [ 98%] Built target geonet [ 99%] Built target btp [100%] Built target facilities [100%] Built target gnss [100%] Linking CXX executable ../../bin/proxy_fake_feed CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::system::error_code::error_code() » : fake_feed.cpp:(.text._ZN5boost6system10error_codeC2Ev[_ZN5boost6system10error_codeC5Ev]+0x17) : référence indéfinie vers « boost::system::system_category() » CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const » : fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xb8) : référence indéfinie vers « boost::system::generic_category() » fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[_ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition]+0xf3) : référence indéfinie vers « boost::system::generic_category() » CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::system::error_category::std_category::equivalent(std::error_code const&, int) const » : fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xb8) : référence indéfinie vers « boost::system::generic_category() » fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0xf3) : référence indéfinie vers « boost::system::generic_category() » fake_feed.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[_ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei]+0x1d2) : référence indéfinie vers « boost::system::generic_category() » CMakeFiles/proxy_fake_feed.dir/fake_feed.cpp.o : Dans la fonction « boost::asio::error::get_system_category() » : fake_feed.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5) : référence indéfinie vers « boost::system::system_category() » collect2: error: ld returned 1 exit status tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/build.make:98: recipe for target 'bin/proxy_fake_feed' failed make[2]: [bin/proxy_fake_feed] Error 1 CMakeFiles/Makefile2:672: recipe for target 'tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/all' failed make[1]: [tools/proxy_fake_feed/CMakeFiles/proxy_fake_feed.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2