pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/32697: Buildlink 3 causes build failures under Mac OS X
>Number: 32697
>Category: pkg
>Synopsis: Buildlink 3 causes build failures under Mac OS X
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Feb 02 11:10:01 +0000 2006
>Originator: tron%zhadum.org.uk@localhost
>Release: Darwin 8.4.0
>Organization:
Matthias Scheler http://scheler.de/~matthias/
>Environment:
System: Darwin excalibur.zhadum.org.uk 8.4.0 Darwin Kernel Version 8.4.0: Tue
Jan 3 18:22:10 PST 2006; root:xnu-792.6.56.obj~1/RELEASE_PPC Power Macintosh
powerpc
Architecture: powerpc
Machine: Power Macintosh
>Description:
Building "nas" under Mac OS X dies during the "configure" target:
checking build system type... powerpc-apple-darwin8.4.0
checking host system type... powerpc-apple-darwin8.4.0
checking for gcc... /usr/bin/cc
checking for C compiler default output... a.out
checking whether the C compiler works... configure: error: cannot run C
compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
The reason is that the empty program it just compiled, linked and started
crashed with a "Bus error". Careful investigation revealed that buildlink 3
is at fault here. The compiler invokes the linker "ld" like this:
ld -dynamic -arch ppc -weak_reference_mismatches non-weak -o a.out -lcrt1.o ...
"crt1.o" is the object file with the startup code which must be at the
beginning of the binary. Unfortunately buildlink 3 changes the link
order like this:
ld -dynamic -arch ppc -weak_reference_mismatches non-weak -o a.out ... -lcrt1.o
...
The startup code is therefore now longer at the beginning of the executable
and the program cashes when it is executed.
>How-To-Repeat:
cd pkgsrc/audio/nas
bmake
>Fix:
Teach "pkgsrc/mk/wrapper/cmd-sink-ld" to leave "-lcrt1.o" as the first
"library" which gets linked.
Home |
Main Index |
Thread Index |
Old Index