rstudio / mleap

R Interface to MLeap
http://spark.rstudio.com/guides/mleap/
Apache License 2.0
24 stars 9 forks source link

Can't install mleap on Databricks #20

Open omri374 opened 5 years ago

omri374 commented 5 years ago

Hi, I'm trying to use mleap in Databricks but get an exception when trying to install mleap. It fails since it can't install rJava. Here is the script I run:

install.packages("rJava")
install.packages("mleap")
library(mleap)
install_maven()
install_mleap()

And here's the result. rJava cannot be installed since it can't find the JVM and I don't have access to the underlying VMs.

Is there any workaround for using mleap within Databricks? MLeap itself is supported in Databricks: https://docs.databricks.com/spark/latest/mllib/mleap-model-export.html

Thanks!

Installing package into ‘/databricks/spark/R/lib’ (as ‘lib’ is unspecified) trying URL 'https://cloud.r-project.org/src/contrib/rJava_0.9-10.tar.gz' Content type 'application/x-gzip' length 672577 bytes (656 KB)

downloaded 656 KB

installing source* package ‘rJava’ ... ** package ‘rJava’ successfully unpacked and MD5 sums checked checking for gcc... gcc -std=gnu99 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc -std=gnu99 accepts -g... yes checking for gcc -std=gnu99 option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -std=gnu99 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for string.h... (cached) yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking for an ANSI C-conforming const... yes checking whether time.h and sys/time.h may both be included... yes configure: checking whether gcc -std=gnu99 supports static inline... yes checking whether setjmp.h is POSIX.1 compatible... yes checking whether sigsetjmp is declared... yes checking whether siglongjmp is declared... yes checking Java support in R... present: interpreter : '/usr/lib/jvm/default-java/jre/bin/java' archiver : '/usr/lib/jvm/default-java/bin/jar' compiler : '/usr/lib/jvm/default-java/bin/javac' header prep.: '/usr/lib/jvm/default-java/bin/javah' cpp flags : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux' java libs : '-L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm' checking whether Java run-time works... ./configure: line 3747: /usr/lib/jvm/default-java/jre/bin/java: No such file or directory no configure: error: Java interpreter '/usr/lib/jvm/default-java/jre/bin/java' does not work ERROR: configuration failed for package ‘rJava’

  • removing ‘/databricks/spark/R/lib/rJava’

The downloaded source packages are in ‘/tmp/Rtmpmms4mk/downloaded_packages’ Installing package into ‘/databricks/spark/R/lib’ (as ‘lib’ is unspecified) also installing the dependency ‘rJava’

trying URL 'https://cloud.r-project.org/src/contrib/rJava_0.9-10.tar.gz' Content type 'application/x-gzip' length 672577 bytes (656 KB)

downloaded 656 KB

trying URL 'https://cloud.r-project.org/src/contrib/mleap_0.1.2.tar.gz' Content type 'application/x-gzip' length 15333 bytes (14 KB)

downloaded 14 KB

  • installing source package ‘rJava’ ... ** package ‘rJava’ successfully unpacked and MD5 sums checked checking for gcc... gcc -std=gnu99 checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc -std=gnu99 accepts -g... yes checking for gcc -std=gnu99 option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -std=gnu99 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for string.h... (cached) yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking for an ANSI C-conforming const... yes checking whether time.h and sys/time.h may both be included... yes configure: checking whether gcc -std=gnu99 supports static inline... yes checking whether setjmp.h is POSIX.1 compatible... yes checking whether sigsetjmp is declared... yes checking whether siglongjmp is declared... yes checking Java support in R... present: interpreter : '/usr/lib/jvm/default-java/jre/bin/java' archiver : '/usr/lib/jvm/default-java/bin/jar' compiler : '/usr/lib/jvm/default-java/bin/javac' header prep.: '/usr/lib/jvm/default-java/bin/javah' cpp flags : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux' java libs : '-L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm' checking whether Java run-time works... ./configure: line 3747: /usr/lib/jvm/default-java/jre/bin/java: No such file or directory no configure: error: Java interpreter '/usr/lib/jvm/default-java/jre/bin/java' does not work ERROR: configuration failed for package ‘rJava’
  • removing ‘/databricks/spark/R/lib/rJava’ ERROR: dependency ‘rJava’ is not available for package ‘mleap’
  • removing ‘/databricks/spark/R/lib/mleap’

The downloaded source packages are in ‘/tmp/Rtmpmms4mk/downloaded_packages’ Error in library(mleap) : there is no package called ‘mleap’ In addition: Warning messages: 1: In do.call(.f, args, envir = .env) : 'what' must be a function or character string 2: In install.packages("rJava") : installation of package ‘rJava’ had non-zero exit status 3: In install.packages("mleap") : installation of package ‘rJava’ had non-zero exit status 4: In install.packages("mleap") : installation of package ‘mleap’ had non-zero exit status

kevinykuo commented 5 years ago

We'll be taking a closer look at this when we add mleap support to the mlflow R interface. Hopefully it's just a simple configuration issue but we'll see!