./configure не удалось из-за отсутствия openssl, хотя он уже установлен
Я пытаюсь скомпилировать новый пакет, основанный на OpenWRT (это своего рода модифицированный OpenWRT). В течение ./configure
Процесс Я получаю ошибку из-за отсутствия OpenSSL, но когда я проверил, он уже установлен.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = (unset),
LC_COLLATE = "C",
LC_CTYPE = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Apply config ./ugw/config/GRX750_HE_VDSL_LTE_GW_72
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'libssl'... failed.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'getopt'... ok.
Checking 'stat'... ok.
Checking 'md5sum'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'python3'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
Checking 'openssl'... ok.
Checking 'ldconfig-stub'... ok.
Build dependency: Please install the openssl library (with development headers)
Prerequisite check failed. Use FORCE=1 to override.
make: *** [staging_dir/host/.prereq-build] Error 1
Когда я бегу yum install openssl
или же yum install openssl-devel
я получаю
Package openssl-1.0.1e-57.el6.x86_64 already installed and latest version
Я уже смотрел на подобные проблемы, такие как - OpenSSL отсутствует во время./configure. Как исправить? и OpenSSL не найден во время./configure, но они не помогли в моем случае.
Не уверен, если это связано, но, возможно, те, locale
предупреждение я получаю в начале связаны?
Моя ОС CentOS 6.
Спасибо!
2 ответа
Для тех, кто может столкнуться с той же проблемой.
Как отметил lungj в комментариях, похоже, что проблема lungj из-за неправильно настроенных переменных среды.
Отключение следующего решило проблему:
unset LD_LIBRARY_PATH
unset LDFLAGS
unset CFLAGS
Мне не пришлось ничего устанавливать / менять.
Как бы то ни было, я столкнулся с той же проблемой, но проблема заключалась в том, что я переключил ветки из репозитория openwrt и не полностью очистил репо перед пересборкой. (хотя я сделал clean и даже git clean -fd , но этого было недостаточно). После некоторой отладки я обнаружил, что для проверки установки openssl использовалась команда
echo 'int main(int argc, char **argv) { SSL_library_init(); return 0; }' | \
gcc $(HOST_CFLAGS) -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl $(HOST_LDFLAGS)
И проблема заключалась в том, что флаги были такими, что staging_dir/host/lib использовался в качестве пути включения библиотеки. Поскольку библиотека SSL была собрана ранее, но несовместима с моей хост-версией libssl-dev, команда компиляции завершилась неудачно.
Полная очистка репозитория git перед пересборкой (git clean -f -d -X) и последующая переделка исправили ситуацию. Надеюсь, это когда-нибудь поможет кому-нибудь