Не удается собрать Postgres с SSL, хотя libssl-dev установлен - PullRequest
0 голосов
/ 16 мая 2019

Я сейчас пытаюсь собрать версию 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...