On Thu, Mar 29, 2001 at 11:21:48PM +0200, Eric Schaefer wrote:
es5@zeus:~/incoming/gnome-libs-1.2.3$ cat /etc/ld.so.conf /usr/lib /usr/local/lib /usr/X11R6/lib
Der Inhalt diese Feile ist nur zu Laufzeit des Programm interesannt. Compiler/Linker interessieren sich nicht dafür.
Ausserdem solltest du checken, ob du die include-files der zlib hast (zlib.h und zconf.h)
Die fehlen. In welchem Paket sollten die denn sein (kann nix finden)?
Bei debian in "zlib1g-dev"
Auf der anderen Seite: config.log meint
| /usr/bin/ld: cannot find -lz
(siehe auch Antwort auf Adams Mail) Also findet der Linker die lib nicht, obwohl sie vorhanden und im Pfad ist.
vorhanden ja, Pfad ist noch nicht klar.
config.log:
configure:7006: checking for inflate in -lz configure:7025: gcc -o conftest -g -O2 -Wall -Wunused -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/X11R6/include conftest.c -lz -lm 1>&5 /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status
Etwas komisch ist es schon. Deine libz befindet sich ja in /usr/lib und in diesem Verzeichnis sucht der Linker eigentlich automatisch nach libs. Gib dem Compiler zum Testen trotzdem mal lieber die Option "-L/usr/lib" noch mit. Wahrscheinlich kannst du das mit
# LDFLAGS="-L/usr/lib" ./configure ....
erreichen. Alternative ist das Setzen der Variable LD_LIBRARY_PATH auf eine Liste der zu durchsuchenden Pfade.
Wenn das nicht hilft 2 Ideen:
* lib ist put: --> nachauen ob bei "nm /usr/lib/libz..." was sinnvolles erscheint, also vor allem das gewünschte compress() * gcc die option "-v" mitgeben, um genau zu sehen, wie der gcc den linker aufruft und ggf. weitere Optionen mitgeben. Evetuell ist ja dein gcc zerschossen (sehr unwahrscheinlich)
(nutzt du eine Distibution oder ist es ein selbstgebasteltes System?)
configure: failed program was: #line 7014 "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 inflate();
int main() { inflate() ; return 0; } configure:7081: checking for compress in -lz configure:7100: gcc -o conftest -g -O2 -Wall -Wunused -I/usr/local/include/gtk-1.2 -I/usr/local/include/glib-1.2 -I/usr/local/lib/glib/include -I/usr/X11R6/include conftest.c -lz -lm
Der Aufruf sieht eigentlich gut aus.
1>&5 /usr/bin/ld: cannot find -lz
Reinhard