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

Reply via email to