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.
|
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)
|
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
|
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"
|
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
|
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?
|
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
|
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 :-)
|
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
|
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
|