Re: thin linking: "file is not of required architecture"
Re: thin linking: "file is not of required architecture"
- Subject: Re: thin linking: "file is not of required architecture"
- From: Philip Hölzenspies <email@hidden>
- Date: Mon, 21 Apr 2008 17:12:33 +0100
On Apr 21, 2008, at 4:56 PM, Sherm Pendley wrote:
Since you're not passing an -arch flag to ld, the output defaults to
the architecture on which ld is running. The error is telling you
that a binary component for that architecture does not exist in the
input libraries. For instance, if you're running on Intel, but the
libraries are PPC-only.
Like I said; all libraries are built on the same machine, with the
same gcc, the same ld and the same CFLAGS and LDFLAGS. The machine is
an Intel (MacBook). The libraries all identify themselves (through
lipo and file) as thin x86 binaries. The manpage for ld does indeed
state:
If this option is not used, ld attempts to determine the
output architecture by examining the object files in command
line order. The first "thin"
architecture determines that of the output file. If no input
object file is a "thin" file, the
native 32-bit architecture for the host is used.
I read the manual. The behaviour of ld seems inconsistent with that
states in the manual. The problem I have is that I can't find out
where ld decides to go PPC, while everything is x86 (adding the -arch
flag makes no difference in all my tests).
The question remains: is there a way to let ld tell me when - ON THIS
CONCRETE EXECUTION - it decides it needs an architecture (that isn't
there, neither on the machine, nor in the object files on the command
line, nor in the libraries).
Regards,
Philip
_______________________________________________
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