Неопределенный символ LAPACKE при импорте Rust lib .so в Python - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать простую библиотеку ML в Rust, используя такие ящики, как ndarray и ndarray-linalg, и использовать ее позже в Python через ctypes. В машине go .toml я поставил crate-type = ["cdylib"]. Мой проект создан и отлично работает в Rust, но когда я попытался импортировать выходной файл .so в Python, он выдает ошибку OSError: /home/Project/Lib/regression_simple/target/debug/libregression_simple.so: undefined symbol: LAPACKE_dgetri

Я установил все необходимые пакеты Lapack и blas, а также Lapacke. h можно найти в /usr/include/lapacke.h

Кажется, я не могу найти подобную проблему в Интернете. Когда я компилировал библиотеку Rust, я видел все загруженные пакеты зависимостей для ndarray-linalg, поэтому я понятия не имею, откуда эта проблема.

my Car go .toml

[lib]
name = "regression_simple"
crate-type = ["cdylib"]

[dependencies]
ndarray = { version = "0.13.0", features = ["blas"] }
ndarray-linalg = { version = "0.12.0", features = ["openblas"] }
ndarray-rand = "0.11.0"
openblas-src = {version = "0.7", features = ["system"]}
rand = "0.7.3"
...