Closed macosforgebot closed 14 years ago
wsiegrist@… originally submitted this as comment:1:ticket:100
What are all the commands that you ran to get to this point? Also please attach the entire build log. I'm guessing you tried to build trunk which defaults to installing an Intel-only libredo_prebinding.a for 10A432 to /usr/local, and then tried to build Darwin9 which will see that file in /usr/local and prefer it over the libredo.o that is on the Darwin9 branch. You need to remove the file from /usr/local or install the Leopard version of it from cctools_ofiles.
BHuntsman@… originally submitted this as comment:2:ticket:100
Please change Version to 9L30. I chose the wrong option when submitting this ticket.
BHuntsman@… originally submitted this as comment:3:ticket:100
I am building the Darwin9 branch of Darwinbuild, r627. My build system runs Mac OS X 10.5.8, with Xcode Tools 3.1.4. libredo_prebinding.a is still Intel-only:
bash-3.2# lipo -detailed_info /usr/local/lib/libredo_prebinding.a Fat header in: /usr/local/lib/libredo_prebinding.a fat_magic 0xcafebabe nfat_arch 2 architecture i386
cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_I386_ALL offset 48 size 273256 align 22\ (4)
architecture x86_64
cputype CPU_TYPE_X86_64 cpusubtype CPU_SUBTYPE_X86_64_ALL offset 273304 size 294424 align 22\ (4)
bash-3.2# ls /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libredo_prebinding.a /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libredo_prebinding.a bash-3.2# lipo -detailed_info /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libredo_prebinding.a Fat header in: /Developer/SDKs/MacOSX10.5.sdk/usr/local/lib/libredo_prebinding.a fat_magic 0xcafebabe nfat_arch 2 architecture i386
cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_I386_ALL offset 48 size 273256 align 22\ (4)
architecture x86_64
cputype CPU_TYPE_X86_64 cpusubtype CPU_SUBTYPE_X86_64_ALL offset 273304 size 294424 align 22\ (4)
bash-3.2#
The commands used to build are:
make make install
Attached is a build log. However I tracked the problem down to the darwinup makefile. Also attached is a patch that will always use the local libredo.o, as the local libredo.o is 4-way fat.
BHuntsman@… originally submitted this as attachment:Makefile.p2.patch:ticket:100
BHuntsman@… originally submitted this as attachment:log.txt:ticket:100
BHuntsman@… originally submitted this as comment:4:ticket:100
Also, please pardon the formatting above. Apparently it doesn't like copy-and-paste.
wsiegrist@… originally submitted this as comment:5:ticket:100
Your patch prevents darwinbuild from using the file from /usr/local/lib when it is available. The real problem is you have a file in /usr/local/lib on Leopard. Did you try building trunk on that box before trying to build the Darwin9 branch? Right now, trunk puts that file in /usr/local/lib which is not the best behavior. I'll be fixing that soon, but your problem is probably solved by removing that file.
BHuntsman@… originally submitted this as comment:6:ticket:100
Your patch prevents darwinbuild from using the file from /usr/local/lib when it is available.
Yes, that was purposeful. /usr/local/lib/libredo_prebinding.a is supplied by Apple, is it not? I thought it came with Xcode 3.1.4 or thereabouts? Either way, it is provided as Intel-only.
Or are you saying that it comes with DarwinBuild trunk (Darwin10)? Because yes, I attempted to build trunk on this box shortly before the release branches became available.
Regardless, does it hurt to not build against libredo_prebinding.a (using instead the included libredo.o) in all cases?
wsiegrist@… originally submitted this as comment:7:ticket:100
Your attempt to build trunk on Leopard is what installed the file into /usr/local/lib. Remove that file. There's no need to patch the Makefile.
BHuntsman@… originally submitted this as ticket:100
DarwinBuild now has a build dependency on libredo_prebinding.a, which is Intel-only, even in the MacOSX SDK.
.... ld warning: in /usr/local/lib/libredo_prebinding.a, missing required architecture ppc in file Undefined symbols for architecture ppc:
ld: symbol(s) not found for architecture ppc collect2: ld returned 1 exit status ld warning: in /usr/local/lib/libredo_prebinding.a, missing required architecture ppc64 in file Undefined symbols for architecture ppc64:
ld: symbol(s) not found for architecture ppc64 collect2: ld returned 1 exit status lipo: can't open input file: /var/tmpccwKB14I.out (No such file or directory) make[1]: * [darwinup] Error 1 make:* [all] Error 1