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

 
 

You are not allowed to post comments on this tracker with your current authentication level.

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

Submitted by:  Niels Grewe <thebeing>
Submitted on:  Sun 21 Mar 2010 09:19:28 PM UTC  
 
Category: Base/FoundationSeverity: 3 - Normal
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

(Jump to the original submission 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project 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>
Project Member

 

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
  • -unavailable- added by CaS (Posted a comment)
  • -unavailable- added by nico (Posted a comment)
  • -unavailable- added by thebeing (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 07 Apr 2010 08:28:58 AM UTCCaSStatusNone=>Fixed
      Open/ClosedOpen=>Closed
    Wed 31 Mar 2010 11:29:26 AM UTCthebeingAttached File-=>Added configure.diff, #20073

    Back to the top


    Powered by Savane 3.1-cleanup1