[MacPorts] #41589: mercurial @2.8 build failure on 10.9
MacPorts
noreply at macports.org
Fri Dec 13 15:11:47 PST 2013
#41589: mercurial @2.8 build failure on 10.9
-----------------------------+---------------------
Reporter: petr.fischer@… | Owner: deric@…
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version: 2.2.1
Resolution: invalid | Keywords:
Port: mercurial |
-----------------------------+---------------------
Comment (by sean@…):
Replying to [comment:9 william@…]:
> Replying to [comment:8 ryandesign@…]:
> > Why would you set `macosx_deployment_target` to any value in MacPorts,
much less "10.4"?
>
> Because It's There™ :)
>
> More seriously: you'd set it in order to (exactly as you say) build
macports packages on 10.9 which are able to work on an older OS version. I
agree that 10.4 would be unlikely to work! 10.6 should work fine though I
think (though it remains to be seen, I'm experimenting). That's what the
MACOSX_DEPLOYMENT_TARGET is ''for'', and it does work pretty well in my
experience! Macports aside, building software on 10.9 which should run on
anything 10.6 or later is a pretty standard thing to do, surely.
Standard for projects that are distributing their own binaries, sure.
Which is what MacPorts does.
> > The only reason to change `macosx_deployment_target` is if you plan to
build software on a newer machine and then be able to run it on an older
machine, but that's not a use case MacPorts is well-designed for
>
> What is the MacPorts variable macosx_deployment_target for, then? If it
doesn't work, should it not simply be removed? I'm not asking to be
difficult, just can't see a use case for it except that. (And please don't
remove it, I'm using it, and I'm clearly not the only one … and it does in
fact appear to work well for this purpose so far, even if macports wasn't
well-designed to support it! :)
>
> > and in any case trying to build software on 10.9 and then be able to
run it on 10.4 is not likely to succeed.
>
> 10.4 no, I agree, that's unlikely to work, it's really too old and the
Apple tools don't support it as well I think. It might though (x86
architecture only, not x86-64, and certainly not ppc or ppc64 since recent
Xcodes can't target those) … but in any case 10.6 should be fine. That's
what the MACOSX_DEPLOYMENT_TARGET environment variable (and the -mmacosx-
version-min compiler flags …) are for, isn't it?
It seems there's a confusion between MacPorts and the compiler flag. The
compiler flag is useful and provided by Apple for obvious reasons: a
(stand-alone) project wants to distribute a binary that works with 10.X
SDK. Fair enough. The MacPorts variable exists to pass this value down to
the compiler. Only a handful of ports (~20) even use this variable.
So, the use case would be that you build a binary on your machine and
distribute it to others that don't have MacPorts? I guess that'd be useful
for environments that have a lot of workstations to setup or something
like that.
I think the easiest thing to do would be to implement #41783 and make sure
the environment variable is set for all phases. I honestly can't tell if
that's happening or not by reading the code in `portutil.tcl`.
> Incidentally, I think it's possible that the originator of this bug
/had/ upgraded his machine from 10.8 to 10.9, his “clean install” iin
comment 4 was only of mercurial, and this problem might appear if macports
hadn't been upgraded properly after the OS upgrade.
Yes, I agree.
--
Ticket URL: <https://trac.macports.org/ticket/41589#comment:10>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list