Open hsselman opened 3 years ago
Hello,
this is certainly weird. It looks like as if jsonlite.so
was not produced at all, the C sources compilation step is completely missing in the log, it should look something like this:
* installing *source* package ‘jsonlite’ ...
** package ‘jsonlite’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
"/home/steve/Software/graalvm-ce-java8-21.0.0/jre/languages/llvm/native/bin/graalvm-native-clang" -I"/home/steve/Software/graalvm-ce-java8-21.0.0/jre/languages/R/include" -DNDEBUG -Iyajl/api -O2 -DFASTR -DNO_GNUR -fvisibility=hidden -fpic -O2 -DFASTR -DNO_GNUR -c base64.c -o base64.o
"/home/steve/Software/graalvm-ce-java8-21.0.0/jre/languages/llvm/native/bin/graalvm-native-clang" -I"/home/steve/Software/graalvm-ce-java8-21.0.0/jre/languages/R/include" -DNDEBUG -Iyajl/api -O2 -DFASTR -DNO_GNUR -fvisibility=hidden -fpic -O2 -DFASTR -DNO_GNUR -c collapse_array.c -o collapse_array.o
.....
I have no idea why R would skip this step (package installation is implemented in base R packages that we take from GNU-R mostly unmodified). Do you use the native or LLVM backend? Could it be that you have somehow corrupted GRAALVM_HOME/languages/R/etc/Makeconf
?
I left out the lines between ** libs
and ** R
. Sorry for not mentioning it! Most certainly is this step executed. I left it out because it contained no obvious errors or warnings, and it does include my own path. I added ...
in original post to stipulate it.
If I would need to add it, I would need to anonimize it. If it would help, I would be more than happy to do so. Let me know.
I use native
backend by setting it: fastr.setToolchain('native')
If I would need to add it, I would need to anonimize it. If it would help, I would be more than happy to do so. Let me know.
yes, sorry that it means extra work, but I think it may shed some light on this. I suspect that the other issues that you just opened may have the same root cause.
@steve-s I added the lines in between in all three issues!
Hello,
so finally we can reproduce the issue and we'll look into it.
Thanks @steve-s !
Hello,
@fangerer managed to reproduce the issue and it seems the immediate cause is the -fvisibility=hidden
. It is not clear to us, why this causes the problem and we'll need to analyze this bit more to do proper fix, but in the meantime you can edit $GRAALVM_HOME/languages/R/etc/Makeconf
and remove the "-fvisibility=hidden
" string from it.
I tried installing
jsonlite
using a local package from source, attached here 00_jsonlite_1.6.1.tar.gz. The same result was achieved using default mirror in FastR. I was using GraalVM + FastR 20.3.0, same error on latest 21.0.0.2. Trying to install onmacOS Catalina 10.15.7
.Error installing
jsonlite
:Output of R built-in function
sessionInfo()
.Adding
--no-test-load
makes installation work, but loadint the packagelibrary(jsonlite)
you still get an error:Do you have anymore suggestions on what I can do? Or is this a bug? I successfully installed GraalVM+FastR 20.3.0 and this package on an Ubuntu 20.04 docker container, so I am quite puzzled right now why it fails in macOS.