bugGNUstep - Bugs: bug #29291, The configure script doesn't play...

Group
 
 

bug #29291: The configure script doesn't play nice with non-flattened namespaces

Submitter:  Niels Grewe <thebeing>
Submitted:  Sun 21 Mar 2010 09:19:28 PM UTC
   
 
Category:  Base/Foundation Severity:  3 - Normal
Item Group:  Bug Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 07 Apr 2010 08:28:58 AM UTC, comment #9: 

I applied a modified version of your fix which should use the TARGET rather than HOST information .. if it is exported by gnustep-make.

Richard Frith-Macdonald <CaS>
Group Member
Wed 31 Mar 2010 11:29:26 AM UTC, comment #8: 

Thanks! Now that I know where to look, I have devised a workaround myself (diff attached). Of course this is not the correct fix because it uses GNUSTEP_HOST_* variables. One probably would want a way to specify that stuff based on the target gnustep-base is being configured for.

Cheers,

Niels

PS: This also made a weird problem go away where -base was claiming that the runtime didn't support uncaught exception handlers.

(file #20073)

Niels Grewe <thebeing>
Group Member
Tue 30 Mar 2010 12:51:50 PM UTC, comment #7: 

The gnustep-base configure.ac script seems wrong ...

CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS -I$GNUSTEP_LOCAL_HEADERS/$LIBRARY_COMBO"

LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES
-L$GNUSTEP_LOCAL_LIBRARIES"

These just ignore the non-flattened case.  In the non-flattened case, LIBRARY_COMBOs etc. need to be used.

I was going to fix it myself, but regenerating gnustep-base's configure requires autoconf 2.61, which I don't have, so I have to reinstall autoconf etc.

Thanks

Nicola Pero <nico>
Group Member
Tue 30 Mar 2010 12:46:50 PM UTC, comment #6: 

I mean the configure script runs GNUstep.sh to set up the header/library info.
If you can reproduce the problem, perhaps you can check the logs to see what is actually being done in your case.

The relevant part of configure.ac follows.

GNUSTEP_MAKEFILES="$CURRENT_GNUSTEP_MAKEFILES"
GNUSTEP_SH_EXPORT_ALL_VARIABLES=yes
. "$CURRENT_GNUSTEP_MAKEFILES/GNUstep.sh"
unset GNUSTEP_SH_EXPORT_ALL_VARIABLES

# For backwards compatibility, define GNUSTEP_SYSTEM_HEADERS from
# GNUSTEP_SYSTEM_ROOT if not set yet.
if test x"$GNUSTEP_SYSTEM_HEADERS" = x""; then
  GNUSTEP_SYSTEM_HEADERS="$GNUSTEP_SYSTEM_ROOT/Library/Headers"
fi

if test x"$GNUSTEP_SYSTEM_LIBRARIES" = x""; then
  GNUSTEP_SYSTEM_LIBRARIES="$GNUSTEP_SYSTEM_ROOT/Library/Libraries"
fi

#
# Add standard library and header directories for configure to use to locate
# plain C developer headers/libraries which haver been installed in the
# GNUstep hierarchy.
#
CPPFLAGS="$CPPFLAGS -I$GNUSTEP_SYSTEM_HEADERS -I$GNUSTEP_LOCAL_HEADERS"
LDFLAGS="$LDFLAGS -L$GNUSTEP_SYSTEM_LIBRARIES -L$GNUSTEP_LOCAL_LIBRARIES"

Richard Frith-Macdonald <CaS>
Group Member
Tue 30 Mar 2010 12:36:36 PM UTC, comment #5: 

No, I don't think I ever configured gnustep-base before installing gnustep-make and since I did a lot of reconfiguring during the last week or so, I'm positive that that's not the problem. But if you say "gets header and library locations from gnustep-make", do you mean from filesystem.*? Because there I have GNUSTEP_(SYSTEM|LOCAL)_(HEADERS|LIBRARIES) set to the values for the flattened layout. (Still gnustep-make will compile and install stuff just fine and non-flattened.)

Any ideas?

Cheers,


Niels

Niels Grewe <thebeing>
Group Member
Sun 28 Mar 2010 08:13:34 AM UTC, comment #4: 

The gnustep-base configure script gets the header and library locations from gnustep-make.

Is it possible that you simply configured gnustep-base before installing gnustep-make, so that it was using the flattened location information from a previous installation of gnustep-make?

Richard Frith-Macdonald <CaS>
Group Member
Mon 22 Mar 2010 05:54:00 AM UTC, comment #3: 

You're right, I was being imprecise: It's the configure script in -base that's causing the problems. Sorry for the confusion!

Niels

Niels Grewe <thebeing>
Group Member
Sun 21 Mar 2010 10:42:38 PM UTC, comment #2: 

I guess you're getting the problem when trying to configure gnustep-base, not gnustep-make.

I'll need to check on that.

Thanks for reporting the problem :-)

Nicola Pero <nico>
Group Member
Sun 21 Mar 2010 10:32:53 PM UTC, comment #1: 

It should work.

Can you provide more details of what you did ?

My understanding is that you did

cd /xxx/core/make
./configure --disable-flattened
su -c 'make install'

cd /xxx/dev-libs/libobjc2
make
su -c 'make install'

cd /xxx/core/make
./configure --disable-flattened

and at stage you had the problem ?

It should work though.  Did you include '--disable-flattened' the second time you configured gnustep-make ?

Thanks

Nicola Pero <nico>
Group Member
Sun 21 Mar 2010 09:19:28 PM UTC, original submission:  

Hi,

I configured -make with a non-flattened namespace and recently ran into some problems where the configure script wouldn't detect an installed libobjc2 properly. It turns out that apparently, it doesn't know about non-flattened namespaces since it is trying to buld stuff with the following commandline:

clang -o conftest -g -O2 -I/usr/inlcude/x86_64-linux-gnu -I/usr/GNUstep/System/Library/Headers -I/usr/GNUstep/Local/Library/Headers -fgnu-runtime -x objective-c  -L/usr/GNUstep/System/Library/Libraries -L/usr/GNUstep/Local/Library/Libraries conftest.c -ldl  -lobjc   -lpthread

Here the include and library paths should include $LIBRARY_COMBO or $GNUSTEP_TARGET_LDIR to always point to the right place. I suspect (hope?) the fix is trivial, but I unfortunately know nothing about autoconf.

Cheers,


Niels

Niels Grewe <thebeing>
Group Member

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #20073:  configure.diff added by thebeing (800B - text/x-patch - Workaround for gnustep-base configure.ac with non-flattened FS layouts)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by CaS (Posted a comment)
  • -email is unavailable- added by nico (Posted a comment)
  • -email is unavailable- added by thebeing (Submitted the item)
  •  

    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 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-04-07 CaS StatusNone Fixed
        Open/ClosedOpen Closed
    2010-03-31 thebeing Attached File- Added configure.diff, #20073

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code