opensslconf.h не найден

14

Я пытаюсь собрать парсер znort987 и выполнил sudo apt-get libssl-dev. Я вижу все виды связанных с ssl заголовочных файлов в / usr / include / openssl, но opensslconf.h отсутствует в папке openssl, и команда make вызывает ошибку:

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

Я использую Ubuntu 14.04 на 32-битном ноутбуке AMD.

Обновление: я выполнил следующее, чтобы очистить мою установку:

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

Теперь я получаю:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
Кейр Финлоу-Бейтс
источник

Ответы:

5

Если вы работаете на 64-разрядной системе и нацеливаетесь на 32-разрядную версию, следующая команда устранила эту проблему для меня:

sudo apt-get install libssl-dev:i386
Энди Саутвелл
источник
И вам нужно активировать эту архитектуру сначалаsudo dpkg --add-architecture i386
Сэндберг
4

Похоже, что это произошло давно (в частности, 2013-05-20 16:56:06 UTC). Я столкнулся со странной проблемой, которая выглядела очень похожей на OP, но это оказалось проблемой с тем, что Swig не смог подключить правильный набор включений при компиляции. Я закончил поиск источника, чтобы убедиться, что это не проблема с пакетом Ubuntu, но, похоже, это не проблема с Ubuntu.

При более тщательном изучении этого пакет openssl переместил opensslconf.h в структуру каталогов с поддержкой нескольких архитектур. Вот подробный коммит: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 и если вы хотите посмотреть, как я пришел к этой ревизии, я следовал аннотированным изменениям правил Debian, что было удивительно эффективным способом выяснить, что произошло: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ Debian / Правила .

А коммиттер Курт Рекс пишет в журнале изменений:

  • Перейдите в / usr / include / $ (DEB_HOST_MULTIARCH) и отметьте libssl-dev Multi-Arch: same.

Честно говоря, я бы хотел, чтобы opensslconf.h был, по крайней мере, помещен в папку / usr / include / openssl с остальными логически связанными заголовками. Но это не ошибка, это только мое мнение. Людям, которые сталкиваются с этой проблемой, как я, просто нужно немного понюхать, чтобы не пропустить ни одной вещи.

А что касается OP , то сейчас это намного позже, но я просто проверил ваш точный набор шагов на 14.04 LTS x64 box и не столкнулся с проблемой, с которой вы столкнулись. Возможно, проблема со временем была просто решена. Надеюсь, что это поможет.

Паван Гупта
источник
1
Я думаю, что у меня та же проблема, что и у вас сейчас. Как ты это решил?
Сурия Виджая Маджид
3

выполнил sudo apt-get libssl-dev. Я вижу все виды связанных с ssl заголовочных файлов в / usr / include / openssl, но opensslconf.h отсутствует в папке openssl, и команда make вызывает ошибку ...

Похоже, упаковка неисправна.

<openssl/opensslconf.h>создается командой OpenSSL Configure. Он должен быть включен в дистрибутивные файлы. Самое раннее упоминание, которое я мог найти, было OpenSSL CHANGELOG в версии 0.9.2 .

Подайте отчет об ошибке по адресу https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .

Джеффри Уолтон
источник
1

Похоже, это проблема 32-х и 64-х битных систем. Я все очистил, сам скачал и собрал Openssl и следовал инструкциям по сборке парсера. Во время фазы lnk он пропустил «несовместимое libcrypto» и затем потерпел неудачу.

Поэтому я предполагаю, что необходимые библиотеки доступны только для 64-битных систем и пропускаются при установке libssl-dev на 32-битных системах. Было бы неплохо получить более четкое сообщение об ошибке.

Кейр Финлоу-Бейтс
источник
Я пытаюсь скомпилировать 32-битную программу на 64-битной машине и получаю ту же opensslconf.hошибку, не найденную. установлен libssl-dev(есть ли 32-битная версия этого?), и все, кроме моей программы, не компилируется из-за отсутствующего файла. Есть идеи?
Роберто Андраде
0

Я решил эту проблему при компиляции установки, предназначенной для встроенного устройства LTS 14 на ПК LTS 16. Вот как я это решил:

 cd /usr/include/openssl/

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

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Джитендра Кулкарни
источник