opensslconf.h introuvable

14

J'essaie de construire l'analyseur de znort987 et j'ai exécuté sudo apt-get libssl-dev. Je peux voir toutes sortes de fichiers d'en-tête liés à SSL dans / usr / include / openssl mais opensslconf.h est absent du dossier openssl et la commande make déclenche l'erreur:

 make: *** No rule to make target `/usr/include/openssl/opensslconf.h', needed by `.objs/rmd160.o'.  Stop.

J'utilise Ubuntu 14.04 sur un ordinateur portable AMD 32 bits.

Mise à jour: j'ai exécuté ce qui suit pour nettoyer mon installation:

sudo apt-get remove libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl

sudo apt-get install libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl
git clone git://github.com/znort987/blockparser.git
cd blockparser
make

Maintenant je reçois:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
Keir Finlow-Bates
la source

Réponses:

5

Si vous construisez sur un système 64 et que vous ciblez 32 bits, la commande suivante a résolu ce problème pour moi:

sudo apt-get install libssl-dev:i386
Andy Southwell
la source
Et vous devez d'abord activer cette architecture avecsudo dpkg --add-architecture i386
Sandburg
4

Ce truc semble avoir eu lieu il y a longtemps (en particulier, 2013-05-20 16:56:06 UTC). J'ai rencontré un problème étrange qui ressemblait beaucoup à l'OP, mais cela s'est avéré être un problème avec swig ne parvenant pas à attacher le bon ensemble d'inclusions lors de la compilation. J'ai fini par parcourir la source juste pour m'assurer que ce n'était pas un problème de paquet ubuntu, mais cela ne semblait pas être un problème avec ubuntu.

En y regardant de plus près, le paquet openssl a déplacé opensslconf.h dans une structure de répertoires multiarchitecture. Voici le commit détaillé: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 et si vous voulez voir comment j'ai trouvé cette révision, je suivi les révisions annotées des règles debian qui étaient un moyen étonnamment efficace de comprendre ce qui s'est passé: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ debian / règles .

Et le committer, Kurt Roeckx, écrit dans le Changelog:

  • Accédez à / usr / include / $ (DEB_HOST_MULTIARCH) et marquez libssl-dev Multi-Arch: idem.

Pour être honnête, je souhaite que le fichier opensslconf.h soit, au moins, lié symboliquement au dossier / usr / include / openssl avec le reste des en-têtes logiquement liés. Mais ce n'est pas un bug, c'est juste mon opinion. Pour les gens qui rencontrent ce problème comme moi, il faut juste un peu de renifler les inclusions manquantes pour que les choses bourdonnent.

Et pour l'OP , c'est beaucoup plus tard maintenant, mais je viens de donner un aperçu de votre ensemble exact d'étapes sur une boîte 14.04 LTS x64 et je n'ai pas rencontré le problème que vous rencontriez. Peut-être que le problème a simplement été résolu au fil du temps. J'espère que cela vous aidera.

Pavan Gupta
la source
1
Je pense que j'ai le même problème que vous maintenant. Comment l'avez-vous résolu?
Surya Wijaya Madjid
3

ont exécuté sudo apt-get libssl-dev. Je peux voir toutes sortes de fichiers d'en-tête liés à SSL dans / usr / include / openssl mais opensslconf.h est absent du dossier openssl et la commande make déclenche l'erreur ...

Il semble que le colis soit défectueux.

<openssl/opensslconf.h>est créé par la Configurecommande d'OpenSSL . Il doit être inclus avec les fichiers de distribution. La première mention que j'ai pu trouver était CHANGELOG d'OpenSSL à la version 0.9.2 .

Déposez un rapport de bogue sur https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .

Jeffrey Walton
la source
1

Il semble que ce soit un problème avec les systèmes 32 et 64 bits. J'ai tout effacé, téléchargé et créé OpenSl moi-même, et j'ai suivi les instructions de construction de l'analyseur. Au cours de la phase lnk, il a ignoré la "libcrypto incompatible" puis a échoué.

Je suppose donc que les bibliothèques requises ne sont disponibles que pour les systèmes 64 bits et sont ignorées lors de l'installation de libssl-dev sur les systèmes 32 bits. Un message d'erreur plus clair serait bien.

Keir Finlow-Bates
la source
J'essaie de compiler un programme 32 bits sur une machine 64 bits et j'obtiens la même opensslconf.herreur introuvable. installé libssl-dev(existe-t-il une version 32 bits de cela?) et tout sauf mon programme ne compile pas à cause du fichier manquant. Des idées?
Roberto Andrade
0

J'ai rencontré ce problème lors de la compilation d'une configuration destinée à un périphérique LTS 14 intégré sur un PC LTS 16. Voici comment je l'ai résolu:

 cd /usr/include/openssl/

 sudo ln -s /usr/include/gnutls/openssl.h .

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Jitendra Kulkarni
la source