From Thomas Vogels <tov@ece.cmu.edu>  Mon Apr  3 21:42:12 2000
From: Thomas Vogels <tov@ece.cmu.edu> (Thomas J Vogels)
Date: 03 Apr 2000 16:42:12 -0400
Subject: [Rd] AIX fails on startup with R-1.0.0
In-Reply-To: Kurt Hornik's message of "Fri, 31 Mar 2000 19:21:21 +0200 (CEST)"
References: <Pine.GSO.4.21.0003181111590.11158-100000@mail.biostat.washington.edu> <871z561pcm.fsf@bavaria.ece.cmu.edu> <14552.57463.552150.382635@aragorn.ci.tuwien.ac.at> <8766uens46.fsf@bavaria.ece.cmu.edu> <14554.25111.847983.270127@aragorn.ci.tuwien.a
Message-ID: <87bt3qj4rf.fsf@bavaria.ece.cmu.edu>


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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


[Rd] AIX fails on startup with R-1.0.0
Thomas J Vogels