[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'

./configure --with-blas=-'framework vecLib' --with-lapack --with-x \

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  
                  from devQuartz.c:42:
CarbonCore.framework/Headers/Debugging.h:285:2: #else without #if
CarbonCore.framework/Headers/Debugging.h:287:2: #endif without #if
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.
	#test -z "${separator}" && separator=" "
	#if test -z "${LIBR_LDFLAGS}"; then
	#  LIBR_LDFLAGS="-framework Carbon"
	#  LIBR_LDFLAGS="${LIBR_LDFLAGS}${separator}-framework Carbon"
     ## </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