Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fail while trying to install package ("devtools") #213

Open
jobdiogenes opened this issue May 14, 2023 · 2 comments
Open

fail while trying to install package ("devtools") #213

jobdiogenes opened this issue May 14, 2023 · 2 comments
Labels

Comments

@jobdiogenes
Copy link

jobdiogenes commented May 14, 2023

Can you reproduce with the latest development build?

yes,
I try in the latest "stable" and in the develop version:

When I try install.package("devtools")
fail in 3 packages: gert, usethis, testthat:

Then
I try: install.package("gert")
get:
"undefined symbol: Rf_warningcall_immediate ERROR: loading failed"

I try: install.package("usethis")
depend of "gert"

I try: install.packages("testthat")
get:
/usr/lib/jvm/graalvm/lib/llvm/bin/../include/c++/v1/__random/uniform_int_distribution.h:234:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng<Catch::RandomNumberGenerator, void>::value':
static_assert(__libcpp_random_is_valid_urng<_URNG>::value, "");

Include the following info

  • If you explicitly used different CRAN mirror than the default, please include its URL.
    no
  • If you were installing the package from sources, include the sources or a link to them.
    no
  • If FastR produced fastr_errors_pid{xyz}.log or fastr_errors.log, attach them to the issue.
    no
  • GraalVM version or git revisions of FastR and GraalVM repositories if built from source.
    no
  • Use $JAVA_HOME/bin/R --vm.version and include the full output.
    openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4-jvmci-23.0-b10) OpenJDK 64-Bit Server VM GraalVM CE 17.0.7-dev+4.1 (build 17.0.7+4-jvmci-23.0-b10, mixed mode, sharing)
  • Alternatively, attach file $JAVA_HOME/release.
    #Fri May 12 05:41:50 GMT 2023 MODULES="java.base java.logging jdk.internal.vm.ci jdk.unsupported org.graalvm.sdk java.datatransfer java.xml java.prefs java.desktop java.management java.transaction.xa java.sql jdk.management org.graalvm.truffle jdk.internal.vm.compiler com.oracle.graal.graal_enterprise com.oracle.svm.extraimage_enterprise com.oracle.svm.svm_enterprise com.oracle.svm_enterprise.ml_dataset java.compiler java.instrument java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.foreign jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.compiler.management jdk.jfr jdk.internal.vm.compiler.truffle.jfr jdk.jartool jdk.javadoc jdk.jcmd jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported.desktop jdk.xml.dom jdk.zipfs org.graalvm.extraimage.builder org.graalvm.js.scriptengine org.graalvm.locator" component_catalog=https\://raw.githubusercontent.com/graalvm/graalvm-ce-dev-builds/78e99eaca1072c09d0f28c77c4aef3c823f5b841/catalog.jdk_17.properties JAVA_VERSION_DATE="2023-04-18" IMPLEMENTOR="GraalVM Community" SOURCE=".\:git\:51a5808aaabc+ labsjdk-builder\:399a337813eef8dd2530c4db71d0a993d07c38da compiler\:6769e12524f387aeaa8a3f336b0509a437382092 graal-js\:2c0bf86f18d9031ff5576be84e0b4be2d9e7031b java-benchmarks\:6769e12524f387aeaa8a3f336b0509a437382092 regex\:6769e12524f387aeaa8a3f336b0509a437382092 sdk\:6769e12524f387aeaa8a3f336b0509a437382092 substratevm\:6769e12524f387aeaa8a3f336b0509a437382092 tools\:6769e12524f387aeaa8a3f336b0509a437382092 truffle\:6769e12524f387aeaa8a3f336b0509a437382092 vm\:6769e12524f387aeaa8a3f336b0509a437382092" OS_ARCH="x86_64" COMMIT_INFO={"compiler"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "graal-js"\: {"commit.committer"\: "Jan Stola <jan.stola@oracle.com>", "commit.committer-ts"\: 1683358665, "commit.rev"\: "2c0bf86f18d9031ff5576be84e0b4be2d9e7031b"}, "java-benchmarks"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "regex"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "sdk"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "substratevm"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "tools"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "truffle"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}, "vm"\: {"commit.committer"\: "Christian Haeubl <christian.haeubl@oracle.com>", "commit.committer-ts"\: 1683796216, "commit.rev"\: "6769e12524f387aeaa8a3f336b0509a437382092"}} GRAALVM_VERSION="23.1.0-dev" OS_NAME="Linux" JAVA_VERSION="17.0.7" LIBC="gnu"
  • Output of R built-in function sessionInfo().
    `
    FastR version 4.0.3 (2020-10-10)
    Platform: x86_64-unknown-linux-gnu (64-bit)
    Running under: Debian GNU/Linux 11 (bullseye)

Matrix products: default
BLAS: /usr/lib/jvm/graalvm/languages/R/lib/libRblas.so
LAPACK: /usr/lib/jvm/graalvm/languages/R/lib/libRlapack.so

locale:
[1] UTF-8/UTF-8/UTF-8/C/UTF-8/UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base
`

  • OS name and version.
    debian 11 stable

Optionally: try to reduce the error

Package installation consists of several steps. Run the installation with the
following options to turn all those steps off and then try removing the
--no-{XYZ} options one by one to determine, which step causes the issue.

I try using the following example with one by one option, to gert, testthat and compile, but still not working to install "devtools" !
with gert need to build with option -no-test-load
with testthat need to build with all options

install.packages('Rcpp', INSTALL_opts='--no-R --no-libs --no-help --no-data --no-demo --no-exec --no-test-load')
@steve-s
Copy link
Member

steve-s commented May 15, 2023

Hello,

thank you for a detailed report. This error:

/usr/lib/jvm/graalvm/lib/llvm/bin/../include/c++/v1/__random/uniform_int_distribution.h:234:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_urng<Catch::RandomNumberGenerator, void>::value':
static_assert(__libcpp_random_is_valid_urng<_URNG>::value, "");

looks like that there may be something wrong going on with the interactions of the GraalVM LLVM Toolchain. You can try switching to your system toolchain by executing:

/path/to/graalvm/bin/R -e 'fastr.setToolchain("native")'

and then trying to install the packages.

That being said:

the devtools package is known to be too complex (many dependencies) and (through its dependencies) reliant on GNU-R specifics to be successfully installable and usable on FastR.

We use testthat to drive tests of other packages on FastR, so basic functionality of testthat should work fine on FastR. However, not all testthat own tests pass on FastR.

@jobdiogenes
Copy link
Author

Hi,

Well, I try native to testthat and works, but gert still same problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants