• 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 2.5 on Leopard: trouble with -isysroot and friends
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends


  • Subject: Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends
  • From: Ken Thomases <email@hidden>
  • Date: Wed, 21 May 2008 13:25:16 -0500

On May 21, 2008, at 12:54 PM, Chris Espinosa wrote:

On May 21, 2008, at 10:20 AM, Ken Thomases wrote:

As you can see, I'm specifying the SDK using -isysroot. In this case, the command is attempting to link against my own custom X11 libraries. The Xcursor library is located. It has the following dependencies:

$ otool -L /Users/ken/work/cxmac/x11r6/image/X11/lib/libXcursor.dylib
/Users/ken/work/cxmac/x11r6/image/X11/lib/libXcursor.dylib:
/Users/ken/work/cxmac/x11r6/image/X11/lib/libXcursor.1.dylib (compatibility version 1.0.2, current version 1.0.2)
/Users/ken/work/cxmac/x11r6/image/X11/lib/libXrender.1.dylib (compatibility version 1.2.2, current version 1.2.2)
/Users/ken/work/cxmac/x11r6/image/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/Users/ken/work/cxmac/x11r6/image/X11/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.9)


So, Xcursor depends on Xrender, which is in the same location. However, it seems that gcc/collect2/ld (or whatever) is inappropriately applying the SDK root to paths which are not present in the SDK. In this case, it's transforming the path "/ Users/ken/work/cxmac/x11r6/image/X11/lib/libXrender.1.dylib" into "/ Xcode2.5/SDKs/MacOSX10.4u.sdk/Users/ken/work/cxmac/x11r6/image/X11/ lib/libXrender.1.dylib". Note that it's only applying the SDK root to the dependencies. It's having no trouble finding the Xcursor library which is explicitly passed on the command line. So, given two similarly-constructed paths, it's handling them differently.

Could you dig up or reproduce the linker invocation that created libXcursor.dylib? Perhaps by using relative paths (rather than absolute paths into your build folder) or by postprocessing with install_name_tool might do the trick.

So, you're suggesting that libXcursor.dylib should be made dependent on merely "libXrender.1.dylib" rather than "/Users/ken/work/cxmac/ x11r6/image/X11/lib/libXrender.1.dylib"? Or maybe "@loader_path/ libXrender.1.dylib" would work?


Thanks for the suggestion. I'll look into it. Unfortunately, the X11 build system (especially of the vintage that I'm working with) is byzantine. Post-processing may work.

In the meantime, I've filed a bug for this issue: #5952556. It includes very simple steps to reproduce without involving any complicated setups or libraries.

Thanks,
Ken
_______________________________________________
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


  • Follow-Ups:
    • Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends
      • From: Ken Thomases <email@hidden>
References: 
 >Xcode 2.5 on Leopard: trouble with -isysroot and friends (From: Ken Thomases <email@hidden>)
 >Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends (From: Chris Espinosa <email@hidden>)

  • Prev by Date: Re: colorizing .inl files
  • Next by Date: Re: Xcode Projects use each other's Breakpoints
  • Previous by thread: Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends
  • Next by thread: Re: Xcode 2.5 on Leopard: trouble with -isysroot and friends
  • Index(es):
    • Date
    • Thread