Compilation dependencies problem (again) with Boost

Dear developers,

I upgrade my ubuntu from 10.04 to 10.10 in order to change my default boost libraries from 1.40 to 1.42 (because when I try to compile the ocl or rtt sources it had an error from undefined reference of boost libraries and I was want to delete some refrene to another old boost libraries installed by manually).

the Upgrade was successfull and the default libraries are:

antonio_castellon@WS-02:/media/DATA/orocos-toolchain.2.5.0/rtt/build$ ls /usr/lib/*boost*1*
/usr/lib/libboost_date_time.so.1.42.0   /usr/lib/libboost_prg_exec_monitor.so.1.42.0  /usr/lib/libboost_system.so.1.42.0
/usr/lib/libboost_filesystem.so.1.42.0  /usr/lib/libboost_program_options.so.1.42.0   /usr/lib/libboost_thread.so.1.42.0
/usr/lib/libboost_graph.so.1.42.0       /usr/lib/libboost_regex.so.1.42.0             /usr/lib/libboost_unit_test_framework.so.1.42.0
/usr/lib/libboost_iostreams.so.1.42.0   /usr/lib/libboost_serialization.so.1.42.0     /usr/lib/libboost_wserialization.so.1.42.0
(Note that it shows the real files, not the softlink references)

But when I try to install (compile) the orocos.2.4.0 or orocos.2.5.0 it shows the next errors:

 configuring CMake build system for rtt
  building rtt (45%)Build failed
rtt: failed in build phase
    'make -j4' returned status 2
    see /media/DATA/orocos-toolchain.2.5.0/install/log/rtt-build.log for details
    last 10 lines are:
 
    CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/plugin/PluginLoader.cpp.o: In function `boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >::m_init(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)':
    /usr/local/include/boost/filesystem/operations.hpp:953: undefined reference to `boost::filesystem::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::filesystem::file_status&, boost::filesystem::file_status&)'
    CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/plugin/PluginLoader.cpp.o: In function `error_code':
    /usr/local/include/boost/system/error_code.hpp:315: undefined reference to `boost::system::get_system_category()'
    CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/plugin/PluginLoader.cpp.o: In function `boost::filesystem::basic_directory_iterator<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >::m_init(boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> const&)':
    /usr/local/include/boost/filesystem/operations.hpp:944: undefined reference to `boost::filesystem::detail::not_found_error()'
    collect2: ld returned 1 exit status
    make[2]: *** [rtt/liborocos-rtt-gnulinux.so.2.5.0] Error 1
    make[1]: *** [rtt/CMakeFiles/orocos-rtt-gnulinux_dynamic.dir/all] Error 2
    make: *** [all] Error 2

I check the reference on RTT make, but it see correctly.

 Boost_FILESYSTEM_LIBRARY         /usr/local/lib/libboost_filesystem.so                                                                                             
 Boost_FILESYSTEM_LIBRARY_DEBUG   Boost_FILESYSTEM_LIBRARY_DEBUG-NOTFOUND                                                                                           
 Boost_FILESYSTEM_LIBRARY_RELEA   /usr/local/lib/libboost_filesystem.so                                                                                             
 Boost_INCLUDE_DIR                /usr/local/include                                                                                                                
 Boost_LIBRARY_DIRS               /usr/local/lib                                                                                                                    
 Boost_SERIALIZATION_LIBRARY      /usr/local/lib/libboost_serialization.so                                                                                          
 Boost_SERIALIZATION_LIBRARY_DE   Boost_SERIALIZATION_LIBRARY_DEBUG-NOTFOUND                                                                                        
 Boost_SERIALIZATION_LIBRARY_RE   /usr/local/lib/libboost_serialization.so                                                                                          
 Boost_SYSTEM_LIBRARY             /usr/local/lib/libboost_system.so                                                                                                 
 Boost_SYSTEM_LIBRARY_DEBUG       Boost_SYSTEM_LIBRARY_DEBUG-NOTFOUND                                                                                               
 Boost_SYSTEM_LIBRARY_RELEASE     /usr/local/lib/libboost_system.so                                                                                                 
 Boost_THREAD_LIBRARY             /usr/local/lib/libboost_thread.so                                                                                                 
 Boost_THREAD_LIBRARY_DEBUG       Boost_THREAD_LIBRARY_DEBUG-NOTFOUND                                                                                               
 Boost_THREAD_LIBRARY_RELEASE     /usr/local/lib/libboost_thread.so                                                                                                 
 Boost_UNIT_TEST_FRAMEWORK_LIBR   /usr/local/lib/libboost_unit_test_framework.so                                                                                    
 Boost_UNIT_TEST_FRAMEWORK_LIBR   Boost_UNIT_TEST_FRAMEWORK_LIBRARY_DEBUG-NOTFOUND                                                                                  
 Boost_UNIT_TEST_FRAMEWORK_LIBR   /usr/local/lib/libboost_unit_test_framework.so   

It's horrible, because I try to manage a patch from Peter in order to test a new feature to deamonize scripts and I can't check it¡.

Someone knows what is happen? i'm completly lost :-(

enkulator's picture

forget my question...

Dear all,

Forget my question, it was an old error produced to install two different Boost libraries at the same workstation. the solution was simple: delete all references on /usr/local/lib in order to automatically configure the build/make to make a reference to /usr/lib (where it has a boost 1.42 version) using the ccmake command.

Sorry for my noise into the Forum.

Regards, Toni

forget my question...

Hi Antonio,

On Tue, Feb 14, 2012 at 7:36 AM, <antonio [dot] castellon [..] ...> wrote:

> Dear all,
>
> Forget my question, it was an old error produced to install two different
> Boost libraries at the same workstation. the solution was simple: delete
> all
> references on /usr/local/lib in order to automatically configure the
> build/make to make a reference to /usr/lib (where it has a boost 1.42
> version) using the ccmake command.
>
>
> Sorry for my noise into the Forum.
>

No problem ! As all good scientists know, it's noise that leads to
excitation and resonance !

Peter