在Linux中加载共享库时出错; 使用docker和Python

我试图在我的Mac上的Linux虚拟机上的Linux机器上运行可执行文件。 要下载程序和所有相应的依赖关系等,我正在使用Docker。 要执行该程序,我正在运行一个python2.7脚本。

每次我尝试运行程序, emotion-processing ,我得到以下错误:

 emotion-processing: error while loading shared libraries: libaffdex-native.so: cannot open shared object file: No such file or directory 

我在Docker.worker文件中设置了一切:

 RUN apt-get install -y --no-install-recommends libopencv-dev libcurl4-openssl-dev uuid-dev RUN mkdir $HOME/affdex-sdk RUN wget https://download.affectiva.com/linux/affdex-cpp-sdk-3.2-20-ubuntu-xenial-xerus-64bit.tar.gz RUN tar -xzvf affdex-cpp-sdk-3.2-20-ubuntu-xenial-xerus-64bit.tar.gz -C $HOME/affdex-sdk RUN wget https://github.com/path/to/emotion-processing?raw=true RUN mv emotion-processing?raw=true /usr/local/bin/emotion-processing RUN chmod +x /usr/local/bin/emotion-processing 

然后,我将一个环境variables设置为缺失库的祖父文件夹。

 ENV AFFECTIVA_SDK_FOLDER="$HOME/affdex-sdk" 

之后,在我的python2.7文件中,我将"/lib"连接到AFFECTIVA_SDK_FOLDER

 affdex_sdk_lib_folder = os.environ.get("AFFECTIVA_SDK_FOLDER") + "/lib" 

然后,我会在程序执行之前告诉程序库在哪里。

 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/affdex-sdk/lib" emotion-processing 

我通过查看这个堆栈溢出post得到了这个想法。 但是,唉,以任何方式设置LD_LIBRARY_PATH似乎并不奏效。 我一直在看这里的其他职位,但似乎没有解决问题。 我试图避免重新编译。

提前感谢您的想法和build议。