bugGNUstep - Bugs: bug #17226, Libraries and headers in...

Group
 
 

bug #17226: Libraries and headers in $GNUSTEP_USER_ROOT are ignored

Submitter:  Nikolaus Waxweiler <madleser>
Submitted:  Fri 28 Jul 2006 04:38:47 PM UTC
   
 
Category:  Makefiles Severity:  3 - Normal
Item Group:  None Status:  Works For Me
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 28 Jul 2006 06:51:11 PM UTC, comment #3: 

This is a duplicate of bug #16010, which was fixed by fedor here: http://svn.gna.org/viewcvs/gnustep?rev=22753&view=rev

Hubert Chathi <uhoreg>
Fri 28 Jul 2006 06:50:07 PM UTC, comment #2: 

Mh! Thanks for the pointer to messages=yes, it revealed the cause of the bug I described in my GNUstep.conf: GNUSTEP_USER_DIR=GNUstep. For some reason, this doesn't work if it's not an absolute path. 'gmake messages=yes' says:

cc main.m <options> <some header paths> -IGNUstep/Library/Headers <other header paths>
cc  <options> <files>  -LGNUstep/Library/Libraries <other library paths>

A 'gmake messages=yes GNUSTEP_USER_DIR=$HOME/GNUstep' works as intended. I'll try the SVN version later.

> it's -lgnustep-gui, not -lgnustep-gui_d as the make package automatically adds the '_d' where necessary.

Interesting, this should be mentioned in the make package manual.

Nikolaus Waxweiler <madleser>
Fri 28 Jul 2006 05:48:03 PM UTC, comment #1: 

Current SVN works fine when I try it, and afaik old releasaes are fine too.

In the bug report ...

2. Compile an app depending on above library (e.g. GNUMail or Ink with 'Ink_GUI_LIBS = -lgnustep-gui_d')

is incorrect ... If you want to link with the gui library, it's -lgnustep-gui, not -lgnustep-gui_d as the make package automatically adds the '_d' where necessary.

The make package already puts the appropriate -I and -L options in place for headers and libraries to be found in the user domain, so you don't need to explicitly specify them in your makefiles either.  You can pass 'messages=yes' to make to see exactly what options are being used, but I think the suggested 'workaround' just does what the make package already does for you anyway.

I tried the GNUMail/Pantomime example in case the GNUMail makefiles were faulty, but it worked fine (current GNUMail from CVS).

Richard Frith-Macdonald <CaS>
Group Member
Fri 28 Jul 2006 04:38:47 PM UTC, original submission:  

1. Install some library in $GNUSTEP_USER_ROOT (e.g. Pantomime or gnustep-gui with debug=yes)
2. Compile an app depending on above library (e.g. GNUMail or Ink with 'Ink_GUI_LIBS = -lgnustep-gui_d')

GNUMail won't find Pantomime's headers and in the case of Ink, the linker won't find libgnustep-gui_d. A Workaround would be to insert
 ADDITIONAL_INCLUDE_DIRS=-I$(GNUSTEP_USER_ROOT)/Library/Headers
 ADDITIONAL_LIB_DIRS=-L$(GNUSTEP_USER_ROOT)/Library/Libraries
into the makefiles, but this is bothersome.
A quick look at common.make revealed that $GNUSTEP_USER_ROOT is actually taken into consideration, but I'm not a gmake expert..

FreeBSD 6.1, gcc 3.4.4, gnustep-make-1.12.0, gmake-3.81_1

Nikolaus Waxweiler <madleser>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 2 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-07-28 CaS Open/ClosedOpen Closed
2006-07-28 CaS StatusNone Works For Me

Back to the top

Powered by Savane 3.13-02a9.
Corresponding source code