Hi Martin, On 21 January 2016 at 20:02, Martin Michlmayr wrote: | Package: rquantlib | Version: 0.4.2-1 | Severity: normal | User: debian-...@lists.debian.org | Usertags: ftbfs-gcc-6 gcc-6-unknown | | This package fails to build with GCC 6. GCC 6 has not been released | yet, but it's expected that GCC 6 will become the default compiler for | stretch. | | Unfortunately, it's not clear from the log why the build failed. | It's possible there's a bug in this package or in GCC. It's also | possible I reported a non-issue, although I tried to avoid that. | I apologize in advance if this is the case. | | If you have some time to look into this issue, that'd be great. If | not, I can re-test the package with GCC 6 in a few weeks time.
Can you ensure that the other C++ dependencies, notably QuantLib and Rcpp with Build-Depends: r-cran-rcpp (>= 0.11.0), libquantlib0-dev (>= 1.7), are built under the same compiler? We've seen similar breakage with R packages with ABI/API changes. Dirk | | You can find a snapshot of GCC 6 in experimental. To build with | GCC 6, you can set CC=gcc-6 CXX=g++-6 explicitly. | | You may be able to find out more about this issue at | https://gcc.gnu.org/gcc-6/changes.html | | > sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux | ... | > installing to /<<PKGBUILDDIR>>/debian/r-cran-rquantlib/usr/lib/R/site-library/RQuantLib/libs | > ** R | > ** demo | > ** inst | > ** preparing package for lazy loading | > ** help | > *** installing help indices | > ** building package indices | > ** testing if installed package can be loaded | > | > *** caught segfault *** | > address 0x7f7f1504a6c0, cause 'invalid permissions' | > | > Traceback: | > 1: dyn.load(file, DLLpath = DLLpath, ...) | > 2: library.dynam(lib, package, package.lib) | > 3: loadNamespace(package, c(which.lib.loc, lib.loc)) | > 4: doTryCatch(return(expr), name, parentenv, handler) | > 5: tryCatchOne(expr, names, parentenv, handlers[[1L]]) | > 6: tryCatchList(expr, classes, parentenv, handlers) | > 7: 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 <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .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))}) | > 8: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc)) env <- attachNamespace(ns, pos = pos, deps)}) | > 9: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = TRUE) | > 10: withCallingHandlers(expr, packageStartupMessage = function(c) invokeRestart("muffleMessage")) | > 11: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = TRUE)) | > 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 <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .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(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = TRUE))) | > 17: tools:::.test_load_package("RQuantLib", "/<<PKGBUILDDIR>>/debian/r-cran-rquantlib/usr/lib/R/site-library") | > aborting ... | > Segmentation fault | > ERROR: loading failed | > * removing '/<<PKGBUILDDIR>>/debian/r-cran-rquantlib/usr/lib/R/site-library/RQuantLib' | > debian/rules:18: recipe for target 'R_any_arch' failed | > make: *** [R_any_arch] Error 1 | | -- | Martin Michlmayr | Linux for HPE Helion, Hewlett Packard Enterprise -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org