oracle / fastr

A high-performance implementation of the R programming language, built on GraalVM.
Other
623 stars 64 forks source link

Error installing package 'lobstr' #48

Closed rbotafogo closed 5 years ago

rbotafogo commented 5 years ago

I got package 'lobstr' working on RC10, but in RC11 I get the following error.

Error: package or namespace load failed for ‘lobstr’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/rbotafogo/lib/graalvm-ce-1.0.0-rc11/jre/languages/R/library/lobstr/libs/lobstr.so' /home/rbotafogo/lib/graalvm-ce-1.0.0-rc11/jre/languages/R/library/lobstr/libs/lobstr.so: undefined symbol: ALTREP Error: loading failed

steve-s commented 5 years ago

Hi Rodrigo,

thank you for the report. We do not support the ALTREP framework yet. In the meantime, we can provide a dummy implementation of the ALTREP functions so that packages like lobstr can install and work -- and this fix is now queued in our internal system. I've tried installing lobstr and it seems to be working fine.

Note that packages like lobstr look under the hood of the R engine and they may find different things there in the case of FastR.

Function lobstr::ast should work fine on FastR, because the AST introspection is a well known and often used feature of R and FastR should be fully compatible with GNU-R there.

Functions lobstr::ref and lobstr::obj_size will probably give misleading results on FastR. Our internal data structures are different to GNU-R and lobstr would probably have to have special handling for FastR to be useful/accurate.

Function lobstr::cst to inspect the stack trace should work on FastR since we want to be fully compatible with GNU-R in how the stack looks like to builtins like parent.frame, but there are still some differences here and there.

steve-s commented 5 years ago

Should be fixed now in 952f130d3005a7b8a93306cf2a937eaddad931bc