Skip to content
Prev 3630 / 63424 Next

AIX fails on startup with R-1.0.0

Kurt,

  the saga continues...
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]
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