Prof Ripley: >> >> 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.) >
Thanks for reply. Yes, I have tried this, although I had to remove the "-xc99" flag from the CC environment variable. When used as shown in the installation manual, the compile fails: In file included from regex.c:107: /usr/include/stdbool.h:42:2: #error "Use of <stdbool.h> is valid only in a c99 compilation environment." *** Error code 1 The following command caused the error: cpp -M -I../../src/extra/zlib -I../../src/extra/bzip2 -I../../src/extra/pcre -I. -I../../src/include -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H regex.c > regex.d make: Fatal error: Command failed for target `regex.d' Current working directory /apps/local/src/R-2.6.1/src/main *** Error code 1 By removing the "-xc99" flag and setting the others options as specified in the installation manual, the R package builds completely, but the "foreign" package continues to crash when I attempt to load it - all of the other packages that I have tried seem to work just fine. I suspect that since those that have built with GCC are not reporting any trouble, it would be difficult to point a finger at the "foreign" code and claim that this is a bug, but yet, I am not having any trouble with any of the other packages that have been built using Sun Studio 12. Here are the latest "configure" options that I have tried (as specified in the manual, minus the "-xc99" flag): % ./configure --prefix=/usr/local/R-2.6.1 CC=/opt/SUNWspro/bin/cc CFLAGS="-O -xlibmieee" LDFLAGS="-L/usr/local/lib -R/usr/local/lib" CXX=/opt/SUNWspro/bin/CC CXXFLAGS=-O F77=/opt/SUNWspro/bin/f95 FFLAGS=-O FC=/opt/SUNWspro/bin/f95 FCFLAGS=-O CPPFLAGS="-I/usr/local/include" SHLIB_CXXLDFLAGS="-G -lCstd" % make % /usr/local/R-2.6.1/bin/R > library(foreign) *** caught segfault *** address fdde9918, 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, ": ") LONG <- 75 msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1]] if (14 + nchar(dcall, type = "w") + nchar(sm[1], type = "w") > LONG) prefix <- paste(prefix, "\n ", 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, ": ") LONG <- 75 msg <- conditionMessage(e) sm <- strsplit(msg, "\n")[[1]] if (14 + nchar(dcall, type = "w") + nchar(sm[1], type = "w") > LONG) prefix <- paste(prefix, "\n ", 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 I have recently applied several patches for Sun Studio 12. I am tempted to try Sun Studio 11 to see if there is any difference. I guess the other alternative would be to grab the R package from "www.sunfreeware.com". However, most of the 3rd-party packages on my system have been built with Sun Studio 12 - was just hoping to be able to do the same with R. I was also curious if anyone else is using the latest (patched) Sun Studio 12 set of compilers on Sun Solaris 10 (sparc) and had any luck. I am running out of different complier flags to try. I have tried several different flags and most times, the R packages will build, but everytime that I attempt to load "foreign", it crashes. Again, all of the other R packages that I have tried seem to be fine - I am simply running into trouble with "foreign" which I believe is needed for me to install the "maptools" package. All the best. Jim > >> 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 >> >> >> > -- ========================================= James T Brown UNIX System Administrator Depts. of Geography/Fisheries & Wildlife 107 Geography Bldg. Michigan State University East Lansing, MI 48824 email: [EMAIL PROTECTED] ______________________________________________ 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.