I am trying to build R with 64bit support so I can access more than 2GB of memory on an IBM running AIX. (IBM NightHawk II RS/6000 node with 16 64-bit, 375-MHz POWER3 CPUs and 32 GB of memory, if you want specifics) The 32bit install required little tweaking, but the 64 bit is sufficiently complicated that I thought I would report my findings here and ask for help with the latest (and hopefully last) hurdle. Let me also state I have been amazed at the ease of installations despite the obvious complexity of the install process. I have built R on at least 3 different O/S's with several different compilers, etc. on each platform. I wanted to use R's configure process for some software I am working with and realized just how hard the configure process is -- so my hats off to the developers! #---------------------------------------------------------------------- # Settings in the config.site file # Fortran or C options aren't making it everywhere. #---------------------------------------------------------------------- CC='/usr/bin/xlc' CFLAGS='-q64 ...' F77='/usr/bin/xlf' FFLAGS='-q64 ...' CXX='/usr/bin/xlc' CXXFLAGS='-q64 ...' SHLIB_LDFLAGS=-b64 LDFLAGS='-L/usr/local/lib64/r4i4 -L/usr/lib' bombs out. config.log: configure:15817: checking whether mixed C/Fortran code can be run ** cftest === End of Compilation 1 ==1501-510 Compilation successful for file conftestf.f. ld: 0711-736 ERROR: Input file conftest.o: XCOFF64 object files are not allowed in 32-bit mode. CC='/usr/bin/xlc -q64' F77='/usr/bin/xlf -q64' CXX='/usr/bin/xlc -q64' makes it through. I believe that somewhere there should be a SHLIB_LDFLAGS where there is not. #---------------------------------------------------------------------- #2 const char ... vs char #---------------------------------------------------------------------- had to compile with -qinitauto=00 to get the program to run the program to check for POSIX handling of leapseconds. Without it, the program hangs! #---------------------------------------------------------------------- # There needs to be some way to set an AR_FLAGS variable, ... #---------------------------------------------------------------------- I've tried setting environement variables, running configure and then modifying the top-level Makeconf file to redefine $(AR) to contain the necessary options (see below) but the resulting makefiles all keep getting a (bogus under AIX) "cr" option. So I have to manually edit the top-level Makeconf and manually remove the "cr" from the following makefiles: src/appl/Makefile, src/nmath/Makefile, src/unix/Makefile, src/extra/bzip2/Makefile, src/extra/pcre/Makefile, src/extra/zlib/Makefile ... but that's not all. I edit them "all at once", before I issue the first "make" command, and then I have to edit (just) src/unix/Makefile again -- seems it gets remade at some point. (before configure) setenv AR_FLAGS '-X64 -v -q' did nothing adding Makeconf:AR_FLAGS = -X64 -q -v did nothing '$(AR) cr' hardwired in src/appl/Makefile '$(AR) cr' hardwired in src/nmath/Makefile '$(AR) cr' hardwired in src/unix/Makefile '$(AR) cr' hardwired in src/extra/bzip2/Makefile '$(AR) cr' hardwired in src/extra/pcre/Makefile '$(AR) cr' hardwired in src/extra/zlib/Makefile #---------------------------------------------------------------------- # my problem ... #---------------------------------------------------------------------- Our /lib/crt0.o is the 32bit flavor. We also have a /lib/crt0_64.o so -- I changed the top-level Makeconf to reflect this. R_XTRA_LIBS = /lib/crt0_64.o #---------------------------------------------------------------------- # Something with the X11 support is not working. #---------------------------------------------------------------------- src/modules/X11/Makefile.in defines rules to create .lo objects, which (in 64 bit mode) the AIX compiler does not like. I manually edited the Makefile to reflect the advice from our consultants. The result is attached as a screen dump of the problem area. Any help would be appreciated. Tim ## Tim Hoar, Associate Scientist email: thoar at ucar.edu ## ## Geophysical Statistics Project phone: 303-497-1708 ## ## National Center for Atmospheric Research FAX : 303-497-1333 ## ## Boulder, CO 80307 http://www.cgd.ucar.edu/~thoar ## -------------- next part -------------- exec: export(export,XL_CONFIG=/etc/vac.cfg:xlc,NULL) exec: /usr/vac/bin/CreateExportList(/usr/vac/bin/CreateExportList,/ptmp/thoar/xlcSEtLbjqe,-f,/ptmp/thoar/xlcSFtDbjqd,-X,64,NULL) exec: /bin/ld(/bin/ld,-bM:SRE,-bnoentry,-bM:SRE,-H512,-T512,-bnoentry,-bexpall,-bI:../../../etc/R.exp,-b64,-bpT:0x10000000,-bpD:0x20000000,-b64,-L/usr/lib,-oR_X11.so,dataentry.o,devX11.o,rotated.o,rbitmap.o,-lSM,-lICE,-lX11,-ldl,-ltermcap,-lm,-lc,-L/usr/lpp/xlopt,-lxlopt,-lc,-bE:/ptmp/thoar/xlcSEtLbjqe,NULL) ld: 0711-317 ERROR: Undefined symbol: .Rf_error ld: 0711-317 ERROR: Undefined symbol: .Rf_warning ld: 0711-317 ERROR: Undefined symbol: .Rf_lengthgets ld: 0711-317 ERROR: Undefined symbol: .R_Reprotect ld: 0711-317 ERROR: Undefined symbol: .Rf_mkChar ld: 0711-317 ERROR: Undefined symbol: .SET_STRING_ELT ld: 0711-317 ERROR: Undefined symbol: .Rf_isNull ld: 0711-317 ERROR: Undefined symbol: .SET_VECTOR_ELT ld: 0711-317 ERROR: Undefined symbol: .Rf_isVector ld: 0711-317 ERROR: Undefined symbol: R_NaString ld: 0711-317 ERROR: Undefined symbol: R_NilValue ld: 0711-317 ERROR: Undefined symbol: .Rf_PrintDefaults ld: 0711-317 ERROR: Undefined symbol: .Rf_EncodeElement ld: 0711-317 ERROR: Undefined symbol: .Rf_allocVector ld: 0711-317 ERROR: Undefined symbol: .Rf_coerceVector ld: 0711-317 ERROR: Undefined symbol: .Rf_install ld: 0711-317 ERROR: Undefined symbol: R_GlobalEnv ld: 0711-317 ERROR: Undefined symbol: .Rf_GetOption ld: 0711-317 ERROR: Undefined symbol: .Rf_asInteger ld: 0711-317 ERROR: Undefined symbol: R_NaInt ld: 0711-317 ERROR: Undefined symbol: .Rf_length ld: 0711-317 ERROR: Undefined symbol: .Rf_nthcdr ld: 0711-317 ERROR: Undefined symbol: .R_strtod ld: 0711-317 ERROR: Undefined symbol: .Rf_isBlankString ld: 0711-317 ERROR: Undefined symbol: R_NaReal ld: 0711-317 ERROR: Undefined symbol: .UNIMPLEMENTED ld: 0711-317 ERROR: Undefined symbol: .Rf_duplicate ld: 0711-317 ERROR: Undefined symbol: .R_ProtectWithIndex ld: 0711-317 ERROR: Undefined symbol: R_NamesSymbol ld: 0711-317 ERROR: Undefined symbol: .Rf_getAttrib ld: 0711-317 ERROR: Undefined symbol: .Rf_errorcall ld: 0711-317 ERROR: Undefined symbol: .Rf_protect ld: 0711-317 ERROR: Undefined symbol: .Rf_str2type ld: 0711-317 ERROR: Undefined symbol: .Rf_begincontext ld: 0711-317 ERROR: Undefined symbol: .Rf_endcontext ld: 0711-317 ERROR: Undefined symbol: .Rf_setAttrib ld: 0711-317 ERROR: Undefined symbol: .Rf_unprotect ld: 0711-317 ERROR: Undefined symbol: .R_setX11Routines ld: 0711-317 ERROR: Undefined symbol: .vmaxget ld: 0711-317 ERROR: Undefined symbol: .Rf_asReal ld: 0711-317 ERROR: Undefined symbol: .Rf_isValidString ld: 0711-317 ERROR: Undefined symbol: .Rf_warningcall ld: 0711-317 ERROR: Undefined symbol: .Rf_isString ld: 0711-317 ERROR: Undefined symbol: .Rf_isInteger ld: 0711-317 ERROR: Undefined symbol: .Rf_isLogical ld: 0711-317 ERROR: Undefined symbol: .Rf_isReal ld: 0711-317 ERROR: Undefined symbol: .Rf_RGBpar ld: 0711-317 ERROR: Undefined symbol: .vmaxset ld: 0711-317 ERROR: Undefined symbol: .R_CheckDeviceAvailable ld: 0711-317 ERROR: Undefined symbol: R_interrupts_suspended ld: 0711-317 ERROR: Undefined symbol: .Rf_mkString ld: 0711-317 ERROR: Undefined symbol: .Rf_gsetVar ld: 0711-317 ERROR: Undefined symbol: .GEcreateDevDesc ld: 0711-317 ERROR: Undefined symbol: .Rf_addDevice ld: 0711-317 ERROR: Undefined symbol: .GEinitDisplayList ld: 0711-317 ERROR: Undefined symbol: R_interrupts_pending ld: 0711-317 ERROR: Undefined symbol: .Rf_onintr ld: 0711-317 ERROR: Undefined symbol: .R_alloc ld: 0711-317 ERROR: Undefined symbol: .Rf_findVar ld: 0711-317 ERROR: Undefined symbol: .Rf_elt ld: 0711-317 ERROR: Undefined symbol: .Rf_GetDevice ld: 0711-317 ERROR: Undefined symbol: R_InputHandlers ld: 0711-317 ERROR: Undefined symbol: .getInputHandler ld: 0711-317 ERROR: Undefined symbol: .removeInputHandler ld: 0711-317 ERROR: Undefined symbol: .Rf_devNumber ld: 0711-317 ERROR: Undefined symbol: .Rf_KillDevice ld: 0711-317 ERROR: Undefined symbol: .GEplayDisplayList ld: 0711-317 ERROR: Undefined symbol: .R_ExpandFileName ld: 0711-317 ERROR: Undefined symbol: .R_fopen ld: 0711-317 ERROR: Undefined symbol: .Rf_asLogical ld: 0711-317 ERROR: Undefined symbol: .addInputHandler ld: 0711-317 ERROR: Undefined symbol: .Rprintf ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. unlink: /ptmp/thoar/xlcW0t0bjqa unlink: /ptmp/thoar/xlcW1tBbjqb unlink: /ptmp/thoar/xlcW2tBbjqc unlink: /ptmp/thoar/xlcSEtLbjqe unlink: /ptmp/thoar/xlcSFtDbjqd