[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