>
> The problem is not really about libc++; it's about mixing multiple C++
> runtimes.
Indeed.
What is happening exactly on my MacPros running 10.11, I wonder? Software
installed by macports on 10.11 is using clang++ (mostly) and g++ (sometimes).
clang++ is linking against libc++, and g++ is presumably linking against
libstdc++ as that is what it does -- yet there appear to be no visible
issues...and these libraries find each other.
Why exactly is the situation different on a LibCxxOnOlderSystems installation?
> As far as I know, you can use the C or Fortran
> compilers as much as you'd like. Several ports do this for various
> reasons.
But not easily to link c++ code against libc++. I sent the link on how to do
that previously, and may be forced to explore that. It just looks like a lot of
messing with the compiler commands on every port using g++, which seems
unpleasant -- unless I were to wrap g++ in a shell script that does it
automatically, perhaps...
<http://libcxx.llvm.org/docs/UsingLibcxx.html#using-libc-with-gcc>
> These dependencies are coming from the +gfortran variants, which
> instruct the builds to use the Fortran compiler from gcc6. This is fine
> and expected.
but won't work on LibCxxOnOlderSystems, if it links the binaries against
lilbstdc++
> What links against libstdc++, specifically?
gcc6 itself, at least. And by default at least, any c++ code gcc would compile
>
> Jeremy unfortunately cannot do much of anything about GCC. I believe
> Apple employees are not allowed to look at GPL3 code.
I wasn't thinking he'd need to read the gcc compiler code.
> I wouldn't be surprised if GCC used C++11 features. It doesn't really
> matter because it is self-hosted.
It's an alternative way to get c++11 code compiled; I was just noticing that
clang++/libc++ aren't the only option for c++11.
It would appear there are a few choices.
1. give up and accept it's an either / or situation
2. just let it go on, and see how it works with cross linking -- is this what
10.11 macports does?
3. figure out how to make this work:
<http://libcxx.llvm.org/docs/UsingLibcxx.html#using-libc-with-gcc>, possibly by
wrapping g++ in a shell script that does it for every use.
4. a parallel installation of macports with libstdc++ and gcc, to install gimp,
octave, qemu, and whatever other similar gcc-requiring ports come along.
K
_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users