Php kompilieren:undefined reference to `compress'

beim compilieren (debian potato)bekomme ich den u.g. fehler.

bei den known bugs der php-reference steht dazu:
* Error: „undefined reference to `uncompress’“ Die Client-Bibliothek wurde mit der Unterstützung für ein komprimiertes Client-/Server-Protokoll kompiliert. Um den Fehler zu beheben, müssen Sie -lz als letztes angeben, wenn Sie gegen -lmysqlclient linken.

öööööhm… ja. was sagt mir das? wo muss ich was angeben? bitte uebersetze mir das einer…

danke, gruss.

ps: ich habe den thread vor tagen schon in php gestartet, dort aber keine befriedigende antwort erhalten. villeicht dort die antworten unterbringen. danke gruss

/usr/local/mysql-3.23.47-pc-linux-gnu-i686//lib/libmysqlclient.a(my\_compress.o): In function `my\_uncompress':
my\_compress.o(.text+0x9a): undefined reference to `uncompress'
/usr/local/mysql-3.23.47-pc-linux-gnu-i686//lib/libmysqlclient.a(my\_compress.o): In function `my\_compress\_alloc':
my\_compress.o(.text+0x12a): undefined reference to `compress'
collect2: ld returned 1 exit status
make: \*\*\* [php] Fehler 1

Hallo,

undefined reference to bla

steht dafür, dass Du eine Funktion „bla“ zwar gerne benutzen möchtest, diese aber bisher nie definiert wurde.

Ich kenne mich mit PHP null,gar nicht aus, aber in anderen Sprachen (C/C++) gibts z.B. sowas wie Prototypen, damit das nicht passiert.

Gruß

Fritze

Hallo dog.je,

poste doch mal bitte deinen ./configure Aufruf. Ich schätze mal, dass dort dein Problem zu suchen ist.

/usr/local/mysql-3.23.47-pc-linux-gnu-i686//lib/libmysqlclient.a(my_compress.o):
In function my\_uncompress': my\_compress.o(.text+0x9a): undefined reference to uncompress’
/usr/local/mysql-3.23.47-pc-linux-gnu-i686//lib/libmysqlclient.a(my_compress.o):
In function my\_compress\_alloc': my\_compress.o(.text+0x12a): undefined reference to compress’
collect2: ld returned 1 exit status
make: *** [php] Fehler 1

Wenn ich mir das so anschaue, dann fällt mir das folgendes auf:

:/usr/local/mysql-3.23.47-pc-linux-gnu-i386//lib/libmysqlclient.a

Und dabei besonders die doppelten /. Das --with-mysql beim Konfigurieren darf am Ende des MySQL-Pfads kein / haben, sollte also ungefähr so aussehen
–with-mysql=/usr/local/mysql
Das Gleiche gilt natürlich auch für den Apachepfad.

Grüße
Martin

Hallo dog.je,

poste doch mal bitte deinen ./configure Aufruf. Ich schätze
mal, dass dort dein Problem zu suchen ist.

naja, ich habe in einer mailingliste den hinweis gefunden, dass man wenn dieser fehler auftritt zusaetzlich mit --with-zlib konfigurieren muss. dann kompiliert das.

keine ahnung, ob/wann doppelslashes probleme aufwerfen, ist mir bisher noch nciht aufgefallen…