PHP-Entwicklung
Posts 1-8 of 8
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Hallo,
ich hänge schon recht lange an folgendem Problem.
Ich übersetzte PHP 4.4.4 bzw. PHP 4.4.7 für ein System per ./configure etc. (Keine Hinweis auf Update in Richtung php 5. Ich weiß das PHP 4 tot ist ;-)); Derzeit kein Update auf PHP5 möglich).
Die Probleme äußert sich wie folgt, dass bei dieser Stelle:
checking for Verisign Payflow Pro support... no
checking for PostgreSQL support... yes
checking for pg_config... /app/x/pgsql-7.4.14/bin/pg_config
checking for PQescapeString in -lpq... no
checking for PQunescapeBytea in -lpq... no
checking for PQsetnonblocking in -lpq... no
checking for PQcmdTuples in -lpq... no
checking for PQoidValue in -lpq... no
checking for PQclientEncoding in -lpq... no
checking for PQparameterStatus in -lpq... no
checking for PQprotocolVersion in -lpq... no
checking for PQtransactionStatus in -lpq... no
checking for PQexecParams in -lpq... no
checking for PQprepare in -lpq... no
checking for PQexecPrepared in -lpq... no
checking for PQresultErrorField in -lpq... no
checking for PQsendQueryParams in -lpq... no
checking for PQsendPrepare in -lpq... no
checking for PQsendQueryPrepared in -lpq... no
checking for PQputCopyData in -lpq... no
checking for PQputCopyEnd in -lpq... no
checking for PQgetCopyData in -lpq... no
checking for PQsetErrorVerbosity in -lpq... no
checking for pg_encoding_to_char in -lpq... yes
checking whether to enable POSIX-like functions... yes
die PostgreSQL Funktionen nicht gefunden werden.
Ich habe in der Zwischenzeit heraus gefunden, dass eine Funktion "crypt" nicht gefunden wird.
Hier ein Ausschnitt aus der config.log:
int main() {
PQsetnonblocking()
; return 0; }
configure:76623: checking for PQcmdTuples in -lpq
configure:76642: gcc -o conftest -g -O2 -Wl,-rpath,/usr/local/lib -L/usr/local/lib -L/app/x/pgsql-7.4.14/lib conftest.c -lpq -lt1 -lpng -lz -ljpeg -lbz2 -lz -lssl -lcrypto -lresolv -lm -ldl -lnsl 1>&5
/app/x/pgsql-7.4.14/lib/libpq.a(fe-auth.o)(.text+0x3ec): In function `.L31':
: undefined reference to `crypt'
collect2: ld returned 1 exit status
configure: failed program was:
#line 76631 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char PQcmdTuples();
int main() {
PQcmdTuples()
; return 0; }
configure:76666: checking for PQoidValue in -lpq
configure:76685: gcc -o conftest -g -O2 -Wl,-rpath,/usr/local/lib -L/usr/local/lib -L/app/x/pgsql-7.4.14/lib conftest.c -lpq -lt1 -lpng -lz -ljpeg -lbz2 -lz -lssl -lcrypto -lresolv -lm -ldl -lnsl 1>&5
/app/x/pgsql-7.4.14/lib/libpq.a(fe-auth.o)(.text+0x3ec): In function `.L31':
: undefined reference to `crypt'
collect2: ld returned 1 exit status
configure: failed program was:
#line 76674 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid
Mein Problem ist jetzt zu finden, welche Lib ich aktivieren muss, damit das einwandfrei übersetzt wird....
Der "./configure"-Aufruf sieht so aus:
./configure \
--with-gd \
--with-bz2 \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--enable-sockets \
--enable-yp \
--enable-tokenizer \
--enable-sysvshm \
--enable-sysvsem \
--enable-sigchild \
--enable-zend-multibyte \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex \
--with-t1lib \
--with-openssl \
--with-apxs2=/app/x/httpd-2.2.6/bin/apxs \
--enable-inline-optimization \
--with-config-file-path=/app/x/etc \
--prefix=/app/xphp-4.4.7 \
--with-pgsql=/app/x/pgsql-7.4.14 \
--enable-shared \
--enable-cli \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--with-zlib-dir=/usr/lib \
--without-mysql
Hat da einer einen Hinweis....
Vielen Dank im Voraus...
MfG
Karl Heinz Marbaise
- 22 Oct 2007, 5:25 pm
-
Enrico Weigelt(not a XING member)Re: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
hmm, sollte crypt() nicht in der glibc stecken ?
- 22 Oct 2007, 7:02 pm
-
Enrico Weigelt(not a XING member)Re^2: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Wenn Du wirklich nicht weiter kommst und evtl. etwas investieren möchtest, kann ich mich
gern Deinem Problem annehmen und Dir Patches liefern. Sowas mach ich ja fast täglich ;-)
Gruß
- 22 Oct 2007, 7:26 pm
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Hallo,
ja sollte in glibc drin sein.
Das Problem ist, dass auf dem SLES9 auf dem ich das compiliere, wir schon eine ältere Version (php .4.4.4) laufen haben und dort ist das Problem nicht aufgetreten. Ich habe jetzt zur Vorbereitung von einigen Updates für Komponenten (Subversion, Apache) auf einer VMware installiert.
Es scheint irgendein RPM bzw. Lib Installation zu fehlen, die ich derzeit nicht finde....vermutlich Brett vor dem Kopf....
Hm....
MfG
Karl Heinz Marbaise
- 23 Oct 2007, 11:17 am
-
Stefan Priebsch Premium MemberThe company name is only visible to registered members.Re^2: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Vielleicht fehlt Dir eine crypt-Bibliothek, libgcrypt oder libmcrypt o.ä.?
Falls Du zwei Maschinen vergleichen kannst, erstelle Dir doch auf beiden eine Liste der installierten RPM's und vergleiche, was fehlen könnte.
Stefan
http://www.e-novative.de
This post was modified on 24 Oct 2007 at 08:00 pm.- 24 Oct 2007, 7:59 pm
-
Enrico Weigelt(not a XING member)Re^3: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Nicht verwechseln mit libcrypto - "o" am Ende!.
(die kommt IMHO vom openssl).
- 24 Oct 2007, 9:19 pm
-
Karl Heinz Marbaise Premium Member Group moderatorThe company name is only visible to registered members.Re^4: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Hallo,
ich habe die Libs nicht verwechselt....
es gibt eine crypt (libcrypt), eine libmcrypt und eine libcrypto...
Die Installation von libmcrypt etc. bring leider auch keinen Erfolg.
Ich habe das Problem dadurch lösen können, dass ich:
export LIBS="-lcrypt"; ./configure....
ergänzt habe.
Es ist nämglich interessant, dass der Prototyp der crypt funktion im Configure Script mit "char .." angegeben ist und nicht mit "char *crypt()", was mich schon mal stutzig gemacht hat.
Weiterhin sehe ich es derzeit so, dass das configure script hier einen Bug hat...in der Bug Database von PHP habe ich aber leider nichts gefunden. Ich habe das gleiche Problem mit dem configure script von PHP 5.1.4 rekonstruieren können.
EDIT: Die RPM listen Vergleich habe ich vorher schon gemacht und bin leider nicht fündig geworden.
MfG
Karl Heinz Marbaise
- 25 Oct 2007, 11:41 am
-
Enrico Weigelt(not a XING member)Re^5: PHP 4.4.4 / PHP 4.4.7 im Zusammenhang mit PostgreSQL 7.4.14
Es empfiehlt sich, die configure-scripts frisch zu erzeugen.
Autoconf ist eher eine Sammlung von Bugs und Fehldesigns und ist eigentilch über den
alpha-Status nie hinaus gekommen ;-o
- 26 Oct 2007, 01:44 am
