I want to make a C++ program which needs also a few share libraries (.so files). My libraries I want to put for example in a directory /home/myUsername/lib. Where do I need to put the path to my libraries so that it can be found by the program. I have seen that I can use ld.so.conf. But I was wondering what the difference is between ld.so.conf and ld.so.conf.d. Why is ld.so.conf.d needed if we already have ls.so.conf ? Is it possible to remove the ls.so.conf and put only files to the ld.so.conf directory ? Is the ld.so.conf file really needed ? I ask this because I saw on a machine with debian linux that I could not find the ld.so.conf file, but I do find the ls.so.conf.d directory with *.conf files in it. Does ldconfig automatically go through all .conf files in the /etc/ld.so.conf.d directory ?