opensslconf.h non trovato


14

Sto cercando di compilare il parser di znort987 e ho eseguito sudo apt-get libssl-dev. Riesco a vedere tutti i tipi di file di intestazione relativi a SSL in / usr / include / openssl ma opensslconf.h manca dalla cartella openssl e il comando make genera l'errore:

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

Sto usando Ubuntu 14.04 su un laptop AMD a 32 bit.

Aggiornamento: ho eseguito quanto segue per ripulire la mia installazione:

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

Ora ottengo:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory

Risposte:


5

Se stai costruendo su un sistema a 64 e stai puntando a 32 bit, il seguente comando ha risolto questo problema per me:

sudo apt-get install libssl-dev:i386

E devi prima attivare questa architettura consudo dpkg --add-architecture i386
Sandburg,

4

Questa roba sembra essere accaduta molto tempo fa (in particolare, 20-05-2013 16:56:06 UTC). Mi sono imbattuto in uno strano problema che assomigliava molto all'OP, ma si è rivelato essere un problema con il sorso che non è riuscito a collegare il giusto set di include durante la compilazione. Ho finito per cercare la fonte solo per assicurarmi che non fosse un problema con il pacchetto Ubuntu, ma non sembrava essere un problema con Ubuntu.

Esaminando più attentamente questo, il pacchetto openssl ha spostato opensslconf.h in una struttura di directory compatibile con multiarch. Ecco il commit dettagliato: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 e se vuoi vedere come sono arrivato a quella revisione, io ha seguito le revisioni annotate delle regole debian che sono state un modo sorprendentemente efficace per capire cosa è successo: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ debian / regole .

E il committer, Kurt Roeckx, scrive nel log delle modifiche:

  • Spostati su / usr / include / $ (DEB_HOST_MULTIARCH) e contrassegna libssl-dev Multi-Arch: stesso.

Ad essere sinceri, vorrei che opensslconf.h fosse almeno collegato alla cartella / usr / include / openssl con il resto delle intestazioni logicamente correlate. Ma questo non è un bug, è solo la mia opinione. Per le persone che si imbattono in questo problema come ho fatto io, basta solo annusare le inclusioni mancanti per continuare a canticchiare.

E per l'OP , ora è molto più tardi, ma ho appena dato un'occhiata al tuo set esatto di passaggi su una scatola 14.04 LTS x64 e non ho riscontrato il problema che stavi riscontrando. Forse il problema è stato semplicemente risolto nel tempo. Spero che un po 'di questo aiuti.


1
Penso di avere lo stesso problema di te adesso. come l'hai risolto?
Surya Wijaya Madjid,

3

hanno eseguito sudo apt-get libssl-dev. Riesco a vedere tutti i tipi di file di intestazione relativi a SSL in / usr / include / openssl ma opensslconf.h manca nella cartella openssl e il comando make genera l'errore ...

Sembra che il pacchetto sia difettoso.

<openssl/opensslconf.h>viene creato dal Configurecomando di OpenSSL . Dovrebbe essere incluso con i file distro. La prima menzione che ho trovato è stato CHANGELOG di OpenSSL alla versione 0.9.2 .

Invia una segnalazione di bug su https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .


1

Sembra che sia un problema con i sistemi a 32 e 64 bit. Ho ripulito tutto, scaricato e creato OpenSl e ho seguito le istruzioni per la creazione del parser. Durante la fase lnk ha saltato il "libcrypto incompatibile" e poi non è riuscito.

Quindi presumo che le librerie richieste siano disponibili solo per sistemi a 64 bit e vengano saltate durante l'installazione di libssl-dev su sistemi a 32 bit. Un messaggio di errore più chiaro sarebbe carino.


Sto cercando di compilare un programma a 32 bit su una macchina a 64 bit e sto ottenendo lo stesso opensslconf.herrore non trovato. installato libssl-dev(esiste una versione a 32 bit?) e tutto tranne il mio programma non si compila a causa del file mancante. Qualche idea?
Roberto Andrade,


0

Ho riscontrato questo problema durante la compilazione di una configurazione pensata per un dispositivo LTS 14 incorporato su PC LTS 16. Ecco come l'ho risolto:

 cd /usr/include/openssl/

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

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.