[Rd] AIX fails on startup with R-1.0.0
Thomas J Vogels
Thomas Vogels <tov@ece.cmu.edu>
03 Apr 2000 16:42:12 -0400
Kurt,
the saga continues...
> Users of current r-devel snapshots on AIX, can you confirm that
>
> MAINLD=cc SHLIBLD=cc /path/to/configure
> make
yes, this compiles cleanly, make check runs without a hiccup. But
then problems start:
(old) make install fails. I compile in a build directory to make it
easier to nuke the compilation tree. Installation from there fails as
it can't find $(INSTALL_DATA).
/bin/sh: ../tools/install-sh: not found. [repeats six times]
Here is the excerpt from the Makefile:
@(cd $(srcdir); \
for f in $(INSTFILES); do \
- $(INSTALL_DATA) $${f} $(rhome); \
+ pwd; tools/$(INSTALL_DATA) $${f} $(rhome); \
done)
The line with a '-' is the original line. This will fail because
of the cd to srcdir. The line prefixed by '+' works but is a bad
patch. Since INSTALL_DATA is ../tools/install-sh (forced to be on
AIX!), would the following work?
@(for f in $(INSTFILES); do \
$(INSTALL_DATA) $(srcdir)/$${f} $(rhome); \
done)
Somehow, the path to install-sh is not made absolute, as Kurt
expected. AIX is/should be one of the platforms where the use of
the install-sh that comes with R is forced. But the path to it is
relative (not absolute) in Makeconf:
$ grep install-sh Makeconf /dev/null
Makeconf:INSTALL = $(top_srcdir)/tools/install-sh -c
$ grep top_srcdir Makefile /dev/null
Makefile:top_srcdir = ..
(old) the file R.exp doesn't get copied into rhome/etc/. Installation of
packages with source code may/will fail (AIX specific). I don't
know at which step this file should get copied so I can't trace the
Makefiles to see why it doesn't.
(new) Actually, compilation fails for a different reason. E.g. for
date (smallest contrib package I saw):
Installing package `date' ...
libs
gcc -I/afs/ece/usr/tov/opt/arch/lib/R/include -I/usr/local/include -I/afs/ece/usr/tov/opt/share/include -mno-fp-in-toc -fPIC -g -O2 -c char_date.c -o char_date.o
make: *** No rule to make target `*.o', needed by `/afs/ece/usr/tov/opt/arch/lib/R/library/date/libs/date.so'. Stop.
R INSTALL nevertheless proceeds happily with the installation and
reports DONE.
(old) demo(dyn.load) in an R session will fail as R can't find
demo.so. This file doesn't get installed, nor are there
instructions in the README in demos/dynload on how to compile it.
(The hint to run "R SHLIB zero.c" would be nice to have in the
demos/dynload/README.)
The install target in demos/dynload/Makefile will not copy
demo.so. It only copies README, zero.R and zero.c.
[snip]
> > -- ld/cc doesn't automatically include /usr/local/lib while gcc does.
> > This comes from the sytem installation here and has nothing to do with
> > R. But having to add LIBS=-L/usr/local/lib may come as a surprise to
> > people who don't do this regularly.
>
> > Does configure check for the existence of e.g. libz.a with cc or gcc?
> It uses the C compiler specified.
>
> Well, LIBS is needed when you have things in `non-standard' locations.
> Of course your mileage may vary on the definition of non-standard :-)
> Is there anything I/configure could do about this? (Note that I don't
> think that unconditionally adding /usr/local/lib to LIBS is a good
> idea.)
Dunno. As Brian pointed out in his reply, he has to add
/usr/local/lib also on a Solaris machine. At the moment, my humble
suggestion would be to add this in the installation instructions.
At the moment, I'm worried about the missing rule for *.o files. Does
this happen only for me?
Thanks,
-tom
BTW, this happens with code from this morning:
_
platform powerpc-ibm-aix4.3.2.0
arch powerpc
os aix4.3.2.0
system powerpc, aix4.3.2.0
status Under development (unstable)
major 1
minor 1.0
year 2000
month April
day 3
language R
--
mailto:tov@ece.cmu.edu (Tom Vogels) Tel: (412) 268-6638 FAX: -3204
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._