[ https://issues.apache.org/jira/browse/ARROW-11963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17303727#comment-17303727 ]
Ahmed Riza commented on ARROW-11963: ------------------------------------ Indeed, it does appear that the `hardening` flags on RHEL systems is the issue. Just compiled R 4.0.4 from source, and the "arrow" package installation from R works fine. {code:java} g++ -std=gnu++11 -shared -L/opt/R-4.0.4/lib64/R/lib -L/usr/local/lib64 -o arrow.so array.o array_from_vector.o array_to_vector.o arraydata.o arrowExports.o buffer.o chunkedarray.o compression.o compute.o csv.o dataset.o datatype.o expre ssion.o feather.o field.o filesystem.o imports.o io.o json.o memorypool.o message.o parquet.o py-to-r.o recordbatch.o recordbatchreader.o recordbatchwriter.o scalar.o schema.o symbols.o table.o threadpool.o -L/tmp/RtmpxaRDF7/R.INSTALL27 f2ec9c341c/arrow/libarrow/arrow-3.0.0/lib -larrow_dataset -lparquet -larrow -larrow -larrow_bundled_dependencies -larrow_dataset -lparquet -L/opt/R-4.0.4/lib64/R/lib -lR installing to /home/ahmed/R/x86_64-pc-linux-gnu-library/4.0/00LOCK-arrow/00new/arrow/libs ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (arrow) The downloaded source packages are in ‘/tmp/RtmpEkkgkI/downloaded_packages’ > library(arrow) Attaching package: ‘arrow’ The following object is masked from ‘package:utils’: timestamp > df <- read_parquet("/tmp/small.parquet") Error: IOError: NotImplemented: Support for codec 'snappy' not built {code} Will fix that last error since it looks like the installer doesn't build arrow with `snappy` compression by default. > Arrow installation issue with R 4.0.4 on Fedora 33 > -------------------------------------------------- > > Key: ARROW-11963 > URL: https://issues.apache.org/jira/browse/ARROW-11963 > Project: Apache Arrow > Issue Type: Bug > Components: R > Affects Versions: 3.0.0 > Environment: Linux, Fedora 33 > Reporter: Ahmed Riza > Priority: Major > Attachments: R_arrow_install.log.gz, R_arrow_install_clean.log.gz, > R_install_20210317204844.log.gz, R_install_with_debug.log.gz, cmake.log, > jemalloc_ep_config.log, make.log.gz > > > I have been trying to install "arrow" package, using R 4.0.4 on Linux (Fedora > 33). I have built and installed the C++ arrow libraries (using release > version 3.0.0) following the instructions at > [https://arrow.apache.org/docs/r/.|https://arrow.apache.org/docs/r/] > Then, from R, I tried to install "arrow": > {code:java} > install.packages("arrow"){code} > This fails during the verification stage: > {code:java} > ** testing if installed package can be loaded from temporary location > sh: line 1: 8386 Segmentation fault (core dumped) R_TESTS= > '/usr/lib64/R/bin/R' --no-save --no-restore --no-echo 2>&1 < > '/tmp/RtmpWtq6vV/file1f4b570a7335' > caught segfault *** > address (nil), cause 'memory not mapped' > Traceback: > 1: dyn.load(file, DLLpath = DLLpath, ...) > 2: library.dynam(lib, package, package.lib) > 3: loadNamespace(package, lib.loc) > 4: doTryCatch(return(expr), name, parentenv, handler) > 5: tryCatchOne(expr, names, parentenv, handlers[[1L]]) > 6: tryCatchList(expr, classes, parentenv, handlers) > 7: tryCatch({ attr(package, "LibPath") <- which.lib.loc ns <- > loadNamespace(package, lib.loc) env <- attachNamespace(ns, pos = pos, > deps, exclude, include.only)}, 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), do > main = NA) else stop(msg, call. = FALSE, domain = NA)}) > 8: library(pkg_name, lib.loc = lib, character.only = TRUE, logical.return = > TRUE) > 9: withCallingHandlers(expr, packageStartupMessage = function(c) > tryInvokeRestart("muffleMessage")) > 10: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, > character.only = TRUE, logical.return = TRUE)) > 11: doTryCatch(return(expr), name, parentenv, handler) > 12: tryCatchOne(expr, names, parentenv, handlers[[1L]]) > 13: tryCatchList(expr, classes, parentenv, handlers) > 14: 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 > <- past > e("Error in", dcall, ": ") LONG <- 75L sm <- > strsplit(conditionMessage(e), "\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 && isTRUE(getOption("show.error.messages"))) { > cat(msg, file = outFile) .Internal(printDeferredWarnings()) } > invisible(structure(msg, class = "try-error", condition = e))}) > 15: try(suppressPackageStartupMessages(library(pkg_name, lib.loc = lib, > character.only = TRUE, logical.return = TRUE))) > 16: tools:::.test_load_package("arrow", > "/work/R/x86_64-redhat-linux-gnu-library/4.0/00LOCK-arrow/00new") > An irrecoverable exception occurred. R is aborting now ... > ERROR: loading failed > {code} > R version info: > {code:java} > R version 4.0.4 (2021-02-15) -- "Lost Library Book" > Copyright (C) 2021 The R Foundation for Statistical Computing > Platform: x86_64-redhat-linux-gnu (64-bit) > {code} > Any thoughts on where to look? (I can only get arrow to work with the latest > development version of R and not the release version of 4.0.4). Thanks. -- This message was sent by Atlassian Jira (v8.3.4#803005)