On Mon, 10 Dec 2007, James T Brown wrote: > R Help List: > > Just curious if anyone has successfully built R on a SPARC > platform running Sun Solaris 10 using the latest Sun Studio > 12 set of compilers. If so, I would be interested in the > compile flags that you used.
Yes, the flags given in the R-admin manual. (We don't currently have a Solaris 10 Sparc box running, but this was with the current Sun Studio 12 at the time, just after it came out.) > I have tried several different builds of version 2.5.1, 2.6.0, > and 2.6.1 using various different compile flags and I am able > to compile and check, but for whatever reason, the "foreign" > package crashes whenever it is loaded. I need the "foreign" > package in order to install the "maptools" package. This is > the error that I am getting when attempting to load "foreign": > >>> library(foreign) >> >> *** caught segfault *** >> address fbb1dc40, cause 'invalid permissions' >> >> Traceback: >> 1: .C("spss_init", PACKAGE = "foreign") >> 2: fun(...) >> 3: doTryCatch(return(expr), name, parentenv, handler) >> 4: tryCatchOne(expr, names, parentenv, handlers[[1]]) >> 5: tryCatchList(expr, classes, parentenv, handlers) >> 6: tryCatch(expr, error = function(e) { call <- >> conditionCall(e) if (!is.null(call)) { if >> (identical(call[[1]], quote(doTryCatch))) call <- >> sys.call(-4) dcall <- deparse(call)[1] prefix <- >> paste("Error in", dcall, ": ") LONGCALL <- 30 if >> (nchar(dcall) > LONGCALL) prefix <- paste(prefix, "\n\t", >> sep = "") } else prefix <- "Error : " msg <- paste(prefix, >> conditionMessage(e), "\n", sep = "") >> .Internal(seterrmessage(msg[1])) if (!silent && >> identical(getOption("show.error.messages"), TRUE)) { >> cat(msg, file = stderr()) .Internal(printDeferredWarnings()) >> } invisible(structure(msg, class = "try-error"))}) >> 7: try({ fun(...) NULL}) >> 8: runHook(".onLoad", package, env, package.lib, package) >> 9: loadNamespace(package, c(which.lib.loc, lib.loc), keep.source = >> keep.source) >> 10: doTryCatch(return(expr), name, parentenv, handler) >> 11: tryCatchOne(expr, names, parentenv, handlers[[1]]) >> 12: tryCatchList(expr, classes, parentenv, handlers) >> 13: tryCatch(expr, error = function(e) { call <- >> conditionCall(e) if (!is.null(call)) { if >> (identical(call[[1]], quote(doTryCatch))) call <- >> sys.call(-4) dcall <- deparse(call)[1] prefix <- >> paste("Error in", dcall, ": ") LONGCALL <- 30 if >> (nchar(dcall) > LONGCALL) prefix <- paste(prefix, "\n\t", >> sep = "") } else prefix <- "Error : " msg <- paste(prefix, >> conditionMessage(e), "\n", sep = "") >> .Internal(seterrmessage(msg[1])) if (!silent && >> identical(getOption("show.error.messages"), TRUE)) { >> cat(msg, file = stderr()) .Internal(printDeferredWarnings()) >> } invisible(structure(msg, class = "try-error"))}) >> 14: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc), >> keep.source = keep.source) dataPath <- file.path(which.lib.loc, >> package, "data") env <- attachNamespace(ns, pos = pos, dataPath = >> dataPath)}) >> 15: library(foreign) >> >> Possible actions: >> 1: abort (with core dump, if enabled) >> 2: normal R exit >> 3: exit R without saving workspace >> 4: exit R saving workspace > > > > The latest build was compiled with the following flags: > >> ./configure --prefix=/usr/local/R-2.5.1 >> --with-blas >> --with-lapack >> --with-tcl-config=/usr/local/lib/tclConfig.sh >> --with-tk-config=/usr/local/lib/tkConfig.sh >> --without-iconv >> R_PAPERSIZE=letter >> SHLIB_CXXLDFLAGS="-G /opt/SUNWspro/lib/libCrun.so" >> CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC >> F77=/opt/SUNWspro/bin/f77 F90=/opt/SUNWspro/bin/f95 >> FC=/opt/SUNWspro/bin/f95 CFLAGS="-mt -ftrap=%none >> -xarch=sparcvis -fPIC -xmemalign=4s" >> CXXFLAGS="-mt -ftrap=%none -xarch=sparcvis -xmemalign=4s" >> FFLAGS="-mt -ftrap=%none -shared -xarch=sparcvis" >> FCFLAGS="-mt -ftrap=%none -shared -xarch=sparcvis" >> LDFLAGS="-V -fPIC -L/usr/local/lib -L/opt/SUNWspro/lib >> -L/usr/sfw/lib -L/usr/lib >> >> -R/usr/local/lib:/opt/SUNWspro/lib:/usr/sfw/lib:/usr/lib" > > > I have been messing with the "xmemalign" flag, but doesn't seem to have much > of an impact. I am curious if there may be a simple compile flag in Sun > Studio 12 that can be set to fix this problem. > > > At any rate, if anyone has been able to successfully build on Sun Solaris 10 > (SPARC) using Sun Studio 12 and the "foreign" package loads without > crashing, > I would be most appreciative if you could let me take a look at your > ".configure" > options. > > > NOTE: So far, the only package that I am having trouble with is > "foreign". Everything > else seems to build and check ok. In fact, when "foreign" is built, > there are no errors > reported during the compile. Also, I have tried > "install.packages("foreign") from > within R to upgrade to the latest version of "foreign". It compiles and > installs, but > once again, it crashes when R attempts to use it producing the > "segfault" error. > > > Any help would be most welcome. > > > Thanks. > > > > Jim > > > -- Brian D. Ripley, [EMAIL PROTECTED] 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 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.