我正在尝试从[https://neanderthal.uncomplicate.org/articles/getting_started.html#overview-and-features]
运行以下简单代码我已经按照[https://www.slf4j.org/codes.html#StaticLoggerBinder]
中的指示更新了PATH。Math Kernel Libraries 2018已安装。
文件project.clj
(defproject math "0.0.1-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.10.0"]
[uncomplicate/neanderthal "0.22.1"]
[info.sunng/ring-jetty9-adapter "0.12.2"]]
:plugins [[lein-with-env-vars "0.1.0"]]
:env-vars {:DYLD_LIBRARY_PATH "/opt/intel/mkl/lib:/opt/intel/lib"}
:aot [math.core]
:main math.core)
文件core.clj
(ns math.core
(:use [uncomplicate.neanderthal core native]))
(def x (dv 1 2 3))
(def y (dv 10 20 30))
(dot x y)
我收到以下错误:
Compiling math.core
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
details.
Syntax error compiling at (core.clj:8:1).
Exception in thread "main" Syntax error compiling at (core.clj:8:1).
........ .................
Caused by: java.lang.UnsatisfiedLinkError:
C:\Users\ippok\AppData\Local\Temp\neanderthal-mkl-
0.21.07551967567311097171.dll: Can't find dependent libraries
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.
ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
我的路径包括:
C:\Users\ippok\Jars\jar_files
C:\Program Files\MATLAB\R2018b\java\jarext\slf4j
Classpath
C:\Users\ippok>java -classpath
Error: -classpath requires class path specification
答案 0 :(得分:0)
我对尼安德特人一无所知,但这里似乎存在许多问题:
DYLD_LIBRARY_PATH "/opt/intel/mkl/lib:/opt/intel/lib"
,但由于其他错误,您似乎正在Windows上运行。我认为您是从lin-alg-app复制了该示例,但是according to the docs该示例在Mac OS下运行时会使用该环境变量。对于Windows,您需要在project.clj
中输入以下内容:
:env-vars {:PATH "/Users/ippok/DLLs"}
否则,将路径添加到DLL环境变量中的DLL,就像在运行Leiningen之前在cmd.exe
中运行以下命令一样:
set PATH=%PATH%;/Users/ippok/DLLs
...假设您已在C:\Users\ippok\DLLs
中安装了本机库。
答案 1 :(得分:0)
我已经完成了将dll文件放入PATH(设置PATH)的操作,但这是MKL dll的问题还是jar文件的问题。 这被认为是直观的安装吗?