Librairies Boost introuvable lors d'un build
Bonjour à tous!
Dans le cadre de mon projet de Bachelor, je dois utiliser UHD et Gnuradio. Ceux-ci nécessites Boost pour être installés. Je travaille sur Ubuntu 10.10
J'utilise un script (http://www.sbrac.org/files/build-gnuradio) qui permet d'automatiser ces installations. A noter que si je le fais manuellement, j'obtiens les mêmes erreur.
Voici ce qu'il me met lorsque je veux faire un build de UHD :
(J'utilise Cmake et make préalablement)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [ 78%] Building CXX object lib/CMakeFiles/uhd.dir/version.cpp.o
Linking CXX shared library libuhd.so
[ 78%] Built target uhd
[ 79%] Building CXX object examples/CMakeFiles/benchmark_rate.dir/benchmark_rate.cpp.o
Linking CXX executable benchmark_rate
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::not_found_error()'
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::status_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)'
../lib/libuhd.so.003.004: undefined reference to `boost::system::system_category()'
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::dir_itr_close(void*&, void*&)'
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::get_current_path_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::dir_itr_first(void*&, void*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::filesystem2::file_status&, boost::filesystem2::file_status&)'
../lib/libuhd.so.003.004: undefined reference to `boost::system::generic_category()'
../lib/libuhd.so.003.004: undefined reference to `boost::filesystem2::detail::dir_itr_increment(void*&, void*&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::filesystem2::file_status&, boost::filesystem2::file_status&)'
collect2: ld returned 1 exit status
make[2]: *** [examples/benchmark_rate] Erreur 1
make[1]: *** [examples/CMakeFiles/benchmark_rate.dir/all] Erreur 2
make: *** [all] Erreur 2
UHD build apparently failed
Exiting UHD build |
Pourtant, Boost est installé avec version 1.44.0. Je peux le voir avec la commande ldconfig -p | grep libboost
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| work@dell:~$ ldconfig -p | grep libboost
libboost_wserialization.so.1.42.0 (libc6) => /usr/lib/libboost_wserialization.so.1.42.0
libboost_wserialization.so (libc6) => /usr/lib/libboost_wserialization.so
libboost_wave.so.1.42.0 (libc6) => /usr/lib/libboost_wave.so.1.42.0
libboost_wave.so (libc6) => /usr/lib/libboost_wave.so
libboost_unit_test_framework.so.1.42.0 (libc6) => /usr/lib/libboost_unit_test_framework.so.1.42.0
libboost_unit_test_framework.so (libc6) => /usr/lib/libboost_unit_test_framework.so
libboost_thread.so.1.44.0 (libc6) => /usr/lib/libboost_thread.so.1.44.0
libboost_thread.so.1.42.0 (libc6) => /usr/lib/libboost_thread.so.1.42.0
libboost_thread.so (libc6) => /usr/lib/libboost_thread.so
libboost_system.so.1.42.0 (libc6) => /usr/lib/libboost_system.so.1.42.0
libboost_system.so (libc6) => /usr/lib/libboost_system.so
libboost_signals.so.1.42.0 (libc6) => /usr/lib/libboost_signals.so.1.42.0
libboost_signals.so (libc6) => /usr/lib/libboost_signals.so
libboost_serialization.so.1.42.0 (libc6) => /usr/lib/libboost_serialization.so.1.42.0
libboost_serialization.so (libc6) => /usr/lib/libboost_serialization.so
libboost_regex.so.1.42.0 (libc6) => /usr/lib/libboost_regex.so.1.42.0
libboost_regex.so (libc6) => /usr/lib/libboost_regex.so
libboost_python-py26.so.1.42.0 (libc6) => /usr/lib/libboost_python-py26.so.1.42.0
libboost_python-py26.so (libc6) => /usr/lib/libboost_python-py26.so
libboost_program_options.so.1.42.0 (libc6) => /usr/lib/libboost_program_options.so.1.42.0
libboost_program_options.so (libc6) => /usr/lib/libboost_program_options.so
libboost_prg_exec_monitor.so.1.42.0 (libc6) => /usr/lib/libboost_prg_exec_monitor.so.1.42.0
libboost_prg_exec_monitor.so (libc6) => /usr/lib/libboost_prg_exec_monitor.so
libboost_math_tr1l.so.1.42.0 (libc6) => /usr/lib/libboost_math_tr1l.so.1.42.0
libboost_math_tr1l.so (libc6) => /usr/lib/libboost_math_tr1l.so
libboost_math_tr1f.so.1.42.0 (libc6) => /usr/lib/libboost_math_tr1f.so.1.42.0
libboost_math_tr1f.so (libc6) => /usr/lib/libboost_math_tr1f.so
libboost_math_tr1.so.1.42.0 (libc6) => /usr/lib/libboost_math_tr1.so.1.42.0
libboost_math_tr1.so (libc6) => /usr/lib/libboost_math_tr1.so
libboost_math_c99l.so.1.42.0 (libc6) => /usr/lib/libboost_math_c99l.so.1.42.0
libboost_math_c99l.so (libc6) => /usr/lib/libboost_math_c99l.so
libboost_math_c99f.so.1.42.0 (libc6) => /usr/lib/libboost_math_c99f.so.1.42.0
libboost_math_c99f.so (libc6) => /usr/lib/libboost_math_c99f.so
libboost_math_c99.so.1.42.0 (libc6) => /usr/lib/libboost_math_c99.so.1.42.0
libboost_math_c99.so (libc6) => /usr/lib/libboost_math_c99.so
libboost_iostreams.so.1.42.0 (libc6) => /usr/lib/libboost_iostreams.so.1.42.0
libboost_iostreams.so (libc6) => /usr/lib/libboost_iostreams.so
libboost_graph.so.1.42.0 (libc6) => /usr/lib/libboost_graph.so.1.42.0
libboost_graph.so (libc6) => /usr/lib/libboost_graph.so
libboost_filesystem.so.1.42.0 (libc6) => /usr/lib/libboost_filesystem.so.1.42.0
libboost_filesystem.so (libc6) => /usr/lib/libboost_filesystem.so
libboost_date_time.so.1.42.0 (libc6) => /usr/lib/libboost_date_time.so.1.42.0
libboost_date_time.so (libc6) => /usr/lib/libboost_date_time.so |
Ces librairies se trouvent dans le répertoire /usr/lib/. Dans le répertoire /usr/local/lib/ il n'y a rien concernant Boost.
Autrement, dans un fichier MakeFile, ils parlent de références à [nomDeLaLib]-mt.so... par exemple libboost_filesystem-mt.so et moi je n'ai pas celles-ci. Comment est-ce possible?
Merci d'avance!