• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Xcode lets me link a Universal static library against thin static libraries
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xcode lets me link a Universal static library against thin static libraries


  • Subject: Re: Xcode lets me link a Universal static library against thin static libraries
  • From: Rush Manbert <email@hidden>
  • Date: Mon, 03 Apr 2006 15:00:15 -0700

Chris Espinosa wrote:
On Apr 1, 2006, at 10:13 PM, Rush Manbert wrote:

Rush Manbert wrote:

Chris Espinosa wrote:


On Mar 31, 2006, at 4:38 PM, Rush Manbert wrote:

Hi again,

As Bullwinkle always said about pulling a rabbit out of his hat, "This time for SURE!" ;-)

I have a project whose only target builds a BSD static library. It links against a bunch of other BSD static libraries. I previously built it only for ppc. Now I want to build it as a Universal library. I changed the Xcode project by adding the second architecture type, but I didn't change my library search paths for the other static libraries. This meant that I was linking my fat static lib against thin static libs.

Xcode did not complain about this, at least not when I built the Debug version. The build said it completed successfully.

I did not change any SDK settings, and I did not try to build the Release version.




For most project templates, the Debug configuration sets ARCHS = $ (NATIVE_ARCH), and the Release configuration sets ARCHS = ppc i386. So if you just built debug and not release, this is expected, and not a bug.

If you built Release and did not get an error, it would be a bug. If you changed Architectures in the Debug configuration to be ppc i386 and did not get an error, it would be a bug. We have no bug reports like this at this time.

Chris

Thanks Chris. Sorry for the red herring earlier.
I changed Debug so ARCHES = ppc i386 and didn't get an error. I'll file the bug.


Bug filed. Number 4499172.


Your debug target is still being built with ZeroLink. ZeroLink speeds up build-launch time by skipping the linker. You are getting no link errors about the missing architecture because you are not linking.

I unchecked "Allow ZeroLink" in the Build menu, rebuilt, and got the expected link error:

Undefined Symbols:
/Volumes/Local/Objects/Debug/libfat/a(fatLibSrc.o) reference to undefined thinLibReport()
collect2: ld returned 1 exit status

The two static library targets do NOT have Zero Link enabled. The issue is not whether the app builds or not. I believe that it correctly does not build. The problem is that the "fat" static library target builds even though the "thin" target creates a thin library. Please take another look.


- Rush
_______________________________________________
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


References: 
 >Re: Xcode lets me link a Universal static library against thin static libraries (From: Rush Manbert <email@hidden>)
 >Re: Xcode lets me link a Universal static library against thin static libraries (From: Chris Espinosa <email@hidden>)

  • Prev by Date: Re: Remote Compilation/Debugging Problems.
  • Next by Date: Re: Seeking advice on debugging "real time" programs.
  • Previous by thread: Re: Xcode lets me link a Universal static library against thin static libraries
  • Next by thread: Re: what's supposed to get [dead] stripped?
  • Index(es):
    • Date
    • Thread