On 16 October 2013 at 11:46, Colin Watson wrote: | Package: r-base | Version: 3.0.1-3 | Severity: important | Tags: patch | User: debian-...@lists.debian.org | Usertags: arm64
Thanks for that, Colin. I put the patch into the R Project's bugzilla at https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15491 as well. We may have to help the R Core with a test or two on the platform. Cheers, Dirk | | The ARM regexp hack is apparently necessary for the forthcoming arm64 | port as well (whose machine name is "aarch64"). I've attached a patch | that extends it to cover this new architecture; but perhaps this is | evidence that the hack should just cover all architectures to save this | kind of manual porting work? | | * Extend SHLIB_* definition hack in install.R to cover aarch64 as well. | | diff -u r-base-3.0.1/debian/arm-perl-regexp.patch r-base-3.0.1/debian/arm-perl-regexp.patch | --- r-base-3.0.1/debian/arm-perl-regexp.patch | +++ r-base-3.0.1/debian/arm-perl-regexp.patch | @@ -5,7 +5,7 @@ | ## can we do better? | mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf") | - sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE)) | -+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc | ++ if (substr( Sys.info()["machine"], 1, 3) == "arm" || Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc | + sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE), perl = TRUE) | + } else { | + sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE)) | @@ -19,7 +19,7 @@ | "Makeconf")) | - SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE)) | - SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE)) | -+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc | ++ if (substr( Sys.info()["machine"], 1, 3) == "arm" || Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc | + SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE), perl = TRUE) | + SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE), perl = TRUE) | + } else { | diff -u r-base-3.0.1/src/library/tools/R/install.R r-base-3.0.1/src/library/tools/R/install.R | --- r-base-3.0.1/src/library/tools/R/install.R | +++ r-base-3.0.1/src/library/tools/R/install.R | @@ -108,7 +108,7 @@ | SHLIB_EXT <- if (WINDOWS) ".dll" else { | ## can we do better? | mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf") | - if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc | + if (substr( Sys.info()["machine"], 1, 3) == "arm" || Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc | sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE), perl = TRUE) | } else { | sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE)) | @@ -1631,7 +1631,7 @@ | mconf <- readLines(file.path(R.home(), | paste0("etc", Sys.getenv("R_ARCH")), | "Makeconf")) | - if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc | + if (substr( Sys.info()["machine"], 1, 3) == "arm" || Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc | SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE), perl = TRUE) | SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE), perl = TRUE) | } else { | | Thanks, | | -- | Colin Watson [cjwat...@ubuntu.com] -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org