microsoft / microsoft-r-open

Microsoft R Open Source
212 stars 69 forks source link

Microsoft R v3.4.0 - Segfault on Debian 9 'memory not mapped' #34

Closed MattWeatherford closed 5 years ago

MattWeatherford commented 7 years ago

Installed as root on pretty fresh Debian 9 installation

Installed both the msro and the intel packages

did not see any error in the install output to the screen.

regularuser@debian9-stretch:~$ R

R version 3.4.0 (2017-04-21) -- "You Stupid Darkness" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

caught segfault address 0x50, cause 'memory not mapped'

Traceback: 1: dyn.load(libPath) 2: doTryCatch(return(expr), name, parentenv, handler) 3: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 4: tryCatchList(expr, classes, parentenv, handlers) 5: 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 = outFile) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))}) 6: try(dyn.load(libPath), silent = TRUE) 7: tryLoadMKL(full_path, mklSymbol) 8: fun(libname, pkgname) 9: doTryCatch(return(expr), name, parentenv, handler) 10: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11: tryCatchList(expr, classes, parentenv, handlers) 12: tryCatch(fun(libname, pkgname), error = identity) 13: runHook(".onLoad", env, package.lib, package) 14: loadNamespace(package, lib.loc) 15: doTryCatch(return(expr), name, parentenv, handler) 16: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 17: tryCatchList(expr, classes, parentenv, handlers) 18: tryCatch({ attr(package, "LibPath") <- which.lib.loc ns <- loadNamespace(package, lib.loc) env <- attachNamespace(ns, pos = pos, deps)}, error = function(e) { P <- if (!is.null(cc <- conditionCall(e))) paste(" in", deparse(cc)[1L]) else "" msg <- gettextf("package or namespace load failed for %s%s:\n %s", sQuote(package), P, conditionMessage(e)) if (logical.return) message(paste("Error:", msg), domain = NA) else stop(msg, call. = FALSE, domain = NA)}) 19: library("RevoUtilsMath") 20: do.call("library", list(package)) 21: load_if_installed("RevoUtilsMath") 22: eval(quote({ r <- getOption("repos") if (.Platform$OS.type == "unix") { options(download.file.method = "curl") } r["CRAN"] <- RevoUtils::getRevoRepos() options(repos = r) MRS.is.client <- RevoUtils:::isMicrosoftRClient() isMMLSupported <- FALSE if (identical(.Platform$OS.type, "windows")) { isMMLSupported <- TRUE } if (identical(.Platform$OS.type, "unix") && length(grep("Ubuntu", Sys.info()["version"]))) { if (file.exists("/etc/lsb-release")) { UbuntuReleaseInfo <- scan("/etc/lsb-release", what = "", sep = "\n", quiet = TRUE) if (identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=14.04") || identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=16.04")) { isMMLSupported <- TRUE } } } if (identical(.Platform$OS.type, "unix") && length(grep("el7.x86_64", Sys.info()["release"]))) { isMMLSupported <- TRUE } if (!identical(system.file(package = "RevoScaleR"), "")) { options(defaultPackages = c(getOption("defaultPackages"), "rpart", "lattice", "RevoScaleR", if (!identical(system.file(package = "mrsdeploy"), "") && identical(.Platform$OS, "windows")) "mrsdeploy", if (!identical(system.file(package = "MicrosoftML"), "") && isMMLSupported) "MicrosoftML", "RevoMods", "RevoUtils", "RevoUtilsMath")) if (nchar(hostName <- Sys.getenv("REVOHADOOPHOST")) && nchar(portNumber <- Sys.getenv("REVOHADOOPPORT"))) { RevoScaleR::rxHdfsConnect(hostName = hostName, portNumber = as.numeric(portNumber)) } } .RevoVersionShort <- Revo.version$version.string .RevoVersionShortLen <- regexpr("^. \d+\.\d+", .RevoVersionShort, perl = TRUE) .RevoVersionShort <- substring(.RevoVersionShort, 1, attributes(.RevoVersionShortLen)$match) if ("setWindowTitle" %in% getNamespaceExports("utils")) { if (Revo.version$arch == "x86_64") { .RevoVersionShort <- paste(.RevoVersionShort, "(64-bit)") } try(utils::setWindowTitle(paste(" - ", .RevoVersionShort)), silent = TRUE) } if (.Platform$OS.type == "unix" && capabilities("X11")) { browseAvail <- Sys.which(c("firefox", "mozilla", "galeon", "opera", "xdg-open", "kfmclient", "gnome-moze-remote")) if (any(browseAvail != "")) { options(browser = browseAvail[which(browseAvail != "")[1]]) } } if (.Platform$OS.type == "windows") { options(help_type = "html") } load_if_installed <- function(package) { if (!identical(system.file(package = "RevoUtilsMath"), "")) { do.call("library", list(package)) return(TRUE) } else { return(FALSE) } } if (identical(system.file(package = "RevoScaleR"), "")) { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. Visit \nhttp://go.microsoft.com/fwlink/?LinkID=698301 for more details.\n" } if (Sys.info()["sysname"] == "Darwin") { options(download.file.method = "libcurl") hw.ncpu <- try(system("sysctl hw.physicalcpu", intern = TRUE)) if (!inherits(hw.ncpu, "try-error")) { ncores <- sub("hw.physicalcpu: ", "", hw.ncpu) MKLmsg = paste0("Multithreaded BLAS/LAPACK libraries detected. Using ", ncores, " cores for math algorithms.\n") } } else { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg = "" } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. \n\nVisit http://go.microsoft.com/fwlink/?LinkID=698301 for more details." } } } else { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg <- "" } quiet <- any(match(c("-q", "--silent", "--quiet", "--slave"), commandArgs()), na.rm = TRUE) if (!quiet && !identical(system.file(package = "RevoScaleR"), "")) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft\n\n") if (MRS.is.client == FALSE) { ScaleRPkgName <- "RevoScaleR" pkgVersion <- utils::packageDescription(ScaleRPkgName)$Version cat("Loading Microsoft R Server packages, version ", pkgVersion, ".\n", sep = "") } else { RclientPkgName <- "MicrosoftR" pkgVersion <- utils::packageDescription(RclientPkgName)$Version cat("Loading Microsoft R Client packages, version ", pkgVersion, ". \n", sep = "") cat("Microsoft R Client limits some functions to available memory.\n") cat("See: https://go.microsoft.com/fwlink/?linkid=799476 for information\n", sep = "") cat("about additional features.\n\n", sep = "") } cat("Type 'readme()' for release notes, privacy() for privacy policy, or\n", sep = "") cat("'RevoLicense()' for licensing information.\n\n", sep = "") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg, MROversion, sep = " ") } cat(paste("Default CRAN mirror snapshot taken on ", repos.date, ".\n", sep = "")) cat("See: https://mran.microsoft.com/.", "\n\n", sep = "") mrupdate::mrCheckForUpdates() } else if (!quiet) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft Corporation\n\n") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg) } cat("\nDefault CRAN mirror snapshot taken on ", repos.date, ".", sep = "") cat("\n", "See: https://mran.microsoft.com/.", sep = "") cat("\n\n") }}), new.env()) 23: eval(quote({ r <- getOption("repos") if (.Platform$OS.type == "unix") { options(download.file.method = "curl") } r["CRAN"] <- RevoUtils::getRevoRepos() options(repos = r) MRS.is.client <- RevoUtils:::isMicrosoftRClient() isMMLSupported <- FALSE if (identical(.Platform$OS.type, "windows")) { isMMLSupported <- TRUE } if (identical(.Platform$OS.type, "unix") && length(grep("Ubuntu", Sys.info()["version"]))) { if (file.exists("/etc/lsb-release")) { UbuntuReleaseInfo <- scan("/etc/lsb-release", what = "", sep = "\n", quiet = TRUE) if (identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=14.04") || identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=16.04")) { isMMLSupported <- TRUE } } } if (identical(.Platform$OS.type, "unix") && length(grep("el7.x86_64", Sys.info()["release"]))) { isMMLSupported <- TRUE } if (!identical(system.file(package = "RevoScaleR"), "")) { options(defaultPackages = c(getOption("defaultPackages"), "rpart", "lattice", "RevoScaleR", if (!identical(system.file(package = "mrsdeploy"), "") && identical(.Platform$OS, "windows")) "mrsdeploy", if (!identical(system.file(package = "MicrosoftML"), "") && isMMLSupported) "MicrosoftML", "RevoMods", "RevoUtils", "RevoUtilsMath")) if (nchar(hostName <- Sys.getenv("REVOHADOOPHOST")) && nchar(portNumber <- Sys.getenv("REVOHADOOPPORT"))) { RevoScaleR::rxHdfsConnect(hostName = hostName, portNumber = as.numeric(portNumber)) } } .RevoVersionShort <- Revo.version$version.string .RevoVersionShortLen <- regexpr("^. \d+\.\d+", .RevoVersionShort, perl = TRUE) .RevoVersionShort <- substring(.RevoVersionShort, 1, attributes(.RevoVersionShortLen)$match) if ("setWindowTitle" %in% getNamespaceExports("utils")) { if (Revo.version$arch == "x86_64") { .RevoVersionShort <- paste(.RevoVersionShort, "(64-bit)") } try(utils::setWindowTitle(paste(" - ", .RevoVersionShort)), silent = TRUE) } if (.Platform$OS.type == "unix" && capabilities("X11")) { browseAvail <- Sys.which(c("firefox", "mozilla", "galeon", "opera", "xdg-open", "kfmclient", "gnome-moze-remote")) if (any(browseAvail != "")) { options(browser = browseAvail[which(browseAvail != "")[1]]) } } if (.Platform$OS.type == "windows") { options(help_type = "html") } load_if_installed <- function(package) { if (!identical(system.file(package = "RevoUtilsMath"), "")) { do.call("library", list(package)) return(TRUE) } else { return(FALSE) } } if (identical(system.file(package = "RevoScaleR"), "")) { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. Visit \nhttp://go.microsoft.com/fwlink/?LinkID=698301 for more details.\n" } if (Sys.info()["sysname"] == "Darwin") { options(download.file.method = "libcurl") hw.ncpu <- try(system("sysctl hw.physicalcpu", intern = TRUE)) if (!inherits(hw.ncpu, "try-error")) { ncores <- sub("hw.physicalcpu: ", "", hw.ncpu) MKLmsg = paste0("Multithreaded BLAS/LAPACK libraries detected. Using ", ncores, " cores for math algorithms.\n") } } else { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg = "" } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. \n\nVisit http://go.microsoft.com/fwlink/?LinkID=698301 for more details." } } } else { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg <- "" } quiet <- any(match(c("-q", "--silent", "--quiet", "--slave"), commandArgs()), na.rm = TRUE) if (!quiet && !identical(system.file(package = "RevoScaleR"), "")) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft\n\n") if (MRS.is.client == FALSE) { ScaleRPkgName <- "RevoScaleR" pkgVersion <- utils::packageDescription(ScaleRPkgName)$Version cat("Loading Microsoft R Server packages, version ", pkgVersion, ".\n", sep = "") } else { RclientPkgName <- "MicrosoftR" pkgVersion <- utils::packageDescription(RclientPkgName)$Version cat("Loading Microsoft R Client packages, version ", pkgVersion, ". \n", sep = "") cat("Microsoft R Client limits some functions to available memory.\n") cat("See: https://go.microsoft.com/fwlink/?linkid=799476 for information\n", sep = "") cat("about additional features.\n\n", sep = "") } cat("Type 'readme()' for release notes, privacy() for privacy policy, or\n", sep = "") cat("'RevoLicense()' for licensing information.\n\n", sep = "") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg, MROversion, sep = " ") } cat(paste("Default CRAN mirror snapshot taken on ", repos.date, ".\n", sep = "")) cat("See: https://mran.microsoft.com/.", "\n\n", sep = "") mrupdate::mrCheckForUpdates() } else if (!quiet) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft Corporation\n\n") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg) } cat("\nDefault CRAN mirror snapshot taken on ", repos.date, ".", sep = "") cat("\n", "See: https://mran.microsoft.com/.", sep = "") cat("\n\n") }}), new.env()) 24: eval(expr, p) 25: eval(expr, p) 26: eval.parent(substitute(eval(quote(expr), envir))) 27: local({ r <- getOption("repos") if (.Platform$OS.type == "unix") { options(download.file.method = "curl") } r["CRAN"] <- RevoUtils::getRevoRepos() options(repos = r) MRS.is.client <- RevoUtils:::isMicrosoftRClient() isMMLSupported <- FALSE if (identical(.Platform$OS.type, "windows")) { isMMLSupported <- TRUE } if (identical(.Platform$OS.type, "unix") && length(grep("Ubuntu", Sys.info()["version"]))) { if (file.exists("/etc/lsb-release")) { UbuntuReleaseInfo <- scan("/etc/lsb-release", what = "", sep = "\n", quiet = TRUE) if (identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=14.04") || identical(UbuntuReleaseInfo[2], "DISTRIB_RELEASE=16.04")) { isMMLSupported <- TRUE } } } if (identical(.Platform$OS.type, "unix") && length(grep("el7.x86_64", Sys.info()["release"]))) { isMMLSupported <- TRUE } if (!identical(system.file(package = "RevoScaleR"), "")) { options(defaultPackages = c(getOption("defaultPackages"), "rpart", "lattice", "RevoScaleR", if (!identical(system.file(package = "mrsdeploy"), "") && identical(.Platform$OS, "windows")) "mrsdeploy", if (!identical(system.file(package = "MicrosoftML"), "") && isMMLSupported) "MicrosoftML", "RevoMods", "RevoUtils", "RevoUtilsMath")) if (nchar(hostName <- Sys.getenv("REVOHADOOPHOST")) && nchar(portNumber <- Sys.getenv("REVOHADOOPPORT"))) { RevoScaleR::rxHdfsConnect(hostName = hostName, portNumber = as.numeric(portNumber)) } } .RevoVersionShort <- Revo.version$version.string .RevoVersionShortLen <- regexpr("^.* \d+\.\d+", .RevoVersionShort, perl = TRUE) .RevoVersionShort <- substring(.RevoVersionShort, 1, attributes(.RevoVersionShortLen)$match) if ("setWindowTitle" %in% getNamespaceExports("utils")) { if (Revo.version$arch == "x86_64") { .RevoVersionShort <- paste(.RevoVersionShort, "(64-bit)") } try(utils::setWindowTitle(paste(" - ", .RevoVersionShort)), silent = TRUE) } if (.Platform$OS.type == "unix" && capabilities("X11")) { browseAvail <- Sys.which(c("firefox", "mozilla", "galeon", "opera", "xdg-open", "kfmclient", "gnome-moze-remote")) if (any(browseAvail != "")) { options(browser = browseAvail[which(browseAvail != "")[1]]) } } if (.Platform$OS.type == "windows") { options(help_type = "html") } load_if_installed <- function(package) { if (!identical(system.file(package = "RevoUtilsMath"), "")) { do.call("library", list(package)) return(TRUE) } else { return(FALSE) } } if (identical(system.file(package = "RevoScaleR"), "")) { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. Visit \nhttp://go.microsoft.com/fwlink/?LinkID=698301 for more details.\n" } if (Sys.info()["sysname"] == "Darwin") { options(download.file.method = "libcurl") hw.ncpu <- try(system("sysctl hw.physicalcpu", intern = TRUE)) if (!inherits(hw.ncpu, "try-error")) { ncores <- sub("hw.physicalcpu: ", "", hw.ncpu) MKLmsg = paste0("Multithreaded BLAS/LAPACK libraries detected. Using ", ncores, " cores for math algorithms.\n") } } else { if (load_if_installed("RevoUtilsMath")) { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg = "" } else { MROversion <- paste(Revo.version$major, Revo.version$minor, sep = ".") MKLmsg <- "No performance acceleration libraries were detected. To take advantage of \nthe available processing power, also install MKL for R Open. \n\nVisit http://go.microsoft.com/fwlink/?LinkID=698301 for more details." } } } else { ncores <- RevoUtilsMath::getMKLthreads() MKLmsg <- "" } quiet <- any(match(c("-q", "--silent", "--quiet", "--slave"), commandArgs()), na.rm = TRUE) if (!quiet && !identical(system.file(package = "RevoScaleR"), "")) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft\n\n") if (MRS.is.client == FALSE) { ScaleRPkgName <- "RevoScaleR" pkgVersion <- utils::packageDescription(ScaleRPkgName)$Version cat("Loading Microsoft R Server packages, version ", pkgVersion, ".\n", sep = "") } else { RclientPkgName <- "MicrosoftR" pkgVersion <- utils::packageDescription(RclientPkgName)$Version cat("Loading Microsoft R Client packages, version ", pkgVersion, ". \n", sep = "") cat("Microsoft R Client limits some functions to available memory.\n") cat("See: https://go.microsoft.com/fwlink/?linkid=799476 for information\n", sep = "") cat("about additional features.\n\n", sep = "") } cat("Type 'readme()' for release notes, privacy() for privacy policy, or\n", sep = "") cat("'RevoLicense()' for licensing information.\n\n", sep = "") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg, MROversion, sep = " ") } cat(paste("Default CRAN mirror snapshot taken on ", repos.date, ".\n", sep = "")) cat("See: https://mran.microsoft.com/.", "\n\n", sep = "") mrupdate::mrCheckForUpdates() } else if (!quiet) { cat("Microsoft R Open ", R.version$major, ".", R.version$minor, "\n", sep = "") cat("The enhanced R distribution from Microsoft\n", sep = "") cat("Microsoft packages Copyright (C)", Revo.version$year, "Microsoft Corporation\n\n") if (MKLmsg == "") { cat(paste("Using the Intel MKL for parallel mathematical computing(using", ncores, "cores).\n", sep = " ")) } else { cat(MKLmsg) } cat("\nDefault CRAN mirror snapshot taken on ", repos.date, ".", sep = "") cat("\n", "See: https://mran.microsoft.com/.", sep = "") cat("\n\n") }})

Possible actions: 1: abort (with core dump, if enabled) 2: normal R exit 3: exit R without saving workspace 4: exit R saving workspace Selection: 2 Save workspace image? [y/n/c]: n Warning message: In doTryCatch(return(expr), name, parentenv, handler) : unable to load shared object '/usr/lib64/microsoft-r/3.4/lib64/R/modules//R_X11.so': libpng12.so.0: cannot open shared object file: No such file or directory testu1@debian9-stretch-vm-template:~$

This was the fix for me: (as root)

apt-get install libpng16-16

cd /usr/lib/x86_64-linux-gnu

ln -s libpng16.so.16.28.0 libpng12.so.0

Could this be added to the installer?

seanv507 commented 7 years ago

I had the same issue on debian 9

tc-mustang commented 6 years ago

Had the same issue on Pop!_os The fix worked for me too.

MattWeatherford commented 6 years ago

Just out of curiosity, @tc-mustang, is this still a problem on MS R 3.4.3 ? or were you using 3.4.0 ? thanks, Matt

tc-mustang commented 6 years ago

I was using 3.4.3

matthiasgomolka commented 6 years ago

I get the same error in Pop!_os, but the proposed fix does not work.

cauldnz commented 6 years ago

I had this issue on Ubuntu 17.10 with MRO 3.4.3. Obviusly looking to link an older version of libpng

The below worked for me.

wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb \
  && dpkg -i /tmp/libpng12.deb \
  && rm /tmp/libpng12.deb
omega1x commented 6 years ago

I had the same issue on Ubuntu 18.04 with MRO 3.5.0. MattWeatherford's fix worked great with libpng16.so.16.34.0

karltk commented 5 years ago

The problem appears to persist in MRO 3.5.1 on Ubuntu 18.04.

raivivek commented 5 years ago

Yes, happens with me too.

jeroenterheerdt commented 5 years ago

the (install page)]https://mran.microsoft.com/documents/rro/installation] actually mentions the requirement to install the libpng package separately:

On Ubuntu 18.04, you must also install libpng12 from the Linux Kernel archives, as it is no longer part of the Ubuntu distribution, as follows:

wget https://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
dpkg -i libpng12-01_1.2.54-1ubuntu1_amd64.deb