wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz
tar xvf hdf5-1.10.5.tar.gz
cd hdf5-1.10.5
./configure --prefix=/usr/local/hdf5
make
make check
sudo make install
sudo make check-install
sudo vi /etc/ld.so.conf
# 给文件中添加一行:/usr/local/hdf5/lib
sudo ldconfig
# echo "dyn.load('/usr/local/hdf5/lib/libhdf5_hl.so.100')" >> ~/.Rprofile
## dyn.load('/usr/local/hdf5/lib/libhdf5_hl.so.100')
ld.so.conf
文件在类 Unix 操作系统中用于配置动态链接器,特别是指定程序运行时动态链接器搜索共享库(动态库)的路径。
修改 ld.so.conf
文件可以让系统找到并链接共享库的原因有:
-
库搜索路径:
ld.so.conf
包含了一系列目录,这些目录是动态链接器搜索共享库的路径。当程序启动时,动态链接器会查看这个文件,通过列出的路径寻找需要的库文件。 -
添加新路径:
如果安装了一个新软件或者库,而该库不在默认的库搜索路径中,就需要将含有该库的目录路径添加到ld.so.conf
文件中,这样动态链接器才能找到并加载它。 -
更新链接器缓存:
修改ld.so.conf
后,需要运行ldconfig
命令来更新动态链接器的缓存。ldconfig
会读取ld.so.conf
文件,并实际检查其中列出的目录,然后创建或更新/etc/ld.so.cache
文件。这个缓存文件加速了动态链接器搜索和加载共享库的过程。 -
系统范围的配置:
由于ld.so.conf
位于/etc
目录下,它的配置对整个系统有效。这意味着所有用户和程序都会受到这个配置文件的影响。
因此,通过在 ld.so.conf
中添加新的库文件目录路径,就可以告诉动态链接器在哪里查找新安装的共享库,从而使得程序在运行时能正确地找到并链接所依赖的库文件。
网友评论