gnustep-dev
[Top][All Lists]
Advanced

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

Re: Install location for libobjc2


From: Tom Davie
Subject: Re: Install location for libobjc2
Date: Fri, 2 Nov 2012 17:20:11 +0000

On 2 Nov 2012, at 17:10, Richard Frith-Macdonald <address@hidden> wrote:

> 
> On 2 Nov 2012, at 16:11, Tom Davie wrote:
> 
>> 
>> On 2 Nov 2012, at 15:04, Richard Frith-Macdonald <address@hidden> wrote:
>> 
>>> 
>>> On 2 Nov 2012, at 14:54, Tom Davie wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I'm slightly confused just right now.  It's been a while since I installed 
>>>> libobjc2, and I'm having trouble installing the svn trunk version.
>>>> 
>>>> It appears that libojbc2 is being installed into /usr/local/lib, rather 
>>>> than /usr/GNUstep/Local/Library/Libraries as I'd expect.  This is causing 
>>>> configuring GNUstep-base to die saying my obj-c compiler does not work (as 
>>>> it can't find the runtime).
>>>> 
>>>> The only way I can see this happening is if Makefile is being used rather 
>>>> than GNUmakefile.  In what circumstances will this happen?  How would I go 
>>>> about restoring correct behaviour?
>>> 
>>> Using code from svn then all you shuld need to do is:
>>> 
>>> 1. install gnustep-make ... so you have a gnustep environment to install 
>>> libobjc2 into.
>>> 2. build/install libobjc2 using gnu-make ... which should use the 
>>> GNUmakefile (perhaps you are an a system which uses another 'make' and call 
>>> gnu-make 'gmake')
>>> 
>>> The GNUmakefile should install things into the right place.
>> 
>> Hiya Richard,
>> 
>> Trying to convince libobjc2 to live in the GNUstep hierarchy is not working 
>> well.  make on my system is GNU make 3.81 and gnustep-make is installed, 
>> unfortunately though, the library is still being stuck in /usr/local/lib.
>> 
>> Meanwhile David Chisnall tells me off-list that /usr/local/lib is in fact 
>> the correct location for libobjc2 to live.  
> 
> Only if you are using the FHS layout...
> The traditional location is, as you say, /usr/GNUstep/Local/Library/Libraries,
> And the 'correct' location iis whatever you configured gnustep-make to use as 
> the filesystem layout.
> 
> Anyway, you can type 'gnustep-config --variable=GNUSTEP_LOCAL_LIBRARIES' to 
> find out where your gnustep-make is configured to put things.
> And in the libobjc2 directory you should be able to type 'make messages=yes 
> install' to produce a log of where it *actually* puts things, which ought to 
> be something like:
> 
> $ make messages=yes install
> echo Installing libraries...
> Installing libraries...
> install -d /usr/GNUstep/Local/Library/Libraries
> install -m 444 `if [ "" = "yes" ] ; then echo -s ; fi` libobjc.so.4.6.0 
> /usr/GNUstep/Local/Library/Libraries
> install -m 444 `if [ "" = "yes" ] ; then echo -s ; fi` libobjcxx.so.4.6.0 
> /usr/GNUstep/Local/Library/Libraries
> install -m 444 `if [ "" = "yes" ] ; then echo -s ; fi` libobjc.a 
> /usr/GNUstep/Local/Library/Libraries
> 
> Then you need to reconfigure/install gnustep-make (so it sees the new libobc2 
> is installed and decides to use it instead of the standard libobjc)
> 
> Then, things like base will build with libobjc2.
> 
> That being said, if you are like me you might find tyhat the current libobjc2 
> from svn doesn't work because of linker errors:
> /usr/GNUstep/Local/Library/Libraries/libobjc.so: undefined reference to 
> `__sync_sub_and_fetch_4'
> /usr/GNUstep/Local/Library/Libraries/libobjc.so: undefined reference to 
> `__sync_bool_compare_and_swap_4'
> 
> but that's another issue with libobjc2, not an installation issue.

Hi again Richard,

GNUstep config reports:
$ gnustep-config --variable=GNUSTEP_LOCAL_LIBRARIES
/usr/GNUstep/Local/Library/Libraries
as expected.
make messages=yes install though does not report any additional information.  
In addition, adding echo lines to the GNUmakefile causes them to not be 
printed, while adding echo lines to the Makefile causes them to be printed, so 
it's definitely the case that the wrong Makefile is being used.  Hence the 
location /usr/local/lib being used, as the Makefile does not use gnustep-config 
to find out where to put things.

Thanks

Tom Davie


reply via email to

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