Я пытаюсь собрать парсер 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
sudo dpkg --add-architecture i386
Похоже, что это произошло давно (в частности, 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 / Правила .
А коммиттер Курт Рекс пишет в журнале изменений:
Честно говоря, я бы хотел, чтобы opensslconf.h был, по крайней мере, помещен в папку / usr / include / openssl с остальными логически связанными заголовками. Но это не ошибка, это только мое мнение. Людям, которые сталкиваются с этой проблемой, как я, просто нужно немного понюхать, чтобы не пропустить ни одной вещи.
А что касается OP , то сейчас это намного позже, но я просто проверил ваш точный набор шагов на 14.04 LTS x64 box и не столкнулся с проблемой, с которой вы столкнулись. Возможно, проблема со временем была просто решена. Надеюсь, что это поможет.
источник
Похоже, упаковка неисправна.
<openssl/opensslconf.h>
создается командой OpenSSLConfigure
. Он должен быть включен в дистрибутивные файлы. Самое раннее упоминание, которое я мог найти, было OpenSSL CHANGELOG в версии 0.9.2 .Подайте отчет об ошибке по адресу https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .
источник
Похоже, это проблема 32-х и 64-х битных систем. Я все очистил, сам скачал и собрал Openssl и следовал инструкциям по сборке парсера. Во время фазы lnk он пропустил «несовместимое libcrypto» и затем потерпел неудачу.
Поэтому я предполагаю, что необходимые библиотеки доступны только для 64-битных систем и пропускаются при установке libssl-dev на 32-битных системах. Было бы неплохо получить более четкое сообщение об ошибке.
источник
opensslconf.h
ошибку, не найденную. установленlibssl-dev
(есть ли 32-битная версия этого?), и все, кроме моей программы, не компилируется из-за отсутствующего файла. Есть идеи?Он переехал из-за нескольких арок. На amd64 он находится в /usr/include/x86_64-linux-gnu/openssl/opensslconf.h
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733644
источник
Я решил эту проблему при компиляции установки, предназначенной для встроенного устройства LTS 14 на ПК LTS 16. Вот как я это решил:
источник