gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Building core/make, core/base and objc2 for OS X


From: Frank Rehwinkel
Subject: Building core/make, core/base and objc2 for OS X
Date: Fri, 24 May 2013 14:48:10 -0400




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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]