[R-SIG-Mac] R-1.7.1 with gcc-3.3 and --with-x
Alex Buerkle
buerkla at uwec.edu
Tue Jul 8 18:10:46 MEST 2003
Building R-1.7.1 with gcc-3.3 (and g77 3.3) for X11 also fails, because
the Carbon framework is being linked in the build process, even when
the aqua device is not requested (--with-x --without-tcltk).
It fails because of a problem in Debugging.h, as mentioned in the other
thread on building with aqua.
Why is devQuartz.c being compiled if the Aqua device is not requested
(I see it is listed in src/unix/Makefile.in)? Is this just a matter of
the build process needing to evolve to accommodate both X11 and Aqua
targets on Darwin?
Details are below.
-Alex Buerkle
---------------
sudo gcc_select 3.3
export FPICFLAGS='-fno-common'
export LDFLAGS='-lcc_dynamic'
export MACOS_DEPLOYMENT_TARGET=10.2
./configure --with-blas=-'framework vecLib' --with-lapack --with-x \
--without-tcltk
[...]
make
[...]
gcc -no-cpp-precomp -I. -I../../src/include -I../../src/include
-I/usr/X11R6/include -I/sw/include -I/usr/local/include -DHAVE_CONFIG_H
-g -O2 -c devQuartz.c -o devQuartz.o
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/
CarbonCore.framework/Headers/CarbonCore.h:113,
from
/System/Library/Frameworks/CoreServices.framework/Headers/
CoreServices.h:21,
from
/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20,
from devQuartz.c:42:
/System/Library/Frameworks/CoreServices.framework/Frameworks/
CarbonCore.framework/Headers/Debugging.h:285:2: #else without #if
/System/Library/Frameworks/CoreServices.framework/Frameworks/
CarbonCore.framework/Headers/Debugging.h:287:2: #endif without #if
/System/Library/Frameworks/CoreServices.framework/Frameworks/
CarbonCore.framework/Headers/Debugging.h:301:1: missing binary operator
before token "enum"
devQuartz.c:1156:1: unterminated #if
make[3]: *** [devQuartz.o] Error 1
make[2]: *** [R] Error 2
make[1]: *** [R] Error 1
make: *** [R] Error 1
-----------------
Commenting out the following lines in configure (the ones pertaining to
the Carbon framework) didn't change the build and I get the same error:
line 17792
## <FIXME>
## Needed because currently the Quartz device driver gets linked to
## the main binary. Change once the driver is modularized.
# main_ldflags="-framework Carbon"
## </FIXME>
line 18065
## <FIXME>
## We need '-framework Carbon' because currently the Quartz device
## driver gets linked to the main binary and hence also the R dylib.
## Change once the driver is modularized.
separator=""
#test -z "${separator}" && separator=" "
#if test -z "${LIBR_LDFLAGS}"; then
# LIBR_LDFLAGS="-framework Carbon"
#else
# LIBR_LDFLAGS="${LIBR_LDFLAGS}${separator}-framework Carbon"
#fi
## </FIXME>
------------------
Incidentally, the configure option --without-aqua does not function
properly at present and instead is equivalent to --with-aqua.
More information about the R-SIG-Mac
mailing list