discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNUstep base now installed in Local


From: Quentin Mathé
Subject: Re: GNUstep base now installed in Local
Date: Fri, 28 Nov 2008 11:35:45 +0100

Le 28 nov. 08 à 09:26, Richard Frith-Macdonald a écrit :

On 27 Nov 2008, at 23:11, Quentin Mathé wrote:

Hi,

If you compile GNUstep from source, I just want let you know that GNUstep base from trunk is now installed in Local domain rather than System domain. So if you build and install GNUstep base above r27148, you should run 'make uninstall' before updating to the new revision. If you don't, the old library and tools installed in System will continue to be used rather than the new one installed in Local. I just stumbled on this problem before realizing the installation domain has changed, that's why I'm mentionning it here.

I suppose GNUstep GUI, Back and other applications will soon have their default installation domains altered in the same way. The change has been discussed on this list and gnustep-dev at the end of October.

So don't forget to check where things are installed if a build/ install seems to have no effect ;-)

Thanks.

In theory the version of base in the local domain should be used in preference to the old one in the system domain, and if that's not the case then there is a problem somewhere that we need to fix.

However ... I can think of one case where things would temporarily pick up old binaries ...

Most shells cache the location of executables in their PATH. This would mean that the shell will have cached the locations for tools in the system Toold directory and would therefore continue to use those binaries until you log out and log in again (or reset the cache in the shell some other way).

When the cache is reset, the shell should cache the new, local domain, locations of the tools as the local domain should appear before the system domain in your path.

Apart from that, the order of paths that gnustep-make sets in environment variables should ensure that the local domain versions of things are used in preference to the system domain versions. In general the order of lookup should be user, then local, then network then system domain.

Looks like there is a problem either in my GNUstep install or GNUstep make because the paths are listed in the reverse order for LD_LIBRARY_PATH and PATH, when other environment variables set by GNUstep make are in the right order (user -> local -> system). For example, on my computer:

PATH=/System/Tools:/Local/Tools:/home/somebody/GNUstep/Tools:/usr/ local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games LD_LIBRARY_PATH=/System/Library/Libraries:/Local/Library/Libraries:/ home/somebody/GNUstep/Library/Libraries
GNUSTEP_PATHLIST=/home/somebody/GNUstep:/Local:/Network:/System

I usually source GNUstep.sh in my .bashrc. To be sure it's the only place where these variables are modified, I removed it and tried to source it manually instead but the result is the same. I'm using gnustep-make r27166 currently, the only custom flag I pass to configure gnustep-make is --prefix=/

Quentin.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]