building from source with libc++

classic Classic list List threaded Threaded
54 messages Options
123
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

building from source with libc++

db
I use 10.8 (don't need/don't want to upgrade) and stumbled upon a couple of ports that require libc++.

So I gave building from source a try in a vm following these instructions and soon encountered a couple of problems with python2_select (needed base updated) and xorg-libX11 (attached config.log), which is working fine in another system with same versions.

Are there any caveats when always buildling from source in MP?

Should I file a ticket for xorg-libX11?



config.log (52K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Rainer Müller-4
On 2017-03-24 14:42, db wrote:

> I use 10.8 (don't need/don't want to upgrade) and stumbled upon a couple
> of ports that require libc++.
>
> So I gave building from source a try in a vm following these
> instructions <https://trac.macports.org/wiki/LibcxxOnOlderSystems> and
> soon encountered a couple of problems with python2_select (needed base
> updated) and xorg-libX11 (attached config.log), which is working fine in
> another system with same versions.
>
> Are there any caveats when always buildling from source in MP?
>
> Should I file a ticket for xorg-libX11?

A similar ticket had been filed before:

https://trac.macports.org/ticket/52335

Rainer
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 24 Mar 2017, at 16:00, Rainer Müller <[hidden email]> wrote:
> A similar ticket had been filed before:
> https://trac.macports.org/ticket/52335

I don't see how that explains that 1.6.4_0 in one system is the binary from MP, but this same version fails to compile in another identical system. OS X 10.8.5, Xcode 5.1.1.

And neither does it help me to decide if it'd be better not to switch to compile from source and break other ports down the line.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Ryan Schmidt-24
In reply to this post by db

On Mar 24, 2017, at 08:42, db wrote:

> I use 10.8 (don't need/don't want to upgrade) and stumbled upon a couple of ports that require libc++.

Upgrading to a version of macOS with libc++ as default (10.9 and later) will probably make your MacPorts life easier, but it's up to you of course.

> So I gave building from source a try in a vm following these instructions and soon encountered a couple of problems with python2_select (needed base updated)

What do you mean?

> and xorg-libX11 (attached config.log), which is working fine in another system with same versions.

Another 10.8 system that you've also switched to libc++? Any differences between the two systems you can think of?

> Are there any caveats when always buildling from source in MP?

Not really. You could run into build problems. If you do, and it doesn't seem to be because of something unique to your system, please let us know.

> Should I file a ticket for xorg-libX11?

Sure. The error shown in the config.log seems to be:

configure:18768: checking for cpp
configure:18799: result: /usr/bin/cpp
configure:18815: checking if /usr/bin/cpp requires -undef
configure:18835: error: /usr/bin/cpp defines unix with or without -undef.  I don't know what to do.

That seems weird.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Ryan Schmidt-24
In reply to this post by db

> On Mar 24, 2017, at 10:12, db <[hidden email]> wrote:
>
> On 24 Mar 2017, at 16:00, Rainer Müller <[hidden email]> wrote:
>> A similar ticket had been filed before:
>> https://trac.macports.org/ticket/52335
>
> I don't see how that explains that 1.6.4_0 in one system is the binary from MP, but this same version fails to compile in another identical system. OS X 10.8.5, Xcode 5.1.1.
>
> And neither does it help me to decide if it'd be better not to switch to compile from source and break other ports down the line.

I agree that ticket describes the error you encountered. It was closed because nobody could explain it and the problem went away for the reporter. You could re-open it and add your new information to it.

db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 24 Mar 2017, at 19:23, Ryan Schmidt <[hidden email]> wrote:
> I agree that ticket describes the error you encountered. It was closed because nobody could explain it and the problem went away for the reporter. You could re-open it and add your new information to it.

Re-open #52335 while it's for different OS and Xcode versions?

Fwiw, I could try building xorg-libX11 from source but with libstdc++, first.
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
In reply to this post by Ryan Schmidt-24
On 24 Mar 2017, at 19:21, Ryan Schmidt <[hidden email]> wrote:
> Upgrading to a version of macOS with libc++ as default (10.9 and later) will probably make your MacPorts life easier, but it's up to you of course.

Despite the overall lower quality and usability of 10.9+, I don't see how, since MP in 10.8 can be configured to use libc++.

>> problems with python2_select (needed base updated)
> What do you mean?

I don't remember the exact error, but it failed to compile — it succeeded when I upgraded the base from 2.3.x to 2.4.1.

>> and xorg-libX11 (attached config.log), which is working fine in another system with same versions.
> Another 10.8 system that you've also switched to libc++? Any differences between the two systems you can think of?

OS X 10.8.5, Xcode 5.1.1, MP 2.4.1 — no differences that come to mind.

> Not really. You could run into build problems. If you do, and it doesn't seem to be because of something unique to your system, please let us know.

Should I expect to encounter problems when switching to building from source with libc++ for the same ports whose binaries work fine with libstdc++?

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Ryan Schmidt-24

On Mar 24, 2017, at 14:48, db <[hidden email]> wrote:

> On 24 Mar 2017, at 19:23, Ryan Schmidt <[hidden email]> wrote:
>> I agree that ticket describes the error you encountered. It was closed because nobody could explain it and the problem went away for the reporter. You could re-open it and add your new information to it.
>
> Re-open #52335 while it's for different OS and Xcode versions?

Or file a new ticket, making reference to the old one. It's the same error message, so it may well be the same cause. Or it may not. I don't know.

> Fwiw, I could try building xorg-libX11 from source but with libstdc++, first.

There are two possibilities. 1. xorg-libX11 doesn't build when built for a non-default c++ stdlib. If you think this is the problem, then file a ticket. 2. There is a problem on your computer that prevents xorg-libX11 from building in any situation. If you believe that is the case, then try to build it with libstdc++. (We already know it builds fine with libstdc++ on 10.8 on our automated build system.)


> On Mar 24, 2017, at 14:50, db <[hidden email]> wrote:
>
> On 24 Mar 2017, at 19:21, Ryan Schmidt <[hidden email]> wrote:
>> Upgrading to a version of macOS with libc++ as default (10.9 and later) will probably make your MacPorts life easier, but it's up to you of course.
>
> Despite the overall lower quality and usability of 10.9+, I don't see how, since MP in 10.8 can be configured to use libc++.

I can't speak to the lower quality and usability that you perceive. I can only tell you that build systems are finicky things, many of them are nonstandard, and there are probably many of our ports that do not properly pass the c++ stdlib flags to the build system, which will lead to problems most port developers have not encountered, so you may be encountering them and having to help test and resolve them.


>>> problems with python2_select (needed base updated)
>> What do you mean?
>
> I don't remember the exact error, but it failed to compile — it succeeded when I upgraded the base from 2.3.x to 2.4.1.

Ok, probably the "-q" flag we added to reinplace in 2.4.0. We never support old versions of MacPorts. Always use the current version.


>>> and xorg-libX11 (attached config.log), which is working fine in another system with same versions.
>> Another 10.8 system that you've also switched to libc++? Any differences between the two systems you can think of?
>
> OS X 10.8.5, Xcode 5.1.1, MP 2.4.1 — no differences that come to mind.

If the other 10.8 system also was switched to libc++ then I would believe there is a problem with this system that does not exist on your other 10.8 system. The problem could be an older version of Xcode, or mismatched or missing version of the command line tools.


>> Not really. You could run into build problems. If you do, and it doesn't seem to be because of something unique to your system, please let us know.
>
> Should I expect to encounter problems when switching to building from source with libc++ for the same ports whose binaries work fine with libstdc++?

Certainly; libc++ on 10.8 is a nonstandard configuration that most MacPorts developers have never tested; as such, you're bound to run into as-yet-undiscovered problems that will need to be diagnosed and fixed by someone.

In addition, you can run into the conflicts anyone could run into when building from source that can arise when building software on non-pristine systems. (Our binaries are produced on our buildbot system which is "pristine" because it has no third-party software installed and no MacPorts ports active when each port is built, ensuring there can be no conflicts.)

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Jeremy Sequoia
libX11 has no C++ code, so the error probably has nothing to do with the C++ library chosen.

Please do open a ticket with whatever relevant data you can provide.

> On Mar 24, 2017, at 14:24, Ryan Schmidt <[hidden email]> wrote:
>
>
> On Mar 24, 2017, at 14:48, db <[hidden email]> wrote:
>
>> On 24 Mar 2017, at 19:23, Ryan Schmidt <[hidden email]> wrote:
>>> I agree that ticket describes the error you encountered. It was closed because nobody could explain it and the problem went away for the reporter. You could re-open it and add your new information to it.
>>
>> Re-open #52335 while it's for different OS and Xcode versions?
>
> Or file a new ticket, making reference to the old one. It's the same error message, so it may well be the same cause. Or it may not. I don't know.
>
>> Fwiw, I could try building xorg-libX11 from source but with libstdc++, first.
>
> There are two possibilities. 1. xorg-libX11 doesn't build when built for a non-default c++ stdlib. If you think this is the problem, then file a ticket. 2. There is a problem on your computer that prevents xorg-libX11 from building in any situation. If you believe that is the case, then try to build it with libstdc++. (We already know it builds fine with libstdc++ on 10.8 on our automated build system.)
>
>
>> On Mar 24, 2017, at 14:50, db <[hidden email]> wrote:
>>
>> On 24 Mar 2017, at 19:21, Ryan Schmidt <[hidden email]> wrote:
>>> Upgrading to a version of macOS with libc++ as default (10.9 and later) will probably make your MacPorts life easier, but it's up to you of course.
>>
>> Despite the overall lower quality and usability of 10.9+, I don't see how, since MP in 10.8 can be configured to use libc++.
>
> I can't speak to the lower quality and usability that you perceive. I can only tell you that build systems are finicky things, many of them are nonstandard, and there are probably many of our ports that do not properly pass the c++ stdlib flags to the build system, which will lead to problems most port developers have not encountered, so you may be encountering them and having to help test and resolve them.
>
>
>>>> problems with python2_select (needed base updated)
>>> What do you mean?
>>
>> I don't remember the exact error, but it failed to compile — it succeeded when I upgraded the base from 2.3.x to 2.4.1.
>
> Ok, probably the "-q" flag we added to reinplace in 2.4.0. We never support old versions of MacPorts. Always use the current version.
>
>
>>>> and xorg-libX11 (attached config.log), which is working fine in another system with same versions.
>>> Another 10.8 system that you've also switched to libc++? Any differences between the two systems you can think of?
>>
>> OS X 10.8.5, Xcode 5.1.1, MP 2.4.1 — no differences that come to mind.
>
> If the other 10.8 system also was switched to libc++ then I would believe there is a problem with this system that does not exist on your other 10.8 system. The problem could be an older version of Xcode, or mismatched or missing version of the command line tools.
>
>
>>> Not really. You could run into build problems. If you do, and it doesn't seem to be because of something unique to your system, please let us know.
>>
>> Should I expect to encounter problems when switching to building from source with libc++ for the same ports whose binaries work fine with libstdc++?
>
> Certainly; libc++ on 10.8 is a nonstandard configuration that most MacPorts developers have never tested; as such, you're bound to run into as-yet-undiscovered problems that will need to be diagnosed and fixed by someone.
>
> In addition, you can run into the conflicts anyone could run into when building from source that can arise when building software on non-pristine systems. (Our binaries are produced on our buildbot system which is "pristine" because it has no third-party software installed and no MacPorts ports active when each port is built, ensuring there can be no conflicts.)
>


smime.p7s (5K) Download Attachment
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
I opened #53866, but forgot the version in the subject, @1.6.4, and the exact version of ML, which is 10.8.5 — if you can amend it for me.

On 27 Mar 2017, at 05:49, Jeremy Huddleston Sequoia <[hidden email]> wrote:

> libX11 has no C++ code, so the error probably has nothing to do with the C++ library chosen.
>
> Please do open a ticket with whatever relevant data you can provide.
>
>> On Mar 24, 2017, at 14:24, Ryan Schmidt <[hidden email]> wrote:
>>
>>
>> On Mar 24, 2017, at 14:48, db <[hidden email]> wrote:
>>
>>> On 24 Mar 2017, at 19:23, Ryan Schmidt <[hidden email]> wrote:
>>>> I agree that ticket describes the error you encountered. It was closed because nobody could explain it and the problem went away for the reporter. You could re-open it and add your new information to it.
>>>
>>> Re-open #52335 while it's for different OS and Xcode versions?
>>
>> Or file a new ticket, making reference to the old one. It's the same error message, so it may well be the same cause. Or it may not. I don't know.
>>
>>> Fwiw, I could try building xorg-libX11 from source but with libstdc++, first.
>>
>> There are two possibilities. 1. xorg-libX11 doesn't build when built for a non-default c++ stdlib. If you think this is the problem, then file a ticket. 2. There is a problem on your computer that prevents xorg-libX11 from building in any situation. If you believe that is the case, then try to build it with libstdc++. (We already know it builds fine with libstdc++ on 10.8 on our automated build system.)
>>
>>
>>> On Mar 24, 2017, at 14:50, db <[hidden email]> wrote:
>>>
>>> On 24 Mar 2017, at 19:21, Ryan Schmidt <[hidden email]> wrote:
>>>> Upgrading to a version of macOS with libc++ as default (10.9 and later) will probably make your MacPorts life easier, but it's up to you of course.
>>>
>>> Despite the overall lower quality and usability of 10.9+, I don't see how, since MP in 10.8 can be configured to use libc++.
>>
>> I can't speak to the lower quality and usability that you perceive. I can only tell you that build systems are finicky things, many of them are nonstandard, and there are probably many of our ports that do not properly pass the c++ stdlib flags to the build system, which will lead to problems most port developers have not encountered, so you may be encountering them and having to help test and resolve them.
>>
>>
>>>>> problems with python2_select (needed base updated)
>>>> What do you mean?
>>>
>>> I don't remember the exact error, but it failed to compile — it succeeded when I upgraded the base from 2.3.x to 2.4.1.
>>
>> Ok, probably the "-q" flag we added to reinplace in 2.4.0. We never support old versions of MacPorts. Always use the current version.
>>
>>
>>>>> and xorg-libX11 (attached config.log), which is working fine in another system with same versions.
>>>> Another 10.8 system that you've also switched to libc++? Any differences between the two systems you can think of?
>>>
>>> OS X 10.8.5, Xcode 5.1.1, MP 2.4.1 — no differences that come to mind.
>>
>> If the other 10.8 system also was switched to libc++ then I would believe there is a problem with this system that does not exist on your other 10.8 system. The problem could be an older version of Xcode, or mismatched or missing version of the command line tools.
>>
>>
>>>> Not really. You could run into build problems. If you do, and it doesn't seem to be because of something unique to your system, please let us know.
>>>
>>> Should I expect to encounter problems when switching to building from source with libc++ for the same ports whose binaries work fine with libstdc++?
>>
>> Certainly; libc++ on 10.8 is a nonstandard configuration that most MacPorts developers have never tested; as such, you're bound to run into as-yet-undiscovered problems that will need to be diagnosed and fixed by someone.
>>
>> In addition, you can run into the conflicts anyone could run into when building from source that can arise when building software on non-pristine systems. (Our binaries are produced on our buildbot system which is "pristine" because it has no third-party software installed and no MacPorts ports active when each port is built, ensuring there can be no conflicts.)
>>
>

db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
In reply to this post by Ryan Schmidt-24
On 24 Mar 2017, at 22:24, Ryan Schmidt <[hidden email]> wrote:
>> Should I expect to encounter problems when switching to building from source with libc++ for the same ports whose binaries work fine with libstdc++?
>
> Certainly; libc++ on 10.8 is a nonstandard configuration that most MacPorts developers have never tested; as such, you're bound to run into as-yet-undiscovered problems that will need to be diagnosed and fixed by someone.
>
> In addition, you can run into the conflicts anyone could run into when building from source that can arise when building software on non-pristine systems. (Our binaries are produced on our buildbot system which is "pristine" because it has no third-party software installed and no MacPorts ports active when each port is built, ensuring there can be no conflicts.)

Does the buildbot system have a machine with ≤10.8.5 building from source using libc++ as PoC of https://trac.macports.org/wiki/LibcxxOnOlderSystems ?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Mojca Miklavec-2
On 27 March 2017 at 10:48, db wrote:
>
> Does the buildbot system have a machine with ≤10.8.5 building from source using libc++ as PoC of https://trac.macports.org/wiki/LibcxxOnOlderSystems ?

All the disabled builders without "legacy" in their name:
    https://build.macports.org/waterfall

Dealbreaker:
    https://trac.macports.org/ticket/50448

Mojca
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 27 Mar 2017, at 11:12, Mojca Miklavec <[hidden email]> wrote:
> Dealbreaker:
>    https://trac.macports.org/ticket/50448

Thanks for pointing that out. I skimmed through it.

What's the actual state re libc++ binaries for <10.9?

Is dropping support for <10.9 something MP team is considering?

As a 10.8-user, MP is for me one motive to still use Apple's platform, or at least, delay moving completely to Linux.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Rainer Müller-4
On 2017-03-28 11:00, db wrote:
> On 27 Mar 2017, at 11:12, Mojca Miklavec <[hidden email]> wrote:
>> Dealbreaker:
>>    https://trac.macports.org/ticket/50448
>
> Thanks for pointing that out. I skimmed through it.
>
> What's the actual state re libc++ binaries for <10.9?

The support in base is missing to differentiate between binary archives
with a different cxx_stdlib. That is required to provide an upgrade path
for existing installations.

> Is dropping support for <10.9 something MP team is considering?

Any version of macOS older than 10.9 Mavericks is considered legacy
already. This means we do not expect maintainers to actively look into
fixing issues, but submitted patches should be accepted and applied as
long as they do not break functionality for later versions.

> As a 10.8-user, MP is for me one motive to still use Apple's platform, or at least, delay moving completely to Linux.

I have personally no interest in supporting legacy systems.
However, I am willing to give guidance and review patches for that.

Rainer
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 28 Mar 2017, at 13:15, Rainer Müller <[hidden email]> wrote:
> The support in base is missing to differentiate between binary archives
> with a different cxx_stdlib. That is required to provide an upgrade path
> for existing installations.

May I assume that that won't happen in the foreseeable future and start building from source with libc++?

> Any version of macOS older than 10.9 Mavericks is considered legacy
> already. This means we do not expect maintainers to actively look into
> fixing issues, but submitted patches should be accepted and applied as
> long as they do not break functionality for later versions.

Is there any MP official notice of support? I see builders as far back as 10.5-ppc, which I find great, although I don't use it, and probably a fair amount of laudable work.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Daniel J. Luke
On Mar 28, 2017, at 9:55 AM, db <[hidden email]> wrote:
> Is there any MP official notice of support?

It's right there on https://www.macports.org

"We provide a single software tree that attempts to track the latest release of every software title (port) we distribute, without splitting them into “stable” Vs. “unstable” branches, targeting mainly OS X Mavericks v10.9 and later (including macOS Sierra v10.12)."

--
Daniel J. Luke



db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 28 Mar 2017, at 17:31, "Daniel J. Luke" <[hidden email]> wrote:
> On Mar 28, 2017, at 9:55 AM, db <[hidden email]> wrote:
>> Is there any MP official notice of support?
> It's right there on https://www.macports.org

That is not. And one thing is targeting mainly systems still supported by Apple, another going along with it and dropping support for legacy versions and yet another building for the most compatibility, like some out there intend. These nuances are not in the link you provided.
db
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

db
On 28 Mar 2017, at 17:42, db <[hidden email]> wrote:
> On 28 Mar 2017, at 17:31, "Daniel J. Luke" <[hidden email]> wrote:
>> On Mar 28, 2017, at 9:55 AM, db <[hidden email]> wrote:
>>> Is there any MP official notice of support?
>> It's right there on https://www.macports.org
>
> That is not. And one thing is targeting mainly systems still supported by Apple, another going along with it and dropping support for legacy versions and yet another building for the most compatibility, like some out there intend. These nuances are not in the link you provided.

Could someone from MP team shed some light on this, please?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Kenneth F. Cunningham
Hi

I am not (presently at least) on the macports team, but I have been building all software from source with libc++ for over a year now on 10.6.8 with outstanding success. I works extremely well for me.

I also have 6 PPC machines running 10.4 and 10.5 using gcc4.2 to gcc6 that have extensive numbers of ports running successfully.

Not everything works --- the only limitation seems to be when software is written against features that only exist in new MacSDKs.

I'd be happy to help you out with any issues you might have.

Email me directly if you want to, or ask here.

Best, K

> On Apr 1, 2017, at 7:35 AM, db <[hidden email]> wrote:
>
>> On 28 Mar 2017, at 17:42, db <[hidden email]> wrote:
>>> On 28 Mar 2017, at 17:31, "Daniel J. Luke" <[hidden email]> wrote:
>>>> On Mar 28, 2017, at 9:55 AM, db <[hidden email]> wrote:
>>>> Is there any MP official notice of support?
>>> It's right there on https://www.macports.org
>>
>> That is not. And one thing is targeting mainly systems still supported by Apple, another going along with it and dropping support for legacy versions and yet another building for the most compatibility, like some out there intend. These nuances are not in the link you provided.
>
> Could someone from MP team shed some light on this, please?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: building from source with libc++

Eneko Gotzon Ares

On Sat, Apr 1, 2017 at 5:24 PM, Ken Cunningham <[hidden email]> wrote:
Email me directly if you want to, or ask here.

If there is no objection, please, maintain this conversation in this list because I also have a PPC computer. ​Thank you.

--
Eneko Gotzon Ares
[hidden email]

123
Loading...