Hi. I would like to setup a gnustep/objc2 build environment on OS X. And
I would like to install components to a local directory rather than system
directories. A clang from svn trunk is also installed locally. So please
excuse the excessive shell variables as I was initially having trouble with
config scripts using the system clang.
This script gets to the point of compiling out of
core/base/Source/Additions before hitting a fatal error. It's a simple
matter of not finding the header file but the header file does exist so I
think either it was expected to be installed somewhere else first or the
include path used by the make is not complete enough.
I could have also missing an important step. Here's the bash script so far
and then the build error message about the header file not being found.
#!/bin/bash
#
# configure, make and install for gnustep's core/make and core/base.
PREFIX=/Users/frank/local/GNUstep
# export for use by the GNUstep.sh below
export GNUSTEP_MAKEFILES=${PREFIX}/Library/GNUstep/Makefiles
export CC=/Users/frank/local/bin/clang
export CXX=/Users/frank/local/bin/clang
(cd core/make && \
CC=/Users/frank/local/bin/clang \
CXX=/Users/frank/local/bin/clang \
./configure && \
CC=/Users/frank/local/bin/clang \
CXX=/Users/frank/local/bin/clang \
make && make install DESTDIR=${PREFIX}
)
. ${GNUSTEP_MAKEFILES}/GNUstep.sh
(cd core/base && \
./configure --prefix=${PREFIX} \
--with-default-config=${PREFIX}/Library/GNUstep/GNUstep.conf \
--with-installation-domain=LOCAL \
--disable-tls --disable-icu && \
make && \ ### Here is the step that fails.
make install
)
And the error message
This is gnustep-make 2.6.4. Type 'make print-gnustep-make-help' for help.
Making all in Source ...
Making all in Additions ...
rm -f GNUstepBase
ln -s ../../Headers/GNUstepBase GNUstepBase
Making all for subproject Additions...
Compiling file GSObjCRuntime.m ...
In file included from GSObjCRuntime.m:32:
In file included from .././common.h:31:
.././GNUstepBase/GSConfig.h:403:13: warning: '__weak' macro redefined
# define __weak
^
<built-in>:165:9: note: previous definition is here
#define __weak __attribute__((objc_gc(weak)))
^
In file included from GSObjCRuntime.m:32:
In file included from .././common.h:32:
./GNUstepBase/GSVersionMacros.h:319:16: fatal error:
'objc/blocks_runtime.h' file not found
# include <objc/blocks_runtime.h>
^
1 warning and 1 error generated.
>From the directory above core/base, 'find' actually finds three copies of
the header file because I've also copied the objc2 source to a sibling
directory in preparation for its build and install. I'm a bit confused
about the order that core/base and objc2 should be built and installed
because I've seen instructions about building and installing objc2 first
but there is at least one unit test case for objc2 that won't build without
the Foundation framework so for that I think I need to build and install
core/base first.
$ find . -name blocks_runtime.h
./1.7-RC1/blocks_runtime.h
./1.7-RC1/objc/blocks_runtime.h
./core/base/Headers/ObjectiveC2/objc/blocks_runtime.h
Thank you,
-Frank
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev