I've run into a number of problems.
I'm not sure where they belong, so I thought I'd send it here in hope
someone will send them where they do belong. It mostly seems to be either
errors in the autoconf input or system header weirdness. There was one genuine
compiler bug when compiling saveload.c which google resolved (add
"-xunroll=1" ).
-liconv is missing from LIBS in the configure script causing an undefined
symbol. Adding a line w/ LIBS = "$LIBS -liconv" fixed it. Gnu
libiconv was installed and in the LDPATH. There appears to be a relevant
comment in configure, but machine generated scripts are pretty painful to read
and harder still to understand.
Once I saw in config.log that "-liconv" was missing I just tacked it
on.
configure incorrectly decides that unsetenv(3c) is not present. "man -s 3c
unsetenv" and "nm -Ago /usr/lib/libc.so | egrep setenv" show
otherwise. Modifying config.h by hand fixes that. I didn't bother to read
what configure was up to.
In general, the R Installation and Administration manual section on Solaris is
not quite correct. I'm using U6 and Studio 12, but it required considerable
examination of system headers and fiddling w/ preprocessor symbols. I needed to
set:
DEFS="-D_STDC_C99 -D__STDC__ -D__EXTENSIONS__ "
in config.site.
There's a bit of weirdness about what the starting directory is if one
follows the instructions at the bottom of page 8. It *really* cared what PWD
was when I invoked R. Starting R in the wrong place caused setwd(outDir) to
fail when I invoked testInstalledPackages("base"). Apparently because
R.home() was not prepended to the package name when forming outDir. However,
I'm not entirely sure of that even though I sort of got things to run by
doing a "find . -name base" and moving around before starting R.
Once I got testInstalledPackages("base") to run it failed because
Sys.which() sets "intern = TRUE" which causes
testInstalledPackages("base") to fail w/:
'intern=TRUE' is not implemented on this platform
Setting debug(system) and then resetting intern = FALSE allows the calls to
succeed.
I'm still not done running the tests, so if anyone has suggestions, I'd
appreciate them.
Thanks,
Reg