Skip to content

R292 on AIX53 using gcc

3 messages · Chuck White

#
I apologize for cross posting this message in the R-help group as well. Having posted it there a couple of hours ago, I felt this may be a more appropriate forum for a question of this type.


Hello -- I am unable to build R 2.9.2 on IBM PowerPC AIX5.3.  I would appreciate 
any help in this matter. 
 
===============details============================== 
Machine:  IBM PowerPC_POWER5 / 4 proc, 1499 MHz 64-bit / AIX 5.3.0.0 
 
Building R 2.9.2 using gcc/g++/gfortran 4.2.4 
 
Config.site changes are: 
  OBJECT_MODE=64 
  CONFIG_SHELL=/usr/bin/bash 
  LIBICONV=/opt/freeware/lib 
  AR="ar -X64" 
  CC="gcc -maix64" 
  F77="gfortran -maix64" 
  LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/64/lib -L/opt/freeware/lib -L/usr/local/lib" 
  CXX="g++ -maix64" 
  FC="gfortran -maix64" 
  R_BROWSER=/opt/freeware/bin/firefox 
  MAKE=/opt/freeware/bin/make 
 
 
Command for configure:  ./configure --enable-R-shlib 
 
Looks like I have to set OBJECT_MODE explicitly on the command line. So, I 
enter: set OBJECT_MODE=64.  It does not seem to help that I have it in 
config.site. 
 
make stops with the following error: 
 
 gcc -maix64 -std=gnu99 -Wl,-brtl -Wl,-bexpall -Wl,-bpT:0x100000000 
-Wl,-bpD:0x110000000 -lc  -L/opt/freeware/lib64 -L/opt/freeware/64/lib 
-L/opt/freeware/lib -L/usr/local/lib -o R.bin Rmain.o -L../../lib -lR 
ld: 0711-224 WARNING: Duplicate symbol: .memcpy 
...duplicate symbol warning for: memcpy,bcopy,memset,fres 
ld: 0711-317 ERROR: Undefined symbol: R_running_as_main_program 
collect2: ld returned 8 exit status 
make: The error code from the last command is 1.
1 day later
#
Hello -- after my previous post, I tried to compile R 2.9.2 using xlc.  The config.site changes are:
 
==================================
OBJECT_MODE=64
AR="ar -X64"
R_SHELL=/usr/bin/bash
CONFIG_SHELL=/usr/bin/bash
 
CC="xlc_r -q64"
CFLAGS="-O -qstrict"
CPPFLAGS="-I/usr/include -I/usr/local/include -I/opt/freeware/include -I/usr/X11R6/include"
CXX="xlC_r -q64"
CXXFLAGS="-O -qstrict"
LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/64/lib -L/opt/freeware/lib -L/usr/local/lib -L/usr/lib"
 
F77="xlf_r -q64"
FFLAGS="-O -qstrict"
FC="xlf95 -q64"
FCFLAGS="-O -qstrict"
 
MAKE=/opt/freeware/bin/make
==================================
 
Error -->
 
mkdir ../../../../library/grDevices/libs
Warning in solve.default(rgb) :
  unable to load shared library '/usr/local/R-2.9.2/modules//lapack.so':
  rtld: 0712-001 Symbol idamax was referenced
      from module /usr/local/R-2.9.2/lib/libRlapack.so(), but a runtime definition
     of the symbol was not found.
rtld: 0712-001 Symbol dger was referenced
      from module /usr/local/R-2.9.2/lib/libRlapack.so(), but a runtime definition
     of the symbol was not found.
..................
Error in solve.default(rgb) : lapack routines cannot be loaded
Error: unable to load R code in package 'grDevices'
Execution halted
make: The error code from the last command is 1.
 
Thanks in advance. I would really appreciate any help.
2 days later
#
Hello -- I haven't received any respones to my previous post on compiling R2.9.2 for AIX 5.3. Meanwhile, I have looked at the following post by Ei-ji Nakama [http://tolstoy.newcastle.edu.au/R/e4/devel/08/07/2171.html] and it appears that all the changes suggested in the patch are already in R2.9.2 Makefiles.

I have also looked at the documentation under R-Forge/AIX page [http://r-forge.r-project.org/projects/aix/]. That does not seem to help either.

Bottomline, I am trying to compile R2.9.2 on a AIX 5.3 Power5 box with gcc 4.3 and get the following error:

	gcc -maix64 -pthread -std=gnu99 -Wl,-brtl -Wl,-bexpall -Wl,-bpT:0x100000000 -Wl,-bpD:0x110000000 -lc  -L/usr/local/lib -o R.bin Rmain.o -L../../lib -lR -lRblas
ld: 0711-224 WARNING: Duplicate symbol: .memcpy, memcpy, .bcopy, bcopy, .memmove, .memset, memset, .fres, fres
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: R_running_as_main_program

Command used: ./configure --enable-R-shlib --enable-BLAS-shlib --without-iconv ; make > make.log 2>&1

I would really appreciate any help. 

Thanks in advance.