Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[Clojure] mxnet-scala cannot be loaded without legacy openssl #14291

Closed
cbowdon opened this issue Feb 28, 2019 · 6 comments
Closed

[Clojure] mxnet-scala cannot be loaded without legacy openssl #14291

cbowdon opened this issue Feb 28, 2019 · 6 comments
Labels

Comments

@cbowdon
Copy link

cbowdon commented Feb 28, 2019

Description

I have a very similar (probably related) issue to #12822 when using the pre-built jar. Same error message as @kohr-h describes, except instead of the unsatisfied link being libcurl3 it is libcrypto.so.1.0.0. It turns out this is provided by libopenssl1_0_0 which is again a package that I do not want to install system-wide to avoid breaking other things.

Environment info (Required)

----------System Info----------
Platform     : Linux-4.20.7-1-default-x86_64-with-glibc2.2.5
system       : Linux
node         : linux-cd2v
release      : 4.20.7-1-default
version      : #1 SMP PREEMPT Thu Feb 7 07:16:45 UTC 2019 (730812f)

Package used (Python/R/Scala/Julia): Clojure
Java version:

openjdk version "11.0.2" 2018-10-16
OpenJDK Runtime Environment (build 11.0.2+7-suse-1.2-x8664)
OpenJDK 64-Bit Server VM (build 11.0.2+7-suse-1.2-x8664, mixed mode)

Error Message:

WARN  MXNetJVM: MXNet Scala native library not found in path. Copying native library from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH), or specifying by Java cmd option -Djava.library.path=[lib path].
INFO  org.apache.mxnet.util.NativeLibraryLoader: Loading libmxnet-scala.so from /lib/native/ copying to mxnet-scala
ERROR org.apache.mxnet.util.NativeLibraryLoader: Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /tmp/mxnet13952655790241314101/mxnet-scala: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
ERROR MXNetJVM: Couldn't find native library mxnet-scala
Syntax error (UnsatisfiedLinkError) compiling at (base.clj:21:19).
/tmp/mxnet13952655790241314101/mxnet-scala: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
...

Minimum reproducible example

  1. Create deps.edn with this content:
{:deps {org.clojure/clojure {:mvn/version "1.10.0"}
        org.apache.mxnet.contrib.clojure/clojure-mxnet-linux-cpu {:mvn/version "1.3.1"}}} 

Steps to reproduce

  1. clojure
  2. (in REPL) (require '[org.apache.clojure-mxnet.ndarray :as ndarray])

What have you tried to solve it?

I've located the missing library (see description). The workaround described in #12822 should be fine, but as stated in that issue it would be better if there wasn't a dependency on legacy packages in the first place.

@mxnet-label-bot
Copy link
Contributor

Hey, this is the MXNet Label Bot.
Thank you for submitting the issue! I will try and suggest some labels so that the appropriate MXNet community members can help resolve it.
Here are my recommended labels: Scala

@leleamol
Copy link
Contributor

leleamol commented Mar 1, 2019

@mxnet-label-bot add [Scala]
@lanking520 @frankfliu can you please comment on this issue?

@lanking520
Copy link
Member

@cbowdon Thanks for filing this issue. Please try to use our latest 1.4.0 package, it is statically linked most of the dependencies together.

@piyushghai
Copy link
Contributor

@cbowdon Were you able to test it out on the v1.4.0 Scala jar from Maven ?

@cbowdon
Copy link
Author

cbowdon commented Mar 11, 2019

@piyushghai I haven't yet found time I'm afraid. If you'd like to close the ticket and let me re-open it if 1.4.0 doesn't work that's fine by me.

@lanking520
Copy link
Member

@cbowdon Yeah, please reopen if 1.4.0 doesn't work

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants