-
Notifications
You must be signed in to change notification settings - Fork 64
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
tidyr install errors OS/X Catalina #188
Comments
Thank you for the report. It looks like we are missing the |
There do seem to be differences. /* Growable vector support */ in /Library/Frameworks/R.framework/Versions/4.0/PrivateHeaders/Rinternals.h it seems to be referenced in |
Tricky thing about
are defined only if
which are prototypes of regular C functions, which we however do not implement in FastR yet. |
As near as I can tell in the Gnu R source these come from memory.c which fastr doesn't appear to include. /* Growable vector support */ tidyr doesn't seem itself to do anything with Rinternals maybe through some other package like cpp11? I tried reinstall that no difference. I was curious about the other errors as well... These seemed to come from the vctrs package. I tried reinstalling that which generates more exceptions on the tidyr install. I restarted my app and was back to the initial errors so that seems to only have had something to do with re-installing vctrs on the fly. The exceptions follow if of interest. tidyr install following vctrs re-install R> install.packages("vctrs") The downloaded source packages are in
|
There are some known issues with
A word of caution here. We understand the importance of Additionally, most of the models are, I assume, going to be implemented in C/C++ and FastR cannot provide any performance advantage over that. We just execute the same C/C++ code as GNU-R. Even worse, the transitions between C/C++ execution and JVM are more costly than in GNU-R, so I do not expect great results from such comparison. What is FastR better at is pure R code execution, for example, if there is some model that is implemented in pure R there I am sure we'd shine. |
I was looking for a few good R classifiers to use in benchmarking. caret's random forest was mentioned as a good implementation of that. |
We have experimental option |
I'm not quite sure how if this doesn't provide the missing symbol in the original error it will correct it? |
fR --BackEnd=llvm --R.BackEndNative=rlang This seems to get back to the original error. |
No, sorry, I did not mean that. I was referring to benchmarking of |
Ah, ok. I was thinking about maybe waiting on that until some of the related packages were working. I was considering including the Weka application in the benchmark that mainly uses the mlr package to run R classifiers. fastr had issues with that #189. I would hope to make the comparisons in as similar a way as possible and it is seeming that could be difficult. |
Can you reproduce with the latest development build?
Yes
If you explicitly used different CRAN mirror than the default, please include its URL.
Also tried CRAN mirror (tidyr 1.1.3) besides MRAN default (tidyr 1.1.2).
$GRAALVM_HOME/bin/R --vm.version
and include the full output.openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment GraalVM CE 21.2.0-dev (build 11.0.11+8-jvmci-21.2-b02)
OpenJDK 64-Bit Server VM GraalVM CE 21.2.0-dev (build 11.0.11+8-jvmci-21.2-b02, mixed mode, sharing)
Output of R built-in function
sessionInfo()
.sessionInfo()
FastR version 4.0.3 (2020-10-10)
Platform: x86_64-apple-darwin19.6.0 (64-bit)
Running under: macOS Catalina 10.15.7
Matrix products: default
BLAS: /Library/Java/JavaVirtualMachines/graalvm-ce-java11-21.2.0-dev/Contents/Home/languages/R/lib/libRblas.dylib
LAPACK: /Library/Java/JavaVirtualMachines/graalvm-ce-java11-21.2.0-dev/Contents/Home/languages/R/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_4.0.3
As shown in sessionInfo()
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.Eliminating just -no-test-load is enough to fail...
install.packages('tidyr', INSTALL_opts='--no-R --no-libs --no-help --no-data --no-demo --no-exec',verbose=TRUE,keep_output=TRUE)
Installing package into ‘/Users/mjh/Documents/R/fastr’
(as ‘lib’ is unspecified)
system (cmd0): /Library/Java/JavaVirtualMachines/graalvm-ce-java11-21.2.0-dev/Contents/Home/languages/R/bin/R CMD INSTALL --no-R --no-libs --no-help --no-data --no-demo --no-exec
Content type 'application/octet-stream' length 881544 bytes (860 KB)
foundpkgs: tidyr, /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/RtmpF0U18f/downloaded_packages/tidyr_1.1.2.tar.gz
files: /var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/RtmpF0U18f/downloaded_packages/tidyr_1.1.2.tar.gz
** package ‘tidyr’ successfully unpacked and MD5 sums checked
** using staged installation
** inst
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
Warning: S3 methods ‘complete.data.frame’, ‘complete.default’, ‘complete_.data.frame’, ‘drop_na.data.frame’, ‘drop_na.default’, ‘drop_na_.data.frame’, ‘expand.data.frame’, ‘expand.default’, ‘expand.grouped_df’, ‘expand_.data.frame’, ‘extract.data.frame’, ‘extract.default’, ‘extract_.data.frame’, ‘fill.data.frame’, ‘fill.default’, ‘fill_.data.frame’, ‘full_seq.Date’, ‘full_seq.POSIXct’, ‘full_seq.numeric’, ‘gather.data.frame’, ‘gather.default’, ‘gather_.data.frame’, ‘nest.data.frame’, ‘nest.grouped_df’, ‘nest.tbl_df’, ‘nest_legacy.data.frame’, ‘nest_legacy.tbl_df’, ‘pivot_longer.data.frame’, ‘pivot_wider.data.frame’, ‘replace_na.data.frame’, ‘replace_na.default’, ‘separate.data.frame’, ‘separate.default’, ‘separate_.data.frame’, ‘separate_rows.data.frame’, ‘separate_rows.default’, ‘separate_rows_.data.frame’, ‘spread.data.frame’, ‘spread.default’, ‘spread_.data.frame’, ‘unite.data.frame’, ‘unite.default’, ‘unite_.data.frame’, ‘unnest.data.frame’, ‘unnest.rowwise_df’, ‘unnest_legacy.data.frame’ were declared in NAMESPACE but not found
Error: package or namespace load failed for ‘tidyr’ in library.dynam(lib, package, package.lib):
shared object ‘tidyr.so’ not found
Error: loading failed
ERROR: loading failed
The downloaded source packages are in
‘/private/var/folders/dh/91wmrk0n6lzfmr4tjhjmcfp40000gn/T/RtmpF0U18f/downloaded_packages’
Warning message:
In install.packages("tidyr", INSTALL_opts = "--no-R --no-libs --no-help --no-data --no-demo --no-exec", :
installation of package ‘tidyr’ had non-zero exit status
But this misses messages in normal verbose installation...
** package ‘tidyr’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/llvm/native/bin/graalvm-native-clang++" -std=gnu++11 -I"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/include" -DNDEBUG -I'/Users/mjh/Documents/R/fastr/cpp11/include' -O2 -DFASTR -DNO_GNUR -fPIC -O2 -DFASTR -DNO_GNUR -c cpp11.cpp -o cpp11.o
"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/llvm/native/bin/graalvm-native-clang++" -std=gnu++11 -I"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/include" -DNDEBUG -I'/Users/mjh/Documents/R/fastr/cpp11/include' -O2 -DFASTR -DNO_GNUR -fPIC -O2 -DFASTR -DNO_GNUR -c fill.cpp -o fill.o
"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/llvm/native/bin/graalvm-native-clang++" -std=gnu++11 -I"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/include" -DNDEBUG -I'/Users/mjh/Documents/R/fastr/cpp11/include' -O2 -DFASTR -DNO_GNUR -fPIC -O2 -DFASTR -DNO_GNUR -c melt.cpp -o melt.o
"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/llvm/native/bin/graalvm-native-clang++" -std=gnu++11 -I"/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/include" -DNDEBUG -I'/Users/mjh/Documents/R/fastr/cpp11/include' -O2 -DFASTR -DNO_GNUR -fPIC -O2 -DFASTR -DNO_GNUR -c simplifyPieces.cpp -o simplifyPieces.o
/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/llvm/native/bin/graalvm-native-clang++ -std=gnu++11 -Wl,-rpath,/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/lib/,-rpath,/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/../llvm/native/lib,-undefined,dynamic_lookup -L/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/lib -undefined dynamic_lookup -L/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/../llvm/native/lib -lf2c -dynamiclib -Wl,-headerpad_max_install_names -single_module -multiply_defined suppress -lR -Wl,-rpath,/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/lib/,-rpath,/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/../llvm/native/lib,-undefined,dynamic_lookup -L/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/lib -L/Users/mjh/HalfPipe/HalfPipe_jpkg/HPGraal11/HalfPipeGraal11.app/Contents/runtime/Contents/Home/languages/R/../llvm/native/lib -dynamiclib -lf2c -o tidyr.so cpp11.o fill.o melt.o simplifyPieces.o
installing to /Users/mjh/Documents/R/fastr/00LOCK-tidyr/00new/tidyr/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
Error in get(paste0(generic, ".", class), envir = get_method_env()) :
object 'vec_ptype2.tbl_df.tbl_df' not found
Error in get(paste0(generic, ".", class), envir = get_method_env()) :
object 'vec_restore.grouped_df' not found
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
Error in get(paste0(generic, ".", class), envir = get_method_env()) :
object 'vec_ptype2.tbl_df.tbl_df' not found
Error in get(paste0(generic, ".", class), envir = get_method_env()) :
object 'vec_restore.grouped_df' not found
Error in polyglot evaluation : dlopen(/Users/mjh/Documents/R/fastr/00LOCK-tidyr/00new/tidyr/libs/tidyr.so, 6): Symbol not found: _SET_GROWABLE_BIT
Referenced from: /Users/mjh/Documents/R/fastr/00LOCK-tidyr/00new/tidyr/libs/tidyr.so
Expected in: flat namespace
in /Users/mjh/Documents/R/fastr/00LOCK-tidyr/00new/tidyr/libs/tidyr.so
ERROR: loading failed
This was run from my application but R command gets same results. 'tidyr' was required as a dependency for the 'caret' package. I also had to name change for some caret dependency as mentioned in
#184
I already made that change to my JavaVirtualMachines installed GraalVM but had to make the changes again for my application embedded JRE. I also had some dependency indicate it couldn't find gfortran even though it should be in PATH...
which gfortran
/usr/local/bin/gfortran
So I made that path the FC value in Makeconf
The text was updated successfully, but these errors were encountered: