GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile trovare l'errore della libreria libcrypto

Aggiungi -L /usr/local/ssl/lib/ nella riga di comando di GCC, prima del -lcrypto . Dal momento che stai costruendo rispetto alle intestazioni OpenSSL in /usr/local/ssl , devi anche collegarti alla libreria effettiva con lo stesso prefisso (anche se sembra che ne sia installata solo una statica, questa potrebbe essere o meno la tua intenzione; potresti dover reinstallare correttamente il tuo OpenSSL creato dal sorgente).

(modifica) Per correggere il dlopen() e gli amici non vengono trovati dal linker, aggiungi -ldl nella riga di comando di GCC. -ldl dice al linker di collegarsi anche a libdl.so, che è la libreria condivisa contenente dlopen() , dlsym() , dlclose() eccetera.; queste funzioni sono utilizzate internamente da OpenSSL e, quindi, -ldl è una dipendenza indiretta quando si usa -lcrypto (su Linux). Poiché ti stai collegando a una versione statica di libcrypto, devi collegarti esplicitamente a tutte le dipendenze indirette.

Se non hai familiarità con il collegamento alle librerie appropriate, ti suggerisco di utilizzare OpenSSL come installato dal tuo gestore di pacchetti del sistema operativo; potrebbe risparmiarti qualche problema.


Questo potrebbe essere rilevante per le persone che hanno provato a creare il proprio openssl dal sorgente e poi usarlo per compilare altri programmi (nel mio caso Git)

Durante la configurazione di openssl, aggiungi l'opzione 'shared':

./config shared

Questo creerà la libreria condivisa richiesta libcrypto.so . Troverai altro nel file INSTALL.

Inoltre, se incontri questo errore durante 'make'

"....can not be used when making a shared object

ricompilare con -fPIC

./config shared -fPIC


Linux
  1. Come risolvere l'errore di configurazione:impossibile trovare la directory macro 'm4' [Risolto]

  2. Errore durante il caricamento delle librerie condivise libcrypto.so.1.1 – OpenSSL [fissare]

  3. Impossibile trovare un URL di base valido:errore YumRepo [risolto]

  4. Errore di configurazione di phpize:impossibile trovare le fonti (config.m4)

  5. Errore Impossibile trovare [estensione PHP mysqlnd] di OpenSSL

ld non riesce a trovare una libreria esistente

Come inizializzare una libreria condivisa su Linux

libstdc++.so.5:impossibile aprire il file oggetto condiviso, ma la libreria è installata e aggiornata

Errore di compilazione Openssl

Impossibile installare extundelete-0.2.0 su CentOS 5.6, errore:impossibile trovare la libreria ext2fs

Scopri se la libreria è nel percorso