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)
Pourtant, Boost est installé avec version 1.44.0. Je peux le voir avec la commande ldconfig -p | grep libboost
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Ces librairies se trouvent dans le répertoire /usr/lib/. Dans le répertoire /usr/local/lib/ il n'y a rien concernant Boost.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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!
Partager