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

Tim Mooney Tim.Mooney at ndsu.edu
Thu Oct 31 20:43:54 UTC 2013


In regard to: Re: [OpenIndiana-discuss] undefined symbol __gnu_cxx::__pool<...:

> On 10/31/13 14:26, Apostolos Syropoulos wrote:
>> Hello, I am trying to compile Qt 4.8.5 with g++ 4.7.2 on OpenIndiana/OpenSolaris
>> Typically, I get the following error message: Text relocation remains                     referenced

Every single time I've ever seen that issue on Solaris, it has always
been because some objects were not compiled as position-independent code
(PIC).  So either

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)

2) You successfully built all your objects files as PIC, but you're trying
    to link your shared library against some external dependency that
    itself isn't all PIC.  This is commonly the case for archive libraries
    (e.g. libfoo.a), which is why it sometimes makes sense to compile even
    your archive libraries as PIC.

Your issue could certainly be something else entirely, but my experience
is that you should start by checking to make certain everything is PIC.

Tim
-- 
Tim Mooney                                             Tim.Mooney at ndsu.edu
Enterprise Computing & Infrastructure                  701-231-1076 (Voice)
Room 242-J6, IACC Building                             701-231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164



More information about the OpenIndiana-discuss mailing list