
Daniel Jahre wrote:
Hello,
I tried to compile boost with gcc 3.4.x and 4.0.2 on Linux. With the latter I finally managed to build boost but let's come to this later.
I tried gcc 3.4.2 and 3.4.4 both producing the following errors: `.L17959' referenced in section `.rodata' of bin/boost/libs/regex/build/libboost_regex.so/gcc/release/shared-linkable-true/ instances.o: defined in discarded section `.gnu.linkonce.t._ZN5boost9re_detail12perl_matcherIN9__gnu_cxx17__normal_iterator IPKcSsEESaINS_9sub_matchIS6_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE15match_startmarkEv' of bin/boost/libs/regex/ build/libboost_regex.so/gcc/release/shared-linkable-true/instances.o ... see the complete logfile at http://lospalmos.net/boost-logs/boost-gcc-3.4.4.log This happens with different versions of binutils.
This surprises me. Boost was tested against gcc 3.4.4 and gcc 3.4.5 before the release. Even though you wrote you used different versions of binutils I still suspect the problem could be the ld version. gcc 3.4.4 and gcc 3.4.5 work fine for me (using ld 2.15 on Debian and ld 2.16.1 on Gentoo) (gcc 3.4.5 was used with both versions of ld). It also doesn't matter whether I build Boost on a 32 bit system or on a 64 bit system. I seem to recall from other discussions that similar errors went away once people switched to a different version of binutils.
With gcc4 these linker errors vanished, but I figured out that there are hardcoded depencies on libicu even when the build system claims that it has switched ICU off.
That one surprises me even more. Boost was tested in ICU-less environments without the problems you report here. Regards, m Send instant messages to your online friends http://au.messenger.yahoo.com