__gnu_cxx error in OpenSolaris
Marc Glisse
marc.glisse@inria.fr
Thu May 19 00:12:00 GMT 2011
On Wed, 18 May 2011, asyropoulos@aol.com wrote:
> I am trying to build the latest Qt (v. 4.7.3) with gcc but it fails and stops
> with the following error message:
>
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to `__gnu_cxx::__pool<true>::_M_initialize()'
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to `std::_List_node_base::_M_unhook()'
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to `__gnu_cxx::__pool<true>::_M_get_thread_id()'
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to `__gnu_cxx::__pool<true>::_M_reclaim_block(char*,
> unsigned int)'
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to `__gnu_cxx::__pool<true>::_M_reserve_block(unsigned
> int, unsigned int)'
> /extra/sources/qt/qt-everywhere-opensource-src-4.7.3/lib/libQtCLucene.so.
> 4: undefined reference to
> `std::_List_node_base::_M_hook(std::_List_node_base*)'
> collect2: ld returned 1 exit status
> make: *** [../../../../bin/assistant] Error 1
Try locating all files named libstdc++.*, there may be an older one being
picked up first.
> http://doc.qt.nokia.com/4.7-snapshot/platform-notes-x11.html
>
> it is advised that on Solaris one should use GNU ld/as and not the Solaris
> ld/as.
Whereas gcc recommends using Sun ld ;-)
> $ /opt/gcc-4.6.0/bin/gcc -v
> Using built-in specs.
> COLLECT_GCC=/opt/gcc-4.6.0/bin/gcc
> COLLECT_LTO_WRAPPER=/opt/gcc-4.6.0/libexec/gcc/i386-pc-solaris2.11/4.6.0/
> lto-wrapper
> Target: i386-pc-solaris2.11
> Configured with: ../gcc-4.6.0/configure --prefix=/opt/gcc-4.6.0
> --enable-shared --enable-static
> --disable-libtool-lock --target= --enable-objc-gc --disable-libada
> --enable-libssp
> --enable-languages=c,c++,fortran,go,objc,obj-c++ --enable-threads=posix
> --enable-tls=yes --with-system-zlib --without-gnu-ld
> --with-ld=/usr/ccs/bin/ld
> --with-gnu-as --with-as=/usr/sfw/bin/gas --with-gmp-lib=/usr/lib
> --with-mpfr-lib=/usr/lib
> --enable-c99 --enable-nls --enable-wchar_t --enable-libstdcxx-allocator=mt
> --with-pic --enable-multilib
Wow, that's a long line...
> $ ls -l /usr/ccs/bin/ld
> lrwxrwxrwx 1 root root 12 2010-10-02 15:41 /usr/ccs/bin/ld -> ../../bin/ld
> $ /usr/bin/ld --version
> GNU ld (GNU Binutils) 2.19
On Solaris, really? Did you overwrite the system one?
(--without-gnu-ld doesn't fit that well with using gnu ld)
--
Marc Glisse
More information about the Gcc-help
mailing list