On 2 Nov 2012, at 17:20, Tom Davie wrote: > > On 2 Nov 2012, at 17:10, Richard Frith-Macdonald > <[email protected]> wrote: > >> >> On 2 Nov 2012, at 16:11, Tom Davie wrote: >> >>> >>> On 2 Nov 2012, at 15:04, Richard Frith-Macdonald >>> <[email protected]> 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. _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
