Giriş
ldconfig loader tarafından kullanılan .so dosyalarını cache'lemek için kullanılır. Açıklaması şöyle.
Açıklaması şöyle.
Kendimiz yeni bir kütüphane derledikten sonra cache dosyasını tekrar oluşturmak için şöyle yaparız.
Bir diğer çözüm LD_LIBRARY_PATH değişkeni ile yeni kütüphanenin yolunu göstermek.
ldconfig loader tarafından kullanılan .so dosyalarını cache'lemek için kullanılır. Açıklaması şöyle.
When the loader is looking for the shared libraries needed to assemble a new process, it does not search all of the linker's default search directories. That would be slow. By default it searches a cached database /etc/ld.so.cache, of libraries that were found by ldconfig, last time it was run.ldconfig hangi dizinler arar
Açıklaması şöyle.
By default, ldconfig caches libraries that it finds in /lib, /usr/lib and in the directrories listed in the file /etc/ld.so.conf, and/or any similar *.conf files that are recursively include-ed in /etc/ld.so.confBu dosyaların içi şöyledir
$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
$ cat /etc/ld.so.conf.d/*.conf
/usr/lib/x86_64-linux-gnu/libfakeroot
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/lib/nvidia-384
/usr/lib32/nvidia-384
/usr/lib/nvidia-384
/usr/lib32/nvidia-384
# Legacy biarch compatibility support
/lib32
/usr/lib32
ÖrnekKendimiz yeni bir kütüphane derledikten sonra cache dosyasını tekrar oluşturmak için şöyle yaparız.
ldconfig
Eğer bunu yapmazsak şöyle bir hata alırız.$ make foo
...
...error while loading shared libraries: libboost_system.so.1.66.0: cannot open
shared object file: No such file or directory
Eğer kütüphane sistem yolunda değilseBir diğer çözüm LD_LIBRARY_PATH değişkeni ile yeni kütüphanenin yolunu göstermek.
Hiç yorum yok:
Yorum Gönder