multiple ports with stdlibc++ mismatches (all on 10.13)...
Joshua Root
jmr at macports.org
Fri Jun 1 00:53:39 UTC 2018
On 2018-6-1 09:49 , iEFdev wrote:
>
> Aah, ok… So, for flac it need its own.
>
> I made a test using: “configure.cxx_stdlib libFLAC++” instead, and that
> was working as well.
Sorry if I wasn't clear: libFLAC++ is a library provided by the flac
port. It is linked to the C++ stdlib. Programs that use libFLAC++ need
to use the same stdlib that libFLAC++ does. The way to ensure that is to
make sure libFLAC++ is built against the stdlib that has been selected
for the MacPorts installation as a whole (whether that's libstdc++ or
libc++).
The bottom line is that changing configure.cxx_stdlib in the flac port
is not a solution. It needs to be fixed to build against the cxx_stdlib
that is selected.
> But, since you wrote:
>> These need to be fixed by either making them link with the selected stdlib (preferred), or changing configure.cxx_stdlib to match what they are actually using.
> And the debug said: “flac is using libstdc++ (this installation is
> configured to use libc++)” - I thought it suppose to be the first one.
Yes, flac was using libstdc++ even though it had been told to use
libc++. That needs to be fixed.
> When unistalling flac &/or doing a rev-upgrade, it says it'll breake:
>
> ---> Unable to uninstall flac @1.3.2_0, the following ports depend on it:
> ---> libsndfile @1.0.28_0
> ---> sox @14.4.2_1
>
> So, I guess that's 2 ones that is using it. rev-upgrade says there are
> no broken ports.
I don't know whether those ports are using libFLAC++ or just libFLAC.
> The ports: wxWidgets, pgAdmin3, gptfdisk, flac
>
> Should I create some tickets? or PRs/patches adding
> “configure.cxx_stdlib libstdc++” (except flac) for those?
> // ...or should it be “configure.cxx_stdlib ${configure.cxx_stdlib}” to
> get what ever is set.
For ports that don't provide or use any C++ libraries, you can get away
with changing configure.cxx_stdlib to match what they're already doing.
Those that do provide or use C++ libraries need to be fixed to use the
C++ stdlib that they are being told to use.
- Josh
More information about the macports-dev
mailing list