Fix for typelib build

Got this error on master:

Linking CXX shared module typelib_ruby.so
Linking CXX executable typelib_testsuite
[ 78%] Built target typelib_ruby
/usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference to
'boost::filesystem::detail::symlink_status_api(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
boost::system::error_code&)'
/usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference to
'boost::filesystem::detail::remove_api(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
collect2: ld returned 1 exit status
make[2]: *** [test/typelib_testsuite] Error 1
make[1]: *** [test/CMakeFiles/typelib_testsuite.dir/all] Error 2
make: *** [all] Error 2

Patch in attachment fixes this. Please review/apply asap.

Peter

AttachmentSize
0001-cmake-also-link-with-boost-filesystem-library.patch1.58 KB

Fix for typelib build

On 12/07/2010 05:42 PM, Peter Soetens wrote:
> Got this error on master:
>
> Linking CXX shared module typelib_ruby.so
> Linking CXX executable typelib_testsuite
> [ 78%] Built target typelib_ruby
> /usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference to
> 'boost::filesystem::detail::symlink_status_api(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> boost::system::error_code&)'
> /usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference to
> 'boost::filesystem::detail::remove_api(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> collect2: ld returned 1 exit status
> make[2]: *** [test/typelib_testsuite] Error 1
> make[1]: *** [test/CMakeFiles/typelib_testsuite.dir/all] Error 2
> make: *** [all] Error 2
>
> Patch in attachment fixes this. Please review/apply asap.
Done. Pushed another very small fix at the same time.

For my information, which version of boost broke ?

Fix for typelib build

On Tuesday 07 December 2010 18:03:52 Sylvain Joyeux wrote:
> On 12/07/2010 05:42 PM, Peter Soetens wrote:
> > Got this error on master:
> >
> > Linking CXX shared module typelib_ruby.so
> > Linking CXX executable typelib_testsuite
> > [ 78%] Built target typelib_ruby
> > /usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference
> > to
> > 'boost::filesystem::detail::symlink_status_api(std::basic_string<char,
> > std::char_traits<char>, std::allocator<char> > const&,
> > boost::system::error_code&)'
> > /usr/bin/ld: ../lang/cimport/libtypeLang_c.so: error: undefined reference
> > to 'boost::filesystem::detail::remove_api(std::basic_string<char,
> > std::char_traits<char>, std::allocator<char> > const&)'
> > collect2: ld returned 1 exit status
> > make[2]: *** [test/typelib_testsuite] Error 1
> > make[1]: *** [test/CMakeFiles/typelib_testsuite.dir/all] Error 2
> > make: *** [all] Error 2
> >
> > Patch in attachment fixes this. Please review/apply asap.
>
> Done. Pushed another very small fix at the same time.

Thanks.

>
> For my information, which version of boost broke ?

ii libboost-filesystem-dev 1.40.0.1

You generally can't trust boost.filesystem to be headers-only.

Peter