vogels@cmu.edu
2001-Jul-29 16:28 UTC
[Rd] Compiling R (1.3.0) on AIX (4.3) fails (PR#1034)
Hi, This email reports bugs in acinclude.m4, src/library/tcltk/src/Makefile, and share/perl/Rd2contents.pl. It is based on R-patched.tgz from 07/27/2001 (R 1.3.0) and comes from trying to compile R on AIX 4.3. 1) acinclude.m4: A string on line 3096 starts with a single quote: ' but is terminated with a double quote: ". (This leads to the weird error message that configure can't execute 'shared' on line 4060.) The fix is simply to use single quotes both times: allow_undefined_flag='${wl}-berok' 2) after configure (with CC=gcc but using AIX's linker /usr/bin/ld), the Makefile in src/library/tcltk/src doesn't protect the linker flags -bI with -Xlinker! (-Xlinker is required when using gcc so that the linker flags are passed on to ld correctly. Which I know that you know...) The fix is to add -Xlinker before every -bI. Sorry, haven't looked into patching configure yet... 3) Rd2contents.pl: this perl script fails in the base library! There are too many files in the man directory and perl reports 'glob failed'. When I try 'ls man/*.Rd' bash also reports that the argument list is too long. I don't know whether this limitation comes from AIX, bash or perl and why it doesn't happen with, say, Linux. The fix is to replace the simple while loop (line 6): while(<$ARGV[0]/man/*.Rd>){ &do_one; } with a loop over the contents of the directory using readdir: if (opendir RD, "$ARGV[0]/man") { my $f; while (defined ($f = readdir RD)) { $_ = "$ARGV[0]/man/$f", &do_one if $f =~ m,.Rd$,; } closedir RD; } A) tkConfig.sh contains a line like this: TK_XINCLUDES='# no special path needed' This has nothing to do with R proper but this bug which is either in AIX or the local installation of X shows up during the compilation of R. Anyhow, this line is plain stupid since when passed on to the compiler _comments out_ the rest of the line! (Think about: gcc fine_program.c #no special path needed -lX11 -Xm ) The fix is to use "TK_XINCLUDES=''" in tkConfig.sh Again, I know this is not a problem with R but I'm adding it here for people to find if they use the mailing list archive. After these changes R compiles (producing warnings about duplicate symbols...) and installs. 'make check' fails in mva--report to follow. Regards, -tom -- Email: vogels@cmu.edu -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
ripley@stats.ox.ac.uk
2001-Jul-29 19:17 UTC
[Rd] Compiling R (1.3.0) on AIX (4.3) fails (PR#1034)
On Sun, 29 Jul 2001 vogels@cmu.edu wrote:> Hi, > > This email reports bugs in acinclude.m4, src/library/tcltk/src/Makefile, > and share/perl/Rd2contents.pl. It is based on R-patched.tgz from 07/27/2001 > (R 1.3.0) and comes from trying to compile R on AIX 4.3.Would that be 2001-07-27? Not all of us live in countries that flout ISO standards!> 1) acinclude.m4: A string on line 3096 starts with a single quote: ' but > is terminated with a double quote: ". (This leads to the weird error > message that configure can't execute 'shared' on line 4060.) > The fix is simply to use single quotes both times: > allow_undefined_flag='${wl}-berok'That is a generated file. It coems from m4/libtool.m4.> 2) after configure (with CC=gcc but using AIX's linker /usr/bin/ld), the > Makefile in src/library/tcltk/src doesn't protect the linker flags -bI > with -Xlinker! (-Xlinker is required when using gcc so that the linker flags > are passed on to ld correctly. Which I know that you know...) > The fix is to add -Xlinker before every -bI. Sorry, haven't looked into > patching configure yet... > > 3) Rd2contents.pl: this perl script fails in the base library! There are > too many files in the man directory and perl reports 'glob failed'. When I > try 'ls man/*.Rd' bash also reports that the argument list is too long. I(! That looks like a bash bug. Your bash version is ? sh is supposed ot have no line length limits.)> don't know whether this limitation comes from AIX, bash or perl and why it > doesn't happen with, say, Linux.Do you have a current perl? Globbing was changed in 5.6.0 to be handled in C code, as I recall. It does not happen on Solaris, Linux or Windows, and I suspect a perl upgrade might fix it. Try 5.6.1, if you are not already using it.> The fix is to replace the simple while loop (line 6): > while(<$ARGV[0]/man/*.Rd>){ &do_one; } > > with a loop over the contents of the directory using readdir: > > if (opendir RD, "$ARGV[0]/man") { > my $f; > while (defined ($f = readdir RD)) { > $_ = "$ARGV[0]/man/$f", &do_one if $f =~ m,.Rd$,; > } > closedir RD; > }(slower and less portable if it is not needed.) Your perl version is ?> A) tkConfig.sh contains a line like this: > TK_XINCLUDES='# no special path needed' > This has nothing to do with R proper but this bug which is either in AIX or > the local installation of X shows up during the compilation of R. Anyhow, > this line is plain stupid since when passed on to the compiler _comments > out_ the rest of the line! (Think about: > gcc fine_program.c #no special path needed -lX11 -Xm > ) The fix is to use "TK_XINCLUDES=''" in tkConfig.sh > Again, I know this is not a problem with R but I'm adding it here for people > to find if they use the mailing list archive. > > After these changes R compiles (producing warnings about duplicate > symbols...) and installs. 'make check' fails in mva--report to follow. > > Regards, > -tom > > -- > Email: vogels@cmu.edu > > > > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- > 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 > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._ >-- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._