On 2 January 2012 at 07:44, Michael Lawrence wrote: | Hi Dirk, | | No, I don't have an Itanium around, unfortunately. Without that, it's tough to | say. Probably something to do with the GType arithmetic. On a 64 bit system, I | *think* a GType is a 64 bit integer, whereas in R we only have 52 bits from | double. On most 64 bit architectures, it seems that the type codes fit in 52 | bits, but maybe not on Itanium. This is just a guess though. | | Luke is working on getting 64 bit ints into R, so this may not be a problem for | much longer. Otherwise, the simplest fix would be to represent the codes as | strings.
Won't help with this bug, but did you have a chance to look at Romain's "int64" package (which represents (u)int64_t as two R ints . Google sponsored this as they need it large ints for their table lookups. Dirk | | Thanks, | Michael | | On Fri, Dec 2, 2011 at 9:28 AM, Dirk Eddelbuettel <[email protected]> wrote: | | | On 2 December 2011 at 17:33, Jakub Wilk wrote: | | Source: rgtk2 | | Version: 2.20.19-1 | | Severity: serious | | Justification: fails to build from source | | User: [email protected] | | Usertags: ia64 | | This is a pretty demanding package. | | I can see from the detailed logs at | | https://buildd.debian.org/status/logs.php?pkg=rgtk2 | | that it has not built on ia64 since release 2.12.18-1 in Feb 2010. It may | be | best to block it on ia64. | | Any idea, Mike? I don't presume you have an itanium box around, do you? | | Dirk | | | | | rgtk2 FTBFS on ia64: | | | installing to /build/buildd-rgtk2_2.20.19-1-ia64-_0vVAw/rgtk2-2.20.19/ | debian/r-cran-rgtk2/usr/lib/R/site-library/RGtk2/libs | | | ** R | | | ** demo | | | ** inst | | | ** preparing package for lazy loading | | | ** help | | | *** installing help indices | | | ** building package indices ... | | | ** testing if installed package can be loaded | | | R session is headless; GTK+ not initialized. | | | | | | *** caught segfault *** | | | address 0x1000050, cause 'memory not mapped' | | | | | | Traceback: | | | 1: .Call("R_getGTypeAncestors", type, PACKAGE = "RGtk2") | | | 2: gTypeGetAncestors(parent) | | | 3: gClass("RGtkBuilder", "GtkBuilder", GtkBuilder = list | (get_type_from_name = function(self, name) as.GType(name))) | | | 4: .initClasses() | | | 5: fun(libname, pkgname) | | | 6: doTryCatch(return(expr), name, parentenv, handler) | | | 7: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | | | 8: tryCatchList(expr, classes, parentenv, handlers) | | | 9: tryCatch(fun(libname, pkgname), error = identity) | | | 10: runHook(".onLoad", env, package.lib, package) | | | 11: loadNamespace(package, c(which.lib.loc, lib.loc)) | | | 12: doTryCatch(return(expr), name, parentenv, handler) | | | 13: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | | | 14: tryCatchList(expr, classes, parentenv, handlers) | | | 15: tryCatch(expr, error = function(e) { call <- conditionCall(e) | if (!is.null(call)) { if (identical(call[[1L]], quote | (doTryCatch))) call <- sys.call(-4L) dcall <- | deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") | LONG <- 75L msg <- conditionMessage(e) sm <- | strsplit(msg, "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + | nchar(sm[1L], type = "w") if (is.na(w)) w <- | 14L + nchar(dcall, type = "b") + nchar(sm[1L], type | = "b") if (w > LONG) prefix <- paste(prefix, " | \n ", sep = "") } else prefix <- "Error : " msg <- paste | (prefix, conditionMessage(e), "\n", sep = "") .Internal(seterrmessage | (msg[1L])) if (!silent && identical(getOption("show.error.messages"), | TRUE)) { cat(msg, file = stderr()) | .Internal(printDeferredWarnings()) } invisible(structure(msg, | class = "try-error", condition = e))}) | | | 16: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc)) | dataPath <- file.path(which.lib.loc, package, "data") env <- | attachNamespace(ns, pos = pos, dataPath = dataPath, deps)}) | | | 17: library(pkg_name, lib.loc = lib, character.only = TRUE, | logical.return = TRUE) | | | 18: withCallingHandlers(expr, packageStartupMessage = function(c) | invokeRestart("muffleMessage")) | | | 19: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, | character.only = TRUE, logical.return = TRUE)) | | | 20: doTryCatch(return(expr), name, parentenv, handler) | | | 21: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | | | 22: tryCatchList(expr, classes, parentenv, handlers) | | | 23: tryCatch(expr, error = function(e) { call <- conditionCall(e) | if (!is.null(call)) { if (identical(call[[1L]], quote | (doTryCatch))) call <- sys.call(-4L) dcall <- | deparse(call)[1L] prefix <- paste("Error in", dcall, ": ") | LONG <- 75L msg <- conditionMessage(e) sm <- | strsplit(msg, "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + | nchar(sm[1L], type = "w") if (is.na(w)) w <- | 14L + nchar(dcall, type = "b") + nchar(sm[1L], type | = "b") if (w > LONG) prefix <- paste(prefix, " | \n ", sep = "") } else prefix <- "Error : " msg <- paste | (prefix, conditionMessage(e), "\n", sep = "") .Internal(seterrmessage | (msg[1L])) if (!silent && identical(getOption("show.error.messages"), | TRUE)) { cat(msg, file = stderr()) | .Internal(printDeferredWarnings()) } invisible(structure(msg, | class = "try-error", condition = e))}) | | | 24: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, | character.only = TRUE, logical.return = TRUE))) | | | 25: tools:::.test_load_package("RGtk2", "/build/ | buildd-rgtk2_2.20.19-1-ia64-_0vVAw/rgtk2-2.20.19/debian/r-cran-rgtk2/usr/ | lib/R/site-library") | | | aborting ... | | | Segmentation fault | | | ERROR: loading failed | | | | Full build log: | | https://buildd.debian.org/status/fetch.php?pkg=rgtk2&arch=ia64&ver= | 2.20.19-1&stamp=1322841271 | | | | -- | | Jakub Wilk | | | | | | -- | "Outside of a dog, a book is a man's best friend. Inside of a dog, it is | too | dark to read." -- Groucho Marx | | -- "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too dark to read." -- Groucho Marx -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

