[Rd] AIX & R-devel

Thomas Lumley tlumley@u.washington.edu
Fri, 8 Jun 2001 15:14:30 -0700 (PDT)


On 8 Jun 2001, Thomas Vogels wrote:

>
> Kurt Hornik <Kurt.Hornik@ci.tuwien.ac.at> writes:
>
> > >>>>> Thomas Lumley writes:
> >
> > > The AIX build of the development version isn't quite working due to a
> > > problem in the automatic symbol extraction process.
> >
> > > Compilation of R itself goes fine, but then in the script tools/ldAIX4
> > > doesn't extract the symbols from arithmetic.o.  This is because
> > >   bash-2.01$ nm arithmetic.o
> > >   nm: arithmetic.o: 0654-206 Cannot process the symbol table.
> >
> > > As a result, R_finite is not exported and the vfonts module cannot be
> > > built.  If the necessary symbols are added by hand to etc/R.exp then the
> > > rest of the build proceeds normally.
> >
> > > Compiling arithmetic.c doesn't produce any errors (gcc) and the symbol
> > > table problem doesn't seem to happen for any other object file.
> >
> > > Any ideas?
>
> yes.  What changed from r-release to r-devel is how the endianness
> flags, hw and lw, are handled.  Get rid of the const or the static
> keyword, and arithmetic.c compiles and nm can read the symbol table.
> Looks like a compiler/assembler bug to me...
>
> Suggestion until 'static const int' works in AIX: Change around line 87:
>
> #ifndef _AIX
> #  ifdef WORDS_BIGENDIAN
> static const int hw = 0;
> static const int  lw = 1;
> #  else  /* WORDS_BIGENDIAN */
> static const int hw = 1;
> static const int lw = 0;
> #  endif /* WORDS_BIGENDIAN */
> #else
>         /* 'static const int' doesn't work on AIX */
> #  ifdef WORDS_BIGENDIAN
> static int hw = 0;
> static int  lw = 1;
> #  else  /* WORDS_BIGENDIAN */
> static int hw = 1;
> static int lw = 0;
> #  endif /* WORDS_BIGENDIAN */
> #endif
>
> Above compiles, links, etc. for me with r-devel from today.
>


I'll check this after my build with the native cc/f77 finishes (it takes
about four hours).  It doesn't look as though the native compilers have
this problem -- it's got as far as the help pages, which are the slowest
part.

	-thomas




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