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 : 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
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
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!