Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#674 closed defect (fixed)

r21504 breaks under certain build environments on MacOSX

Reported by: sci-fi@… Owned by: diego@…
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)

mplayer_sdkrootbug_configureconsole.txt (9.6 KB ) - added by sci-fi@… 17 years ago.
"./configure" console listing
mplayer_sdkrootbug_configurelog.txt (335.4 KB ) - added by sci-fi@… 17 years ago.
configure.log as produced by ./configure
mplayer_sdkrootbug_makedependallconsole.txt (9.6 KB ) - added by sci-fi@… 17 years ago.
"make depend" and "make all" console listing
mplayer_isysrootbug.patch (588 bytes ) - added by sci-fi@… 17 years ago.
Here's a workaround patch.

Download all attachments as: .zip

Change History (9)

by sci-fi@…, 17 years ago

"./configure" console listing

comment:1 by sci-fi@…, 17 years ago

by sci-fi@…, 17 years ago

configure.log as produced by ./configure

comment:2 by sci-fi@…, 17 years ago

by sci-fi@…, 17 years ago

"make depend" and "make all" console listing

comment:3 by sci-fi@…, 17 years ago

The missing header is noted here.

by sci-fi@…, 17 years ago

Attachment: mplayer_isysrootbug.patch added

Here's a workaround patch.

comment:4 by sci-fi@…, 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 nicolas.plourde@…, 17 years ago

Resolution: fixed
Status: newclosed

fixed, configure now use default settings.

export MACOSX_DEPLOYMENT_TARGET should be use if compiling for a specific target system.

Note: See TracTickets for help on using tickets.