程序是Xenomai测试套件的一部分,从Linux PC交叉编译到Linux+Xenomai ARM工具链。

# echo $LD_LIBRARY_PATH                                                                                                                                          
/lib                                                                                                                                                             
# ls /lib                                                                                                                                                        
ld-2.3.3.so         libdl-2.3.3.so      libpthread-0.10.so                                                                                                       
ld-linux.so.2       libdl.so.2          libpthread.so.0                                                                                                          
libc-2.3.3.so       libgcc_s.so         libpthread_rt.so                                                                                                         
libc.so.6           libgcc_s.so.1       libstdc++.so.6                                                                                                           
libcrypt-2.3.3.so   libm-2.3.3.so       libstdc++.so.6.0.9                                                                                                       
libcrypt.so.1       libm.so.6                                                                                                                                    
# ./clocktest                                                                                                                                                    
./clocktest: error while loading shared libraries: libpthread_rt.so.1: cannot open shared object file: No such file or directory                                 

.1是文件名的最后部分吗?这到底是什么意思?


当前回答

如果在Microsoft Windows上运行应用程序,则需要在path环境变量中定义动态库(.dll)的路径。

如果在UNIX上运行应用程序,则需要在LD_LIBRARY_PATH环境变量中定义动态库(.so)的路径。

其他回答

想要添加的内容是,如果库位于非标准路径中,请在路径后面运行ldconfig。

例如,我必须跑:

sudo ldconfig /opt/intel/oneapi/mkl/2021.2.0/lib/intel64

在Intel MKL上编译R

cd /home/<user_name>/
sudo vi .bash_profile

把这几行加在末尾

LD_LIBRARY_PATH=/usr/local/lib:<any other paths you want>
export LD_LIBRARY_PATH

尝试在~/中添加LD_LIBRARY_PATH,它指示搜索路径。bashrc文件(

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path_to_your_library

它的工作原理!

运行:

sudo ldconfig

足以解决我的问题。

尝试安装lib32z1:

Sudo apt-get lib32z1