PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Kompilieren von 2 Programmen



Containy
20.07.04, 14:50
Hallo,
ich brauch dringend 2 Programme kompiliert, aber irgendwie will das ganze nicht so.

1. tifftools von http://sourceforge.net/projects/fax2pdf/
2. fax2pdf von http://sourceforge.net/projects/tifftools

Zu 1:
Code:



hylafax:/usr/local/src/fax2pdf-0.1.3# make
g++ -Wall -O3 -ltiff -lz -o fax2pdf pdf.o fax2pdf.o
pdf.o: In function `image::image(int, int, int, int, int, int, int, unsigned char *, long)':
pdf.o(.text+0x556): undefined reference to `deflateInit_'
pdf.o(.text+0x579): undefined reference to `deflate'
pdf.o(.text+0x5e6): undefined reference to `deflateEnd'
collect2: ld returned 1 exit status
make: *** [fax2pdf] Error 1
hylafax:/usr/local/src/fax2pdf-0.1.3#


Weiß jemand was das bedeutet. Kenn mich da nicht so super mit aus. Ich kompilier zwar immer fast alles. Aber wenn ich dann Probleme bekomm bin ich aufgeschmissen.

Zu 2:
Code:



hylafax:/usr/local/src/tiffmesh-0.1# make
make all-recursive
make[1]: Entering directory `/usr/local/src/tiffmesh-0.1'
Making all in tiffmesh
make[2]: Entering directory `/usr/local/src/tiffmesh-0.1/tiffmesh'
Making all in docs
make[3]: Entering directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs'
Making all in en
make[4]: Entering directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs/en'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs/en'
make[4]: Entering directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs'
make[3]: Leaving directory `/usr/local/src/tiffmesh-0.1/tiffmesh/docs'
make[3]: Entering directory `/usr/local/src/tiffmesh-0.1/tiffmesh'
source='tiffmesh.cpp' object='tiffmesh.o' libtool=no \
depfile='.deps/tiffmesh.Po' tmpdepfile='.deps/tiffmesh.TPo' \
depmode=none /bin/sh ../depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c -o tiffmesh.o `test -f 'tiffmesh.cpp' || echo './'`tiffmesh.cpp
../depcomp: ../depcomp: No such file or directory
make[3]: *** [tiffmesh.o] Error 127
make[3]: Leaving directory `/usr/local/src/tiffmesh-0.1/tiffmesh'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/tiffmesh-0.1/tiffmesh'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/tiffmesh-0.1'
make: *** [all] Error 2
hylafax:/usr/local/src/tiffmesh-0.1#


Siehe oben. Ich habe keine Ahnung was ich machen kann. Brauch bloß dringends diese Programme.

Ich benutze Debian Woody 3.0.

Hoffe jemand kann mir helfen.

Danke,
Containy

Containy
20.07.04, 15:18
Habe folgende Zeile im Makefile gefunden.
Kann es sein, dass ich die irgendwie anpassen muss?


depcomp = $(SHELL) $(top_srcdir)/depcomp

Habe auch schon das Howto zum Kompilieren gelesen, aber finde nichts, was mir weiterhelfen kann.

Gruß
Containy

7.e.Q
21.07.04, 07:37
Zum zweiten Fehler, schau doch mal, wo die depcomp liegt und lass den Pfad im Makefile dann absolut dahin verweisen. Also wenn depcomp zum Beispiel in /usr/bin liegt (was sicher nicht der Fall ist), dann sieht dein besagter Eintrag so aus:

depcomp = $(SHELL) /usr/bin/depcomp

Das sollte den zweiten Fehler schonmal "beheben".

Zum ersten:
da scheint er die pdf.o mit irgendwas verlinken zu wollen, das eigentlich die Referenzen zu "deflate..." enthalten sollte, aber dies nicht tut. Wo der Fehler da genau liegt, kann ich dir leider von hier aus auch nicht sagen.

kth
21.07.04, 13:10
Zu 1.): Deine Version der zlib ist wahrscheinlich zu alt. In Version 1.2.1.1 sind die Symbole jedenfalls vorhanden:
$ nm -D /usr/lib/libz.so.1.2.1.1 | egrep '(deflateInit_$|deflate$|deflateEnd$)'
4a51adb0 T deflate
4a51b260 T deflateEnd
4a51a580 T deflateInit_
$Heißt das entsprechende Paket bei Debian libz? Ich kenne mich da nicht aus.

Zu 2.): depcomp ist eine Skriptdatei aus dem automake-Paket, auf die normalerweise verlinkt wird. Probier mal, im Verzeichnis der Sourcen automake --add-missing aufzurufen.

wolfpac
21.07.04, 13:10
depcomp gehört zum paket automake

soweit ich das verstehe, brauchst du für fax2pdf: libtiff und (hmpf -lz, war das nun zlib oder bzip2...) ich glaub zlib (die dev-versionen, falls die noch net drauf sind, falls zlib nicht klappt bzip2 auch nur zur sicherheit ;) )

es kann auch sein das fax2pdf von tifftools abhängt, also tifftools zuerst installen