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 to install {paradox}: "unimplemented STRING_NO_NA" #156

Closed
pat-s opened this issue Jun 8, 2020 · 3 comments
Closed

Fail to install {paradox}: "unimplemented STRING_NO_NA" #156

pat-s opened this issue Jun 8, 2020 · 3 comments
Labels

Comments

@pat-s
Copy link

pat-s commented Jun 8, 2020

I've found no match for the error message and hence assume it's a new one.

> install.packages("paradox")
Content type 'application/octet-stream' length 40872 bytes (39 KB)
setrlimit to increase file descriptor limit failed, errno 22
* installing *source* packageparadox...
** packageparadoxsuccessfully unpacked and MD5 sums checked
** using staged installation
** R
** byte-compile and prepare package for lazy loading
setrlimit to increase file descriptor limit failed, errno 22
unimplemented STRING_NO_NA
ERROR: lazy loading failed for packageparadoxFastR version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin19.5.0 (64-bit)
Running under: macOS Catalina 10.15.5

Matrix products: default
BLAS:   /Library/Java/JavaVirtualMachines/graalvm-ce-java11-20.1.0/Contents/Home/languages/R/lib/libRblas.dylib
LAPACK: /Library/Java/JavaVirtualMachines/graalvm-ce-java11-20.1.0/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_3.6.1
  • GraalVM 20.1.0
@pat-s pat-s added the bug label Jun 8, 2020
@steve-s
Copy link
Member

steve-s commented Jun 17, 2020

Hello Patrick,

thank you for the report. Yes we're missing this function STRING_NO_NA (and bunch or similar ones like REAL_NO_NA). We'll add them.

If you did not want to wait for this to be merged, this is the patch:

diff --git a/com.oracle.truffle.r.native/fficall/src/truffle_common/Rinternals_truffle_common.h b/com.oracle.truffle.r.native/fficall/src/truffle_common/Rinternals_truffle_common.h
index 3d7485a787..d2c23a0f8f 100644
--- a/com.oracle.truffle.r.native/fficall/src/truffle_common/Rinternals_truffle_common.h
+++ b/com.oracle.truffle.r.native/fficall/src/truffle_common/Rinternals_truffle_common.h
@@ -1969,14 +1969,24 @@ const SEXP *(STRING_PTR_RO)(SEXP x) {
 }
 
 // The ALTREP framework is not implemented on FastR yet
-
-#define ALTREP_UNIMPLEMENTED { UNIMPLEMENTED; }
+// Dummy implementations:
 
 int (ALTREP)(SEXP x) {
     // there can be no ALTREP objects on FastR
     return 0;
 }
 
+int STRING_NO_NA(SEXP x) {
+    return 0;
+}
+
+int REAL_NO_NA(SEXP x) {
+    return 0;
+}
+
+// Functions that we cannot implement without ALTREP support:
+#define ALTREP_UNIMPLEMENTED { UNIMPLEMENTED; }
+
 SEXP R_altrep_data1(SEXP x) ALTREP_UNIMPLEMENTED
 SEXP R_altrep_data2(SEXP x) ALTREP_UNIMPLEMENTED
 void R_set_altrep_data1(SEXP x, SEXP v) ALTREP_UNIMPLEMENTED
@@ -2023,10 +2033,8 @@ SEXP INTEGER_IS_NA(SEXP x) ALTREP_UNIMPLEMENTED
 SEXP REAL_MATCH(SEXP a, SEXP b, int c, SEXP d, SEXP e, Rboolean f) ALTREP_UNIMPLEMENTED
 R_xlen_t REAL_GET_REGION(SEXP sx, R_xlen_t i, R_xlen_t n, double *buf) ALTREP_UNIMPLEMENTED
 int REAL_IS_SORTED(SEXP x) ALTREP_UNIMPLEMENTED
-int REAL_NO_NA(SEXP x) ALTREP_UNIMPLEMENTED
 SEXP REAL_IS_NA(SEXP x) ALTREP_UNIMPLEMENTED
 int STRING_IS_SORTED(SEXP x) ALTREP_UNIMPLEMENTED
-int STRING_NO_NA(SEXP x) ALTREP_UNIMPLEMENTED
 SEXP R_compact_intrange(R_xlen_t n1, R_xlen_t n2) ALTREP_UNIMPLEMENTED
 SEXP R_deferred_coerceToString(SEXP v, SEXP sp) ALTREP_UNIMPLEMENTED
 SEXP R_virtrep_vec(SEXP x, SEXP y) ALTREP_UNIMPLEMENTED

@pat-s
Copy link
Author

pat-s commented Jun 17, 2020

Thanks! I'll have time to wait until this is supported.

@steve-s
Copy link
Member

steve-s commented Jun 23, 2020

Fixed in 4bd8f5c

@steve-s steve-s closed this as completed Jun 23, 2020
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