[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Install location for libobjc2
From: |
Richard Frith-Macdonald |
Subject: |
Re: Install location for libobjc2 |
Date: |
Fri, 2 Nov 2012 17:32:28 +0000 |
On 2 Nov 2012, at 17:20, Tom Davie wrote:
>
> 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.
Then it sounds like you have a problem with your version of make.
Maybe you have a bad version of make in your PATH before the gnu make program?
if so, you could find that and move/delete it.
You could also try 'make -f GNUmakefile', though if you are using a bad make
program, that probably won't help.
- Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Sebastian Reitenbach, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Sebastian Reitenbach, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2,
Richard Frith-Macdonald <=
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Robert Slover, 2012/11/02
- Re: Install location for libobjc2, Richard Frith-Macdonald, 2012/11/02
- Re: Install location for libobjc2, Tom Davie, 2012/11/02
- Re: Install location for libobjc2, Quentin Mathé, 2012/11/03