On 2015-10-15 15:02, Prof Brian Ripley wrote:
On 15/10/2015 13:32, Michael Felt wrote:
Hi.
Just wanted to let you know I am getting close to packaging R for AIX in
rephrase - would like to be active in keeping R binaries current for
AIX. My interest in not in R per se (rather a colleague who has a
project that uses R, so I hope to assist him, and others like him).
Which version? (You mentioned 3.1.3 and 3.2.2 far below.) There is
little value in reporting on frozen branches, and most value in
reporting on R-devel where all the current changes have been
incorporated.
The reason for reporting old and current releases is to understand what
is new between releases, and what has been around for "awhile".
Note: in the future I shall edit all the "you cannot build, could not
determine ... messages" - and as much as possible, shall focus on
R-devel "packaging".
I (attempt to) 'package' a lot of Opensource tools for AIX. Generally,
the problems are not application code related (sometimes a function
available on one platform, e.g. Linux, but not on AIX) - but most are,
or can be resolved, with modifications via configure.ac, Makefile.in, etc..
Sincerely,
Michael
"Details"...
When configure does complete - config.log starts with:
It was created by R configure 3.1.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --prefix=/opt --sysconfdir=/var/R/etc
--sharedstatedir=/var/R/com --localstatedir=/var/R
--mandir=/usr/share/man --infodir=/opt/share/info/R --with-readline=no
--with-x=no
As I see you are using a recent autoconf (and I shall guess a recent
automake) I would like to try a more version of libtool and see if that
corrects anything. However, even in R-devel I do not see, directly, how
you are using these tools (some projects include either a setup.sh or a
buildconf script to standardize how the project does this.) I am quite
capable of just calling the tools in sequence, but would prefer to
follow your procedure.
I
Starting again - fresh 3.1.3, 3.2.2 and R-devel - all in 32-bit mode,
for the start. The goal is a 64-bit build so that memory management will
be easier.
This is my "standard command for building a package"
CPPFLAGS="-I/opt/buildaix/include -I/opt/include" CFLAGS="-I/opt/include
-I/opt/buildaix/include -O2" ./configure \
--prefix=/opt \
--sysconfdir=/var/R/etc \
--sharedstatedir=/var/R/com \
--localstatedir=/var/R \
--mandir=/usr/share/man \
--infodir=/opt/share/info/R --with-readline=no --with-x=no
Results for 3.1.3
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help
pages
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
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: you cannot build PDF versions of vignettes and help
pages
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
+ make > .buildaix/make.out
sys-std.c: In function 'Rstd_ChooseFile':
sys-std.c:1186:5: warning: implicit declaration of function 'isspace'
[-Wimplicit-function-declaration]
connections.c: In function 'fifo_open':
connections.c:885:5: warning: implicit declaration of function 'open'
[-Wimplicit-function-declaration]
main.c: In function 'dummy_ii':
main.c:1594:5: warning: function returns address of local variable
[enabled by default]
ld: 0711-224 WARNING: Duplicate symbol: .memcpy
ld: 0711-224 WARNING: Duplicate symbol: memcpy
ld: 0711-224 WARNING: Duplicate symbol: .bcopy
ld: 0711-224 WARNING: Duplicate symbol: bcopy
ld: 0711-224 WARNING: Duplicate symbol: .strcmp
ld: 0711-224 WARNING: Duplicate symbol: strcmp
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
Warning in solve.default(rgb) :
unable to load shared object
'/data/prj/cran/32/R-3.1.3/modules//lapack.so':
rtld: 0712-001 Symbol logf was referenced
from module /data/prj/cran/32/R-3.1.3/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: 1254-004 The error code from the last command is 1.
...
Stop.
make returned an error
root@x072:[/data/prj/cran/32/R-3.1.3]
++++++
Notes: Last April I was successful with building R - I do not recall
specifically how I changed the release. I shall determine what I did to
get it to build normally.
++++++
Results for 3.2.2
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help
pages
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
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: you cannot build PDF versions of vignettes and help
pages
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
+ make > .buildaix/make.out
sys-std.c: In function 'Rstd_ChooseFile':
sys-std.c:1189:5: warning: implicit declaration of function 'isspace'
[-Wimplicit-function-declaration]
connections.c: In function 'fifo_open':
connections.c:876:5: warning: implicit declaration of function 'open'
[-Wimplicit-function-declaration]
main.c: In function 'dummy_ii':
main.c:1598:5: warning: function returns address of local variable
[enabled by default]
ld: 0711-415 WARNING: Symbol BM_norm_keep is already exported.
ld: 0711-415 WARNING: Symbol LoadInitFile is already exported.
ld: 0711-415 WARNING: Symbol N01_kind is already exported.
ld: 0711-415 WARNING: Symbol R_ReadItemDepth is already exported.
ld: 0711-224 WARNING: Duplicate symbol: LoadInitFile
ld: 0711-224 WARNING: Duplicate symbol: BM_norm_keep
ld: 0711-224 WARNING: Duplicate symbol: N01_kind
ld: 0711-224 WARNING: Duplicate symbol: R_ReadItemDepth
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
ld: 0711-415 WARNING: Symbol BM_norm_keep is already exported.
ld: 0711-415 WARNING: Symbol LoadInitFile is already exported.
ld: 0711-415 WARNING: Symbol N01_kind is already exported.
ld: 0711-415 WARNING: Symbol R_ReadItemDepth is already exported.
ld: 0711-224 WARNING: Duplicate symbol: LoadInitFile
ld: 0711-224 WARNING: Duplicate symbol: BM_norm_keep
ld: 0711-224 WARNING: Duplicate symbol: N01_kind
ld: 0711-224 WARNING: Duplicate symbol: R_ReadItemDepth
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
ld: 0711-224 WARNING: Duplicate symbol: .memcpy
ld: 0711-224 WARNING: Duplicate symbol: memcpy
ld: 0711-224 WARNING: Duplicate symbol: .bcopy
ld: 0711-224 WARNING: Duplicate symbol: bcopy
ld: 0711-224 WARNING: Duplicate symbol: .strcmp
ld: 0711-224 WARNING: Duplicate symbol: strcmp
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
/bin/sh: There is no process to read data written to a pipe.
Warning in solve.default(rgb) :
unable to load shared object
'/data/prj/cran/32/R-3.2.2/modules//lapack.so':
rtld: 0712-001 Symbol logf was referenced
from module /data/prj/cran/32/R-3.2.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: 1254-004 The error code from the last command is 1.
...
make returned an error
+++++
Here there are similiar - and new problems. The error re: rtld is
usually a compiler (actually ld) flag error - a routine is expected to
be exported in a shared object, but the object is still "static".
I have seen this same problem with at least one R module.
I still am unsure why some functions are being defined double - that
info will come later
root@x072:[/data/prj/cran/32/R-3.2.2]
+++++
From R-devel_2015-10-17.tar.bz2
configure: WARNING: you cannot build PDF versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help
pages
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer
configure: error: bzip2 library and headers are required
buildaix: ./configure ... returned an error
try doing "grep configure: config.log | tail" for possible explanation
try "./configure --help" for additional arguments to buildaix
++++ config.log configure: comments are ++++
configure:35647: checking bzlib.h presence
configure:35647: gcc -E -I/opt/buildaix/include -I/opt/include conftest.c
configure:35647: $? = 1
configure: failed program was:
configure:35647: result: no
configure:35647: checking for bzlib.h
configure:35647: result: no
configure:35712: checking whether bzip2 support suffices
configure:35719: error: bzip2 library and headers are required
configure: exit 1
++++ ++++
Here is a completely new kind of "problem" - a demand for an include
file. bzip2 is available, but configure is looking for it in a different
way and now configure fails.
One comment - the libtool.m4 I see used is quite old. The one I have
on my
system is 2.4.6, and what I see in R says:
R-devel has 2.4.6 .
I am hoping a new libtool will clean up most of the manual work now
needed.
But libtool is hardly used in building R.
# Which release of libtool.m4 was used?
macro_version=2.2.6
macro_revision=1.3012
This may be all that is needed to cleanup what I am doing manually.
working with gcc I have done the following for 64-bit building
export OBJECT_MODE=64
export CFLAGS="-maix64 -O2"
export FFLAGS="-maix64 -O2"
See the manual: flags such as -maix64 should be part of CC, not
CFLAGS. That explains a lot of what was reported.
Specifically,
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Essential-programs-and-libraries
and https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#AIX .
It is safer to put such things on the configure command line or in a
config.site file (they will be found when updating if you do).
[Lots of test output removed.]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel