On Wed, 11 Apr 2007, SciFi wrote:
6. XDarwin.app is installed with symlinks inside MainMenu.nib bundles, app won't launch.
To recreate:
Build xf86 with latest XCode (Apple-provided gcc, ld, etc.).
Possibly related env-vars: export MACOSX_DEPLOYMENT_TARGET="10.4" export SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk" export SDK="${SDKROOT}" ...and maybe others...
$ gcc --version powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367) [...]
$ uname -a Darwin <hostname> 8.9.0 Darwin Kernel Version 8.9.0: Thu Feb 22 20:54:07 PST 2007; root:xnu-792.17.14~1/RELEASE_PPC Power Macintosh powerpc PowerMac7,3 Darwin
(OSX 10.4.9 running on a Dual G5 2.7GHz with 3.5GB of matched-pair SDRAM and more...)
Using GNU coreutils-6.9 and other latest tools...
Discussion:
The make-install process is creating/copying symlinks for the innards of the MainMenu.nib bundles instead of copying the actual files. This is for each language inside the installed XDarwin.app bundle itself.
As installed, we'll see errors in console.log concerning the language couldn't be loaded, and the app will fail to launch.
This is what we _should_ see in the installed app-bundle after repaired by hand: $ cd /Applications/XDarwin.app/Contents/Resources/English.lproj/MainMenu.nib $ ls -alL total 28 drwxr-xr-x 5 scifi wheel 170 2007-04-04 11:05 . dr-xr-xr-x 7 root wheel 238 2007-04-11 02:26 .. -rw-r--r-- 1 scifi wheel 2369 2003-10-16 18:50 classes.nib -rw-r--r-- 1 scifi wheel 20640 2003-10-16 18:50 objects.nib
The xf86 installer is creating those two .nib files as symlinks to somewhere in the build/ tree, which further are symlinks elsewhere. OSX don't like it that way. ;)
Each/every MainMenu.nib in all *.lproj (language) subdirs are affected this way.
I don't know how to fix this in Makefiles etc. I ended up using Finder to drag-copy these from the real xc/ tree (not the build/ tree) directly into the installed /Application/XDarwin.app bundle itself.
I don't see anywhere in `make install` that would create symlinks for these. So, I suspect this is artifact is due to a combination of the way XCode normally operates and your use of shadow trees for builds (a practice I highly recommend BTW). There might be a way to coerce XCode into following symlinks either through a command line flag, the project file, so some other mechanism. Please investigate.
Thanks. Marc. +----------------------------------+----------------------------------+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and | fax: 1-780-492-1729 | | Communications Technologies | email: tsi@xxxxxxxxxxx | | 352 General Services Building +----------------------------------+ | University of Alberta | | | Edmonton, Alberta | Standard disclaimers apply | | T6G 2H1 | | | CANADA | | +----------------------------------+----------------------------------+ XFree86 developer and VP. ATI driver and X server internals. _______________________________________________ Devel mailing list Devel@xxxxxxxxxxx http://XFree86.Org/mailman/listinfo/devel