Compiler OpenSSL avec la "partagée" de l'option?
Sur CentOS 5.4, OpenSSL compile très bien sans "partagée" de l'option. Mais quand j'ai passé l'option, la compilation échoue avec:
/usr/bin/ld: libcrypto.un(x86_64-gcc.o): relocalisation R_X86_64_32 contre "un symbole local" ne peut pas être utilisée lors de la prise d'un objet partagé; recompiler avec -fPIC
Quand j'essaie: ./config shared CFLAGS=-fPIC
qui ne fonctionne pas.
Que puis-je faire pour obtenir OpenSSL pour compiler avec la "partagée" de l'option?
Grâce
- Avez-vous "make clean" entre l'exécution sans partagée et de l'exécuter avec partagé? Quelle version d'OpenSSL est-ce?
Vous devez vous connecter pour publier un commentaire.
Même problème ici, MAIS généralement les Makefiles examinera les variables d'environnement pour le compilateur ou l'éditeur de liens d'options.
Donc, si vous placez le
-fPIC
option avant appelant le script de configuration, il doit prendre soin d'elle. Vous pouvez le faire avec:ou
Il a travaillé pour moi.
make clean
si vous avez déjà essayé de le construire sans cette ligne de commande correcte!Il y a une option
-fXXX
que vous pouvez passer à la config de sorte que vous pouvez faire avec:OpenSSL version 1.0 (publié aujourd'hui) fonctionne très bien avec le partage de l'option
-fPIC shared
se plaintlibcrypto.a
pas être construit avec-fPIC
.Voici comment j'ai construit OpenSSL avec les bibliothèques partagées. Note que je suis en utilisant un compilateur croisé j'ai donc préciser les choses plus ne serait pas.