Я сейчас пытаюсь собрать версию Postgres самостоятельно, но у меня есть некоторые проблемы с поддержкой SSL.
Я настраиваю проект с помощью (кросс-компиляции для Windows)
./configure --host=x86_64-w64-mingw32 --with-openssl --prefix=/home/fuchs/postgres-bin-9.6.12
Но я получаю ошибку
checking for library containing gethostbyname_r... no
checking for library containing shmget... no
checking for inflate in -lz... yes
checking for library containing CRYPTO_new_ex_data... no
configure: error: library 'eay32' or 'crypto' is required for OpenSSL
Я искал в Интернете решение и обнаружил, что установка libssl-dev должна решить проблему (и, похоже, это помогло некоторым людям). Я проверил и libssl-dev уже был установлен.
Так как ошибка фактически не упоминает SSL, я искал библиотеки типа eay32
и crypto
и мог найти несколько пакетов с именем libcrypto++-dev
и аналогичных, которые уже были установлены, но, как я понимаю, libcrypto должна быть частью библиотеки ssl.
Я проверил configure.in
источник ошибки и нашел
if test "$with_openssl" = yes ; then
dnl Order matters!
if test "$PORTNAME" != "win32"; then
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
AC_CHECK_LIB(ssl, SSL_new, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
else
AC_SEARCH_LIBS(CRYPTO_new_ex_data, [eay32 crypto], [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
AC_SEARCH_LIBS(SSL_new, [ssleay32 ssl], [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])
fi
К сожалению, у меня почти нет опыта работы с make, autoconf и этими инструментами сборки, но насколько я понимаю, он просто пытается найти библиотеки ssl и crypto, но не может.
Поэтому я попытался явно добавить каталоги include и lib
/configure --host=x86_64-w64-mingw32 --with-openssl --with-includes=/usr/include/openssl/ --with-libraries=/usr/lib/x86_64-linux-gnu/ PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/ --prefix=/home/fuchs/postgres-bin-9.6.12
однако это ничего не изменило, и теперь у меня нет идей. Я на Kubuntu 18.04, в значительной степени свежая установка и попробуйте собрать Postgres 9.6.12.