#674 closed defect (fixed)
r21504 breaks under certain build environments on MacOSX
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | important | Component: | build system |
Version: | HEAD | Severity: | major |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
# uname -a
Darwin SciFiG5.homeip.net 8.8.0 Darwin Kernel Version 8.8.0: Fri Sep 8 17:18:57
PDT 2006; root:xnu-792.12.6.obj~1/RELEASE_PPC Power Macintosh powerpc
PowerMac7,3 Darwin
Did completely new svn co into empty subdir, now at r21507.
Unset all compiler/linker xFLAGS etc. in env.
However, even for PPC models, our build environment _requires_:
export MACOSX_DEPLOYMENT_TARGET=10.4
export SDKROOT=/Developer/SDKs/MacOSX10.4u.sdk
...among PATH and other such env-vars as is normal for testing...
Did plain empty ./configure .
After r21504, "make" will stop hard early with missing header.
Soon to be attached to this bugreport are:
"./configure" console capture listing
configure.log as produced by ./configure
"make depend" and "make all" console capture listing
The problem is with configure r21504 mucking around with isysroot in conflict
with the build environment's decision, which might be done by e.g. Fink,
MacPorts, other package-managers.
It is best to put the responsibility onto the build environment to set these
particular env-vars, as XCode itself does, and they must not conflict with the
cmd-line parms.
By applying the patch soon to be attached to this report, configure will skip
around r21504 if the env-vars are already set. Now the makes will behave as
expected.
I'd much rather have the isysroot lines be taken out completely, as this section
of code could override other env-vars that might be set by package-managers
(esp. when I get around to compiling for both ppc and ppc64 models as a "true
universal binary"). There are many ways to specify compiler parms, and most are
done via env-vars as XCode itself does, not so much as hard-coded cmd-line parms
like what r21504 is attempting to do. Even such as "make ARCH=ppc64" will get
overridden with r21504 as it is (it has "-arch ppc" hard-coded there), and
methods of cross-compiling will be made vastly more complicated, so I strongly
urge to take out these kinds of things completely, please.
Thank you.
Attachments (4)
Change History (9)
by , 17 years ago
Attachment: | mplayer_sdkrootbug_configureconsole.txt added |
---|
comment:1 by , 17 years ago
by , 17 years ago
Attachment: | mplayer_sdkrootbug_configurelog.txt added |
---|
configure.log as produced by ./configure
comment:2 by , 17 years ago
by , 17 years ago
Attachment: | mplayer_sdkrootbug_makedependallconsole.txt added |
---|
"make depend" and "make all" console listing
comment:4 by , 17 years ago
Please note this is just a workaround. My main discussion mentions what should
really be done with strong explanations.
comment:5 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
fixed, configure now use default settings.
export MACOSX_DEPLOYMENT_TARGET should be use if compiling for a specific target system.
"./configure" console listing