Ошибка при компиляции установки stati c PHP 7 с поддержкой PostgreSQL 10.11.3 на RHEL 4 без root privs - PullRequest
0 голосов
/ 10 февраля 2020

Надеюсь, у кого-то есть понимание этого. Я попытался скомпилировать PHP 7.4.2 на RHEL с включенной поддержкой только PostgreSQL. Пока мне нужны только исполняемые файлы stati c CGI и SAPI (php -fpm). Я скачал и распаковал исходный код для PostgreSQL 10.11.3. Моя PHP 7 инструкция конфигурации выглядит следующим образом:

./configure --prefix=/home/r*****/usr/local/php7 --enable-static --disable-cli --disable-all --enable-fpm --with-pgsql=/home/r*****/opt/pgsql

Конфигурация проходит нормально - возможно, с несколькими предупреждениями, но она успешно завершается. Затем я запускаю сборку через make. Это продолжается какое-то время, компилируя, затем пытаясь связать все, пока оно не дойдет до расширений pg sql, затем я получаю следующие ошибки, прежде чем он завершится сбоем и остановится:

/ bin / sh /home/r*****/usr/src/php7/php-7.4.2/libtool --silent --preserve-dup-deps --mode = compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE = 1 -Iext / pgsql / -I / home / r ***** / usr / src / php7 / php -7.4.2 / ext / pgsql / -DPHP_ATOM_IN C -I / home / r ***** / usr / src / php7 / php -7.4.2 / include -I / home / r ***** / usr / src / php7 / php -7.4.2 / main -I / home / r ** *** / usr / src / php7 / php -7.4.2 -I / home / r ***** / usr / src / php7 / php -7.4.2 / ext / date / lib -I / home / r ***** / opt / pgsql / include -I / home / r ***** / usr / src / php7 / php -7.4.2 / TSRM -I / home / r ** *** / usr / src / php7 / php -7.4.2 / Zend -g -O2 -fvisibility = hidden -Wall -Wno-строго-псевдонимы -DZEND_SIGNALS - c / home / r ***** /usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c -o ext / pgsql / pg sql .lo / home / r ***** / usr /src/php7/php-7.4.2/ext/pgsql/pgsql.c: в функции 'zif_pg_last_o id ': /home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c:3143: ошибка: несовместимые типы при назначении типу 'char [1]' из типа 'char *' /home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c: в функция 'zif_pg_lo_create': /home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c:3231: предупреждение: неиспользуемая переменная 'wanted_oid '/home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c: в функции' zif_pg_copy_to ': / home / r ** *** / usr / src / php7 / php -7.4.2 / ext / pgsql / pg sql. c: 4174: ошибка: 'ret' undeclared (первое использование в этой функции) / home / r ***** / usr / src / php7 / php -7.4.2 / ext / pgsql / pg sql. c: 4174: ошибка: (Каждый необъявленный идентификатор сообщается только один раз / home / r * **** / usr / src / php7 / php -7.4.2 / ext / pgsql / pg sql. c: 4174: ошибка: для каждой функции, в которой она появляется.) / home / r ** *** / usr / src / php7 / php -7.4.2 / ext / pgsql / pg sql. c: В функции 'zif_pg_copy_from': / home / r ***** / usr / src /php7/php-7.4.2/ext/pgsql/pgsql.c:4317: предупреждение: я Непосредственное объявление функции 'ZSTR_LVAL' /home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c:4317: предупреждение: передача аргумента 2 из 'php_strlcpy' делает указатель из целого числа без приведения /home/r*****/usr/src/php7/php-7.4.2/main/php.h:166: note: Ожидается ' const char * ', но аргумент имеет тип' int '/home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c: в функция 'php_pgsql_fd_set_option': /home/r*****/usr/src/php7/php-7.4.2/ext/pgsql/pgsql.c:5401: предупреждение: неиспользуемая переменная 'pgsql 'make: *** [ext / pgsql / pg sql .lo] Ошибка 1

Что бы ни пытался libtool, возникают проблемы с кодом PHP 7.4.2 ext, который я предполагаю. Это проблема G CC? Любая помощь будет оценена.

Вот информация о моей среде:

PHP версия 7.4.2
Postgresql версия 10.11.3
RHEL Linux 4.4.7-23 , 2.6.32-754.23.1.el6.x86_64 # 1 SMP вт 17 сентября 09:46:55 EDT 2019 x86_64 x86_64 x86_64 GNU / Linux
g cc -v
Использование встроенных спецификаций .
Цель: x86_64-redhat- linux

Настраивается с:

.. / configure --prefix = / usr --mandir = / usr / share / man --infodir = / usr / share / info --with-bugurl = http://bugzilla.redhat.com/bugzilla --enable- bootstrap --enable-shared --enable-threads = posix --enable-check = release --with-system-zlib --enable -__ cxa_atexit --disable-libunwind-исключения --enable-gnu-unique-object --enable -языки = c, c ++, obj c, obj-c ++, java, fortran, ada --enable- java -awt = gtk --disable-dssi --with- java -home = / usr / lib / jvm / java -1.5.0-gcj-1.5.0.0 / jre --enable-libgcj-multifile --enable- java -интерфейсный режим --with-ecj-jar = / usr / share / java / eclipse-ecj.jar --disable-lib java -multilib --with-ppl --with-cloog --with-tune = generi c --with-arch_32 = i686 - build = x86_64-redhat- linux

Модель потока:

posix

g cc версия 4.4.7 20120313 (Red Hat 4.4 .7-23) (G CC)

Кстати - Нет, у меня нет доступа root или администратора. Так что я не могу использовать Yum, и мои попытки использовать RPM были неудачными. (Есть ли способ установить PHP7 локально без root разрешений?)

...