multiple ports with stdlibc++ mismatches (all on 10.13)...

iEFdev eric at iefdev.se
Thu May 31 23:49:34 UTC 2018



On 6/1/18 0:36 , Joshua Root wrote:
> On 2018-6-1 07:24 , iEFdev wrote:
>> I made a quick test on flac, adding:
>>
>> # flac is using libstdc++ (this installation is configured to use libc++)
>> configure.cxx_stdlib libstdc++
>>
>> …and the rev-upgrade let it pass.
>>
>>> Please open tickets or better yet PRs for affected ports.
>>>
>>> - Josh
>> Since I'm on an older system, with libcxx set in my config files -
>> wouldn't a ticket be a better option in case this is a no-error? Perhaps
>> it should be wrapped around a check for what macos version, etc?
>>
>> When searching I saw this one (non-related):
>> https://lists.macports.org/pipermail/macports-dev/2015-April/030230.html
>>
>> So perhaps something like:
>>
>> if {[string equal ${configure.cxx_stdlib} "libc++"]} {
>>     configure.cxx_stdlib libstdc++
>> }
>>
>> Would that be a better approach?
> Unfortunately using a different stdlib than the system-wide choice is
> not an option for flac, as it provides libFLAC++ which is used by other
> things. All C++ programs need to be using the same stdlib as all the C++
> libraries they use, so effectively all C++ libraries have to use the
> system-wide stdlib (as set in macports.conf in your case, but it's
> equally true if the stdlib was auto-selected based on the platform).
>
> Programs that are written in C++ but don't use or export any C++
> libraries can get away with using a different stdlib.
>
> If you don't happen to have anything installed that uses libFLAC++, you
> of course won't see the problems resulting from a stdlib mismatch there.
>
> - Josh
>
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.

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.

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.

- - -

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.

· Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20180601/39db94f5/attachment-0001.html>


More information about the macports-dev mailing list