R 0.65 and AIX: if it quacks like a duck...
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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._