Re: XDarwin.app is installed with symlinks inside MainMenu.nib bundles, app won't launch.

Marc Aurele La France <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Message-ID <Pine.WNT.4.64.0704221027570.1468@tsi>
On Tue, 17 Apr 2007, Marc Aurele La France wrote:
> On Sun, 15 Apr 2007, Yves de Champlain wrote:
>> Le 07-04-15 à 14:55, Marc Aurele La France a écrit :
>>> On Wed, 11 Apr 2007, SciFi wrote:
>>>> 6.  XDarwin.app is installed with symlinks inside MainMenu.nib
>>>> bundles, app won't launch.

>>>> 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.

>> There already is a bug opened that XDarwin won't build in shadow tree.

>> http://bugs.xfree86.org/show_bug.cgi?id=1182

>> As mentionned there, once the right files are copied to replace symlinks,
>> everything go on smoothly.

>> I think the "right files" (TM)  were xc/programs/Xserver/hw/darwin/bundle

> OK.  Thanks for the info.  The attached patch should fix this.

The change I attached has now been committed.  Thanks for reporting the 
problem.

Marc.

+----------------------------------+----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310          |
|  Academic Information and        |  fax:    1-780-492-1729          |
|    Communications Technologies   |  email:  [email protected]         |
|  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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.