tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: interoperability between boost libraries and gcc5 from pkgsrc




On Jun 24, 2016, at 2:19 PM, Joerg Sonnenberger <joerg%bec.de@localhost> wrote:

On Fri, Jun 24, 2016 at 11:15:13AM -0600, Brook Milligan wrote:
- How can I get pkgsrc to use gcc5 (or clang or any other specific
compiler) throughout so that the libraries are compatible?  If I change
anything to accomplish this, will I have to recompile all of pkgsrc?

You might want to look at USE_PKGSRC_GCC=yes. Note that GCC5+
effectively decided to screw the Itanium ABI with the introduction of
the ABI tag "feature" and that's why it is fundamentally not compatible
with older versions in the default settings…

Thanks for the pointer.  It seems that I could use some combination of USE_PKGSRC_GCC, USE_PKGSRC_GCC_RUNTIME, and GCC_REQD=5.3 or so to rebuild everything with gcc5.

In the meantime, however, your comment about the ABI tag spurred me to realize what the problem was and instead I can compile the application with the normal pkgsrc gcc5 by defining _GLIBCXX_USE_CXX11_ABI=0.  That does work, although I am still getting the following message:

/usr/bin/ld: warning: libstdc++.so.7, needed by /usr/pkg/lib/libboost_program_options.so, may conflict with libstdc++.so.6

It seems that boost, which is compiled with the native compiler, is linked against libstdc++.so.7 whereas gcc5 is linking against its own libstdc++.so.6.  Can gcc5 be made to use the native library?

Thanks for your help.

Cheers,
Brook


Home | Main Index | Thread Index | Old Index