<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#333333" bgcolor="#FFFFFF">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">On 6/1/18 0:36 , Joshua Root wrote:<br>
</div>
<blockquote
cite="mid:7ab6a22d-833a-067a-da00-d39d8bea381d@macports.org"
type="cite">
<pre wrap="">On 2018-6-1 07:24 , iEFdev wrote:
</pre>
<blockquote type="cite">
<pre wrap="">
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.
</pre>
<blockquote type="cite">
<pre wrap="">Please open tickets or better yet PRs for affected ports.
- Josh
</pre>
</blockquote>
<pre wrap="">
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):
<a class="moz-txt-link-freetext" href="https://lists.macports.org/pipermail/macports-dev/2015-April/030230.html">https://lists.macports.org/pipermail/macports-dev/2015-April/030230.html</a>
So perhaps something like:
if {[string equal ${configure.cxx_stdlib} "libc++"]} {
configure.cxx_stdlib libstdc++
}
Would that be a better approach?
</pre>
</blockquote>
<pre wrap="">
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
</pre>
</blockquote>
Aah, ok… So, for flac it need its own.<br>
<br>
I made a test using: “configure.cxx_stdlib libFLAC++” instead, and
that was working as well. <br>
<br>
But, since you wrote:<br>
<blockquote type="cite">
<pre wrap="">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.</pre>
</blockquote>
And the debug said: “flac is using libstdc++ (this installation is
configured to use libc++)” - I thought it suppose to be the first
one.<br>
<br>
When unistalling flac &/or doing a rev-upgrade, it says it'll
breake:<br>
<pre><pre>---> Unable to uninstall flac @1.3.2_0, the following ports depend on it:
---> libsndfile @1.0.28_0
---> sox @14.4.2_1</pre></pre>
So, I guess that's 2 ones that is using it. rev-upgrade says there
are no broken ports.<br>
<br>
- - -<br>
<br>
The ports: wxWidgets, pgAdmin3, gptfdisk, flac<br>
<br>
Should I create some tickets? or PRs/patches adding
“configure.cxx_stdlib libstdc++” (except flac) for those?<br>
// ...or should it be “configure.cxx_stdlib
<meta http-equiv="content-type" content="text/html; charset=utf-8">
${configure.cxx_stdlib}” to get what ever is set.<br>
<br>
· Eric<br>
</body>
</html>