小编Cod*_*rji的帖子

正确设置 LD_LIBRARY_PATH

我正在将 Docker 与 Ubuntu 16.04 的图像一起使用。我正在使用这个 docker 来运行:

  • 借助 boost.python 在 python 中导入 C++ 类
  • 借助 Matlab Runtime (MCR) 在 python 中导入 matlab 的 python 包。

在 docker 中安装 MCR 之前,我已经使用以下命令安装了 boost:

$ sudo apt-get install -y libboost-all-dev
Run Code Online (Sandbox Code Playgroud)

我能够包装 C++ 类并在 python 中调用它们。然后我安装了 MCR,其中一项要求是设置LD_LIBRARY_PATH为 Matlab 的库。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/MATLAB/MATLAB_Runtime/v94/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/extern/bin/glnxa64
Run Code Online (Sandbox Code Playgroud)

它起作用了,我能够在 python 中运行 matlab 的 python 包,但是由于LD_LIBRARY_PATH. 例如,当我尝试在 python 中导入 C++ 类时出现以下错误:

 /usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0: undefined symbol: XML_SetHashSalt
Run Code Online (Sandbox Code Playgroud)

如果我取消设置LD_LIBRARY_PATHC++ 导入工作但 MCR 失败。那么问题LD_LIBRARY_PATH应该是什么才能成功运行 C++ 类和 Matlab 的 …

libraries environment-variables boost matlab

7
推荐指数
2
解决办法
3万
查看次数

标签 统计

boost ×1

environment-variables ×1

libraries ×1

matlab ×1