[Bug libstdc++/54482] failures in static linking with libstdc++, due to versioned symbols

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 21 13:35:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54482

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |4.7.3
      Known to fail|                            |4.7.2

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Simon Baldwin from comment #0)
> $ configure --disable-bootstrap --enable-languages=c,c++
> --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu
> --target=x86_64-unknown-linux-gnu
> $ make..., make install...
> g++ -shared -fPIC -static-libstdc++ -Wl,-whole-archive -o /dev/null
> /tmp/hello-world.cc
> /usr/bin/ld:
> /usr/local/google/home/simonb/install_clean/bin/../lib/gcc/x86_64-unknown-
> linux-gnu/4.8.0/../../../../lib64/libstdc++.a(compatibility.o): relocation
> R_X86_64_32 against `_ZTIN10__cxxabiv115__forced_unwindE' can not be used
> when making a shared object; recompile with -fPIC

This error no longer happens with 4.7.3 due to Benjamin's fix

> $ configure --with-pic=yes --disable-bootstrap --enable-languages=c,c++
> --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu
> --target=x86_64-unknown-linux-gnu
> $ make..., make install...
> $ ../install/bin/g++ -shared -fPIC -static-libstdc++ -Wl,-whole-archive -o
> /dev/null /tmp/hello-world.cc
> /usr/bin/ld: /dev/null: version node not found for symbol
> _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4

--with-pic is no longer necessary, but if you do use it this error doesn't
happen with 4.7.3

So I'm marking this fixed.



More information about the Gcc-bugs mailing list