Nie znaleziono pliku opensslconf.h

14

Próbuję zbudować parser znort987 i wykonałem sudo apt-get libssl-dev. Widzę wszystkie rodzaje plików nagłówkowych związanych z ssl w / usr / include / openssl, ale w folderze openssl brakuje pliku opensslconf.h, a polecenie make wywołuje błąd:

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

Używam Ubuntu 14.04 na 32-bitowym laptopie AMD.

Aktualizacja: Wykonałem następujące czynności, aby wyczyścić moją instalację:

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

Teraz dostaję:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
Keir Finlow-Bates
źródło

Odpowiedzi:

6

Jeśli budujesz system 64-bitowy i celujesz w wersję 32-bitową, następujące polecenie naprawiło ten problem:

sudo apt-get install libssl-dev:i386
Andy Southwell
źródło
1
I musisz najpierw aktywować tę architekturę za pomocąsudo dpkg --add-architecture i386
Sandburg,
4

Wydaje się, że te rzeczy wydarzyły się dawno temu (a konkretnie 2013-05-20 16:56:06 UTC). Natknąłem się na dziwny problem, który wyglądał bardzo podobnie do OP, ale okazało się, że był to problem polegający na tym, że Swig nie dołączał odpowiedniego zestawu dołączeń podczas kompilacji. Skończyło się na przeszukiwaniu źródła, aby upewnić się, że nie jest to problem z pakietem ubuntu, ale nie wydaje się, aby był to problem z ubuntu.

Przyglądając się temu dokładniej, pakiet openssl przeniósł opensslconf.h do struktury katalogów obsługującej wiele plików. Oto szczegółowy zatwierdzenie: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 i jeśli chcesz zobaczyć, jak wymyśliłem tę wersję, ja śledził opatrzone adnotacjami wersje reguł Debiana, co było zaskakująco skutecznym sposobem, aby dowiedzieć się, co się stało: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ debian / rules .

A autor, Kurt Roeckx, pisze w Dzienniku zmian:

  • Przejdź do / usr / include / $ (DEB_HOST_MULTIARCH) i zaznacz libssl-dev Multi-Arch: same.

Szczerze mówiąc, chciałbym, aby plik opensslconf.h był przynajmniej symlinkowany do folderu / usr / include / openssl z resztą logicznie powiązanych nagłówków. Ale to nie jest błąd, to tylko moja opinia. Dla ludzi, którzy napotykają ten problem, tak jak ja, wystarczy trochę wąchania brakujących elementów, aby utrzymać brzęczenie.

A do OP jest już znacznie później, ale właśnie podałem dokładny zestaw kroków na urządzeniu 14.04 LTS x64 i nie napotkałem problemu, który miałeś. Być może problem został po prostu rozwiązany z czasem. Mam nadzieję że część tego okaże się pomocna.

Pavan Gupta
źródło
1
Myślę, że mam ten sam problem co ty. Jak to rozwiązałeś?
Surya Wijaya Madjid,
3

wykonałem sudo apt-get libssl-dev. Widzę wszystkie rodzaje plików nagłówkowych związanych z ssl w / usr / include / openssl, ale w folderze openssl brakuje pliku opensslconf.h, a polecenie make wywołuje błąd ...

Wygląda na to, że paczka jest uszkodzona.

<openssl/opensslconf.h>jest tworzony przez Configurepolecenie OpenSSL . Powinien być dołączony do plików dystrybucyjnych. Najwcześniejszą wzmianką, jaką mogłem znaleźć, był CHANGELOG OpenSSL w wersji 0.9.2 .

Zgłoś raport o błędzie na https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .

Jeffrey Walton
źródło
1

Wygląda na to, że jest to problem w systemach 32-bitowych i 64-bitowych. Wyczyściłem wszystko, sam pobrałem i zbudowałem openssl i postępowałem zgodnie z instrukcjami dotyczącymi budowania parsera. Podczas fazy lnk pominął „niekompatybilny libcrypto”, a następnie nie powiódł się.

Zakładam więc, że wymagane biblioteki są dostępne tylko dla systemów 64-bitowych i są pomijane podczas instalacji libssl-dev na systemach 32-bitowych. Przydałby się wyraźniejszy komunikat o błędzie.

Keir Finlow-Bates
źródło
Próbuję skompilować program 32-bitowy na komputerze 64-bitowym i pojawia się ten sam opensslconf.hbłąd, który nie został znaleziony. zainstalowany libssl-dev(czy jest to wersja 32-bitowa?) i wszystko oprócz mojego programu nie kompiluje się z powodu brakującego pliku. Jakieś pomysły?
Roberto Andrade
0

Problem ten napotkałem podczas kompilacji instalacji dla wbudowanego urządzenia LTS 14 na komputerze LTS 16 PC. Oto jak to rozwiązałem:

 cd /usr/include/openssl/

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

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Jitendra Kulkarni
źródło