J'ai une application qui en faisant:Application nécessitant libssl.so.10 => /usr/lib64/libssl.so.10 explicitement
export LD_LIBRARY_PATH=/this/is/another/folder
ldd myApp
// ...
libssl.so.10 => /usr/lib64/libssl.so.10
// ...
Première question: Pourquoi les liens myApp explicitement sur libssl. So.10? quand dans le dossier OpenSSL je (ne devrait pas le lien avec libssl.so?):
/usr/lib64/libssl3.so
/usr/lib64/libssl.so -> libssl.so.1.0.1e
/usr/lib64/libssl.so.10 -> libssl.so.1.0.1e
/usr/lib64/libssl.so.1.0.1e
Deuxième question: pourquoi il se OpenSSL présent lib dans/usr/lib64 et non celui/cette/est/autre/dossier? Sur mon exec m'a donné (ceci indique clairement qu'il a essayé de charger libssl.so.10 dans mon dossier mais n'était pas là et il ne devrait pas être comme je m'attends à lier avec libssl. donc):
open("/this/is/another/folder/libssl.so.10", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libssl.so.10", O_RDONLY) = 3
et l'elfe de mon exec est:
0x0000000000000001 (NEEDED) Shared library: [libssl.so.10]
MISE à JOUR principales sections de makefile :
SRC = myApp.cpp
TARGET = myApp
INCLUDE = -I/my/open/ssl/path/include
LINK = -L/my/open/ssl/path/libs -lssl -lcrypto
CFLAGS = -MMD -MP -c -std=c++0x
all: $(TARGET)
$(TARGET): $(SRC)
$(CXX) -o $(TARGET) $(SRC) $(LINK)
Toute aide est appréciée!
Kasper
Nous avons besoin de voir vos commandes de compilation et de liaison. Le système d'exploitation serait probablement utile car OS X établit toujours des liens vers une bibliothèque dynamique si elle est présente. Vous devez travailler très dur pour lier à une bibliothèque statique si un dylib est présent. – jww