gcc-4.0.0 for sparc-sun-solaris2.8: Almost all good!

Benjamin Kosnik bkoz@redhat.com
Wed Apr 27 16:24:00 GMT 2005


> One library I have makes heavy use of Boost.Spirit, which is heavy on
> templates.  Strangely enough, though, when I link this static library
> against code that uses it, ld 2.15 claims that some of
> std::vector<std::string>'s member functions are not available to
> link.  It takes a very long time to conclude this, as if it is
> searching through every symbol (linearly?).  I've attached some sample
> output and more details on the compilation.
> 
> I fixed this by adding the following to the library:
> 
>   template class std::vector<std::string>;
> 
> Clearly, I shouldn't have to do that.  In my mind this could be
> libstdc++ or gcc.  Ideas?  Narrowing this down to a simple test case
> is very difficult; this is only happening in the complex case of using
> Boost.Spirit. :(

I haven't been following the Solaris build instructions for 4.0.0, but
it seems as if binutils or ld/as requirements are pretty strict. There
have been a lot of bugs about missing functions and link-time odditites.

Do you test results look something like:
http://gcc.gnu.org/ml/gcc-testresults/2005-04/msg01623.html

I would suggest you try and reproduce the Boost.Spirit issue on linux.
If you can, then it's probably not related to binutils lossage.

> Other than that, everything seems to be working fine, including wide
> character support after Benjamin's rewritten configury.

That part is only in 4.1, actually. However, it's still nice that 4.0.0 works.

;)

-benjamin



More information about the Libstdc++ mailing list