web-dev-qa-db-fra.com

OpenSSL introuvable pendant ./configure

J'essaie de créer un démon de type bitcoin sur mon Ubuntu 14.04.3. Quand je frappe ./configure:

checking for SSL... no
configure: error: openssl  not found.

mais

# apt-get install libssl-dev linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl-dev is already the newest version.
linux-headers-3.13.0-61-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

J'ai googlé le message d'erreur mais je n'ai aucune idée de ce qu'il faut faire. J'ai réussi à créer exactement ce démon sur mon autre Ubuntu 14.04, de sorte que les sources et les scripts de configuration sont corrects.

UPD1. Installer openssl n'a pas aidé:

# apt-get install openssl
..
openssl is already the newest version.
..

J'ai vérifié config.log et rien ne se passe sur openssl à la fin - HAVE_WORKING_BOOST_SLEEP_FOR fait référence à checking for dynamic linked boost test... yes - dernière ligne réussie à partir de ./configure:

# tail config.log
#define HAVE_BOOST /**/
#define HAVE_BOOST_SYSTEM /**/
#define HAVE_BOOST_FILESYSTEM /**/
#define HAVE_BOOST_PROGRAM_OPTIONS /**/
#define HAVE_BOOST_THREAD /**/
#define HAVE_BOOST_CHRONO /**/
#define HAVE_BOOST_UNIT_TEST_FRAMEWORK /**/
#define HAVE_WORKING_BOOST_SLEEP_FOR 1

configure: exit 1

UPD2. J'ai trouvé ça dans le journal, assez loin de la fin:

configure:25626: checking for SSL
configure:25633: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25636: $? = 1
configure:25650: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25653: $? = 1
configure:25667: result: no
No package 'libssl' found
configure:25683: error: openssl  not found.
7
user510433

Pour une raison quelconque, PKG_CONFIG_PATH ne contenait pas le bon chemin pour ce fichier openssl.pc nécessaire à l'utilitaire pkg-config. J'ai fait find / -name 'openssl.pc' et l'ai trouvé dans /usr/lib/x86_64-linux-gnu/pkgconfig/. Ce chemin a également été utilisé par mon autre ubuntu pour ./configure.

Alors j'ai couru ./configure PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/" et c'est ce qui s'est passé!

Autre chose, il y a un autre openssl.pc dans mon /usr/local/ssl/lib/pkgconfig/, mais lorsque j'ai essayé de l'utiliser, la commande make suivante se bloque avec des erreurs différentes (comme une référence inconnue à la fonction, etc.).

3
user510433

Vous trouverez un nom de paquetage libssl-dev dans le gestionnaire de paquets Synaptic (Ubuntu 16.04) et, après avoir installé libssl-dev, tout sera résolu. au fait, libssl1.0.0 ne fonctionne pas. Vous feriez mieux d'installer libssl-dev et libssl1.0.0 en même temps.

à propos, je ne pense pas que la solution suivante fonctionne: 'pkg-config' se trouve dans votre PATH et PKG_CONFIG_PATH contient un fichier openssl.pc. Si pkg-config n'est pas disponible, vous pouvez définir manuellement INCLUDE_DIR et LIB_DIR via: R CMD INSTALL --configure-vars = 'INCLUDE_DIR = ... LIB_DIR = ...'

7
Shicheng Guo