[OpenIndiana-discuss] undefined symbol __gnu_cxx::__pool<true>::_M_reserve_block(unsigned int, unsigned int)

James Carlson carlsonj at workingcode.com
Fri Nov 1 18:37:08 UTC 2013


On 11/01/13 13:46, Tim Mooney wrote:
> In regard to: Re: [OpenIndiana-discuss] undefined symbol
> __gnu_cxx::__pool<...:
> 
>>> 1) You're trying to create a shared library and some of your object
>>> files
>>>     didn't get compiled with the PIC flag (is it still -fpic for gcc?  I
>>>     typically use Sun Studio, which uses a different flag)
>>
>> I never use Sun Studio since one cannot compile anything with it.
> 
> I've compiled hundreds of opensource packages using Studio.  I don't
> build a lot of C++ software, though, for various reasons.

Indeed.  For what it's worth, my employer has a huge (several million
line) portable C++ application.  On Linux, we use g++.  On AIX and the
mainframe, xlC.  On Windows, MSC.  On HP/UX, aCC.  And on Solaris, it's
Sun Studio.  We have to do it this way, because our commercial customers
expect to write dynamically loadable extensions, and they are almost
always constrained by internal rules to use only the vendor-supplied
tools.  We couldn't make them use g++ on Solaris if we tried.

Sun Studio works well, and (still!) produces tighter object code than g++.

I think that "cannot compile anything" might be a slight exaggeration
born of understandable frustration.  It's tough to be a consumer of
source code with portability issues.

> Ok, well, be sure to let the list know what the problem was when you
> figure it out.

Since the same problem with those gcc internal libraries happens on
Linux and other platforms as well, a blog posting about it or similarly
wide dissemination of the answer (once found) would be great.  There are
undoubtedly a lot of people stuck in the same situation, and it's
unlikely they're reading this mailing list.

-- 
James Carlson         42.703N 71.076W         <carlsonj at workingcode.com>



More information about the OpenIndiana-discuss mailing list