it-swarm.com.de

undefinierter Verweis auf das Symbol 'dekomprimieren', DSO fehlt in der Befehlszeile

Ich versuche, meine php iconv-Erweiterung manuell zu kompilieren, damit libiconv anstelle von glibc verwendet wird. Ich habe libiconv heruntergeladen und mit ./configure --prefix=/usr/local, make und dann Sudo make install konfiguriert.

Ich fand diese Anleitung zum manuellen Kompilieren: https://stackoverflow.com/questions/4743080/how-can-i-force-php-to-use-the-libiconv-version-of -iconv-anstelle-des-Centos-in/4851065 # 4851065

Ich habe eine PHP-Version 5.6.10 und sie wurde mit PHPBrew installiert, also habe ich mit Schritt 3 begonnen.

In Schritt 5 (make) ist der folgende Fehler aufgetreten:

/usr/bin/ld: ext/standard/.libs/image.o: undefined reference to symbol 'uncompress'
//lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

Würdest du wissen, wie man das behebt? Danke vielmals.

2
sabanana

Ich habe das Problem gelöst, indem ich Makefile bearbeitet und -lz in EXTRA_LIBS eingefügt habe.

  1. Suchen Sie im Verzeichnis Makefile nach php.
  2. Suchen Sie nach EXTRA_LIBS.
  3. Fügen Sie die -lz Flagge hinzu.

Das verweist auf die Bibliothek, die fehlte. -lz links bis zlib .

Diese Lösung basiert auf Kevinfs Antwort to Seltsamer Verbindungsfehler: DSO fehlt in der Befehlszeile on Stack Overflow.

2
sabanana