[Rd] AIX 5.3 --enable-R-shlib --with-x ---with-iconv make error with R-2.7.0 and R-2.7.1

Fán Lóng
Thu, 17 Jul 2008 09:43:46 -0000

Hi guys,

I am trying to compile a 64bit version of R 2.7.0 on AIX 5.3. And I am
running into some troubles.  I also try the latest version 2.7.1 and
get the very similar errors.

The machine info:
-----------------------
$uname -srvp
AIX 3 5 powerpc
----------------------



My configuration is this:

----------------------------------------------------------
./configure \
            CC="xlc_r -q64" \
            CFLAGS="-O -qstrict" \
            CXX="xlC_r -q64" \
            CXXFLAGS="-O -qstrict" \
            F77="xlf_r -q64" \
            AR="ar -X64" \
            CPPFLAGS="-I/my_libiconv_dir/include
-I/usr/lpp/X11/include/X11" \
            LDFLAGS="-L/my_libiconv_dir/lib -L/usr/lib
-L/usr/X11R6/lib -L/my_buildR_dir/R-2.7.0/lib" \
            --prefix=/my_R_dir \
            --enable-R-shlib \
            --enable-BLAS-shlib \
            --with-x \
            --with-readline=no \
            --with-libiconv-prefix="/my_libiconv_dir"
------------------------------------------------------------

I don't have the gcc and gfortran installed on the machine, so I use
the native ones. As the manual says, the AIX native iconv does not
support encodings `latin1' nor `""' and so cannot be used. I
install
GNU libiconv to my_libiconv_dir follow the steps in
http://prs.ism.ac.jp/~nakama/AIX/AIX_iconv_CookBook.txt. Thanks Ei-ji
Nakama for this CookBook :)


The configuration step ends ok:

-----------------------------------------------------------

R is now configured for powerpc-ibm-aix5.3.0.0

  Source directory:          .
  Installation directory:    /rnd/homes/my/rdir/AIX/R-2.7.0

  C compiler:                xlc_r -q64 -qlanglvl=extc99  -O -qstrict
  Fortran 77 compiler:       xlf_r -q64  -g

  C++ compiler:              xlC_r -q64  -O -qstrict
  Fortran 90/95 compiler:    xlf95 -g
  Obj-C compiler:

  Interfaces supported:      X11
  External libraries:
  Additional capabilities:   iconv, MBCS, NLS
  Options enabled:           shared BLAS, R profiling, Java

  Recommended packages:      yes

configure: WARNING: you cannot build DVI versions of the R manuals
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer

----------------------------------------------------------------


When trying to compile(gmake), I get the following error message.
First for R-2.7.0 and second for R-2.7.1.


-------------------------------------------------------------------------
make[3]: Entering directory `/my_buildR_dir/R-2.7.0/src/library/splines'
building package 'splines'
make[4]: Entering directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
make[5]: Entering directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
make[5]: `Makedeps' is up to date.
make[5]: Leaving directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
make[5]: Entering directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
xlc_r -q64 -qlanglvl=extc99 -I../../../../include
-I/my_libiconv_dir/include -I/usr/lpp/X11/include/X11      -O -qstrict
-c splines.c -o splines.o
xlc_r -q64 -qlanglvl=extc99 -Wl,-brtl -Wl,-G -Wl,-bexpall
-Wl,-bnoentry -lc -L/my_libiconv_dir/lib -L/usr/lib -L/usr/X11R6/lib
-L/my_buildR_dir/R-2.7.0/lib -o splines.so splines.o   -lm
-L../../../../lib -lR
make[5]: Leaving directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
make[4]: Leaving directory `/my_buildR_dir/R-2.7.0/src/library/splines/src'
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared library
'/my_buildR_dir/R-2.7.0/library/stats/libs/stats.so':
  rtld: 0712-001 Symbol d1mach was referenced
      from module
/my_buildR_dir/R-2.7.0/library/stats/libs/stats.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-001 Symbol interv was referenced
      from module
/my_buildR_dir/R-2.7.0/library/stats/libs/stats.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-002 fatal error: exiting.
Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam
-> dyn.load
Execution halted
make[3]: *** [all] Error 1
make[3]: Leaving directory `/my_buildR_dir/R-2.7.0/src/library/splines'
make[2]: *** [R] Error 1
make[2]: Leaving directory `/my_buildR_dir/R-2.7.0/src/library'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/my_buildR_dir/R-2.7.0/src'
make: *** [R] Error 1
--------------------------------------------------------------------------



------------------------------------------------------------------------
make[3]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library/base'
make[3]: Entering directory `/my_buildR_dir/R-2.7.1/src/library/tools'
building package 'tools'
mkdir ../../../library/tools/R
mkdir ../../../library/tools/po
mkdir ../../../library/tools/man
make[4]: Entering directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
make[5]: Entering directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
make[5]: `Makedeps' is up to date.
make[5]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
make[5]: Entering directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
xlc_r -q64 -qlanglvl=extc99 -I../../../../include
-I/my_libiconv_dir/include -I/usr/lpp/X11/include/X11      -O -qstrict
-c text.c -o text.o
xlc_r -q64 -qlanglvl=extc99 -I../../../../include
-I/my_libiconv_dir/include -I/usr/lpp/X11/include/X11      -O -qstrict
-c init.c -o init.o
xlc_r -q64 -qlanglvl=extc99 -I../../../../include
-I/my_libiconv_dir/include -I/usr/lpp/X11/include/X11      -O -qstrict
-c Rmd5.c -o Rmd5.o
xlc_r -q64 -qlanglvl=extc99 -I../../../../include
-I/my_libiconv_dir/include -I/usr/lpp/X11/include/X11      -O -qstrict
-c md5.c -o md5.o
xlc_r -q64 -qlanglvl=extc99 -Wl,-brtl -Wl,-G -Wl,-bexpall
-Wl,-bnoentry -lc -L/my_libiconv_dir/lib -L/usr/lib -L/usr/X11R6/lib
-L/my_buildR_dir/R-2.7.1/lib -o tools.so text.o init.o Rmd5.o md5.o
-lm
make[5]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
make[4]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library/tools/src'
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared library
'/my_buildR_dir/R-2.7.1/library/tools/libs/tools.so':
  rtld: 0712-001 Symbol TYPEOF was referenced
      from module
/my_buildR_dir/R-2.7.1/library/tools/libs/tools.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-001 Symbol LENGTH was referenced
      from module
/my_buildR_dir/R-2.7.1/library/tools/libs/tools.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-001 Symbol R_CHAR was referenced
      from module
/my_buildR_dir/R-2.7.1/library/tools/libs/tools.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-001 Symbol Rf_isString was referenced
      from module
/my_buildR_dir/R-2.7.1/library/tools/libs/tools.so(), but a runtime
definition
            of the symbol was not found.
rtld: 0712-002 fatal error: exiting.
Calls: ::: ... tryCatch -> tryCatchList -> tryCatchOne ->
<Anonymous>
Execution halted
make[3]: *** [all] Error 1
make[3]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library/tools'
make[2]: *** [R] Error 1
make[2]: Leaving directory `/my_buildR_dir/R-2.7.1/src/library'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/my_buildR_dir/R-2.7.1/src'
make: *** [R] Error 1
-----------------------------------------------------------------------------

You see the symbols d1mach, interv, TYPEOF, R_CHAR and Rf_isString,
were not found. As for the library dependence, I add
/my_libiconv_dir/lib to my LIBPATH to make sure libR.so etc. can find
the libiconv. Thus, stats.so and tools.so could have be loaded. I
don't know where I made a mistake. After looking up the R manual and
diving into Google for help, I've got no usable answer.


Below environment variables may associated:
LIBPATH="/my_libiconv_dir/lib:.:/rnd/homes/my/rdir/AIX/R-2.7.0/lib/R/lib:.:/usr/lib:/lib"
PATH="/rnd/homes/my/rdir/AIX/R-2.7.0/bin:/usr/java5_64/bin:/opt/gnu/bin:/usr/java5/bin:/opt/gnu/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/vacpp/bin:/usr/local/bin:/usr/idebug:."
R_HOME="/rnd/homes/my/rdir/AIX/R-2.7.0"



Thank you in advance,
Foylong