From Kurt.Hornik@ci.tuwien.ac.at  Wed Jul 21 11:19:36 1999
From: Kurt.Hornik@ci.tuwien.ac.at (Kurt Hornik)
Date: Wed, 21 Jul 1999 12:19:36 +0200
Subject: R 0.65 and AIX: if it quacks like a duck...
In-Reply-To: <199907200204.WAA13374@infiniti.ece.cmu.edu>
References: <199907200204.WAA13374@infiniti.ece.cmu.edu>
Message-ID: <199907211019.MAA00733@aragorn.ci.tuwien.ac.at>

>>>>> Thomas Vogels writes:

> Hi,

>   this relates to R-devel of 1999/July/18.  I will outline what I had
> to change to get R to compile with cc then with gcc.  Note that R
> compiled with cc works, R compiled with gcc is broken.

> --> Compile with cc:

> 1) Edit src/main/saveload.c: disable the undefine! With the #undef
> _XOPEN_SOURCE_EXTENDED the compilation dies an untimely death.
> (And the header files are not as badly broken for cc!)

> 2) Edit src/appl/sock.c: dto.

Done.

> 3) Edit src/unix/system.c: need a "break;" after default: in line 752
> (yes, won't compile without)

Already taken care of

> 4) Edit src/main/builtin.c: line 318 should read "#endif /* NOT_used */"
>  (get rids of the warning)

???

> 5) CC=cc ../configure

> Note this is broken for the dependency check (ld barfs the error
> message to stdout instead of the log file?)
> checking whether cc accepts -M for generating dependencies... ld:
> 0711-317 ERROR
> : Undefined symbol: .main
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
> information.
> no

Fixed, hopefully.

> Note 2 that configure leaves a file called "-fp-no-toc" behind.  Oops.

???

> 6) make && make check and everything looks ok.


> --> Compile with gcc:

> 1) 2) 3) 4) like above

> Additionally edit *sock.c:

> 5b) In appl/Rsock.c and appl/sock.c added `#include "Rconfig.h"'
> (This doesn't hurt the cc compilation.)

> 6b) CC=gcc ../configure

> Surprises:  this finds libcurses and libz.  I don't know where,
> though.  So I manually remove -lreadline -lz -lcurses from the LIBS
> line in Makeconf.  Note that I add my private readline with the help
> of CPPFLAGS and LIBS in config.site (thanks, Kurt).

:-)

> 7b) edit Rconfig.h:
> #ifdef __GNUC__
> typedef long blkcnt_t;
> #endif

> Yes, I NEED this for gcc 2.8.1.  This is a gcc bug, because gcc
> -I/usr/include will compile.  What I've learned is that it is
> essential to verify which include files the compiler finds, these are
> not always the ones in /usr/include!  Maybe configure can pick this
> up?

It does now.

> This gets you to a point where things will compile.  What remains is
> the NaN and Inf problem.  I've tried to disable the finite function by
> overriding the configure result (a la finite=no).  But then R core
> dumps.  And uh, those ugly tick marks...

> I'm afraid this all doesn't make too much sense, it's a mess.

> Lemme know, if there is something you want me to try.  

Work in progress ...

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


R 0.65 and AIX: if it quacks like a duck...
Kurt Hornik