Re: Libraries switch binary to "ppc7400" how do I force it back to "ppc".
Re: Libraries switch binary to "ppc7400" how do I force it back to "ppc".
- Subject: Re: Libraries switch binary to "ppc7400" how do I force it back to "ppc".
- From: Conor <email@hidden>
- Date: Mon, 1 Dec 2008 23:20:26 +0100
Thank you for the push in a useful direction. I got all enthusiastic
about removing the 64 part of the libraries, but unfortunately it had
no effect. Using lipo's -remove option or the -extract and then -
create with only "ppc i386" did not change the outcome.
By mixing and matching the old with the new libraries I did manage to
narrow it down to the libValidateUniversal.a library that causes the
"ppc7400". Looking at the architecture information I can't find any
significant information that would cause the issue. Is there some
other place in a library that would carry information that would cause
it to jump to "ppc7400"? What other tools are there for examining a
library?
I also checked every single .o file and they are all "ppc", it's at
the linking stage that it becomes "ppc740", however the linking
command does not change, it's always:
Ld /Users/me/Projects/Build/Pediabase.build/Release/Pediabase.build/
Objects-normal/ppc/Pediabase normal ppc
cd /Users/me/Projects/Pediabase
setenv MACOSX_DEPLOYMENT_TARGET 10.4
/Developer/usr/bin/gcc-4.0 -arch ppc -dynamiclib -isysroot /
Developer/SDKs/MacOSX10.5.sdk -L/Users/me/Projects/Products/Release -L/
Users/me/Projects/Pediabase -F/Users/me/Projects/Products/Release -F/
Users/me/Projects/Pediabase -F/Users/me/Projects/Products/Release -
filelist /Users/me/Projects/Build/Pediabase.build/Release/
Pediabase.build/Objects-normal/ppc/Pediabase.LinkFileList -
install_name @executable_path/../Frameworks/Pediabase.framework/
Versions/A/Pediabase -mmacosx-version-min=10.4 -seg1addr 0xCFFFF000 -
framework QuartzCore -framework DotMacKit -framework Cocoa -framework
Carbon -framework QuickTime -lEWS -lValidateUniversal -framework
AddressBook -framework WebKit -framework IOKit -framework Security -
framework CoreData -framework Sparkle -framework ExceptionHandling -
framework OpenGL -framework JBFramework -framework IOBluetoothUI -
framework IOBluetooth -framework QTKit -Wl,-single_module -
compatibility_version 1 -current_version 1 -o /Users/me/Projects/Build/
Pediabase.build/Release/Pediabase.build/Objects-normal/ppc/Pediabase
New libValidateUniversal.a info: created by me to have only ppc and
i386, (x86_64 and ppc64 stripped) but still causes "ppc7400".
Fat header in: libValidateUniversal.a
fat_magic 0xcafebabe
nfat_arch 2
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 48
size 13632
align 2^2 (4)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 13680
size 11376
align 2^2 (4)
Old libValidateUniversal.a that creates the correct "ppc".
Fat header in: libValidateUniversal.a
fat_magic 0xcafebabe
nfat_arch 2
architecture ppc
cputype CPU_TYPE_POWERPC
cpusubtype CPU_SUBTYPE_POWERPC_ALL
offset 48
size 13568
align 2^2 (4)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 13616
size 11892
align 2^2 (4)
Certainly learning more about linking and lipo. Thank you, once again.
At least now I can tell eSellerate that I have narrowed it down to one
library and that stripping 64 bit part has no effect.
- Conor
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden