Isso não é uma duplicata porque está lidando com uma peculiaridade que notei quando uso /etc/ld.so.conf.
Para obter os caminhos que as pesquisas vinculador dinâmico em para bibliotecas, eu executar o comando ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g". Quando /etc/ld.so.confnão há caminhos listados nele. A saída do comando anterior é
/lib
/usr/lib
Achei que ele procurava /libprimeiro e depois /usr/lib. Quando adiciono um novo caminho, como /usr/local/lib, para /etc/ld.so.confe, em seguida /etc/ld.so.cache, refiro , a saída de ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"se torna
/usr/local/lib
/lib
/usr/lib
Acho isso estranho, porque, se eu estiver certo de que a ordem em que os diretórios listados são pesquisados é de cima para baixo, os diretórios adicionais serão pesquisados antes /libe /usr/lib. O fato de os diretórios adicionais serem pesquisados antes dos diretórios confiáveis não é estranho por si só, mas quando /libé pesquisado antes /usr/lib, isso é estranho porque /bin& /sbiné pesquisado após /usr/bin& /usr/sbinin PATH.
Mesmo que os caminhos listados por ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"fossem pesquisados de baixo para cima, ainda assim seria uma ordenação distorcida, porque diretórios adicionais seriam pesquisados pelos confiáveis e /lib, depois, pesquisados /usr/lib.
Então, qual é a ordem em que ld.soprocura caminhos para bibliotecas? Por que é /libpesquisado antes /usr/lib? Caso contrário, por que diretórios adicionais são pesquisados /lib?