[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programm wird teilweise statisch gelinkt - warum?



On 30.Jun 2003 - 10:12:12, Frank Küster wrote:
> Hallo,
> 
> Ich habe das neulich hier angesprochene Programm molmol
> (http://www.mol.biol.ethz.ch/wuthrich/software/molmol/) unter
> kompiliert, jetzt überlege ich ein Paket zu bauen. Es läuft auch, macht
> auch brav seinen Output in tiff, jpeg und png-Dateien. Aber laut ldd ist
> das Binary nicht gegen die entsprechenden Bibliotheken (libtiff etc)
> gelinkt, sondern nur gegen die xlibs, xlibmesa, libmotif und libc.
> 
> Offenbar wurden die Output-Bibliotheken statisch gelinkt - aber woher
> kann das kommen? Ich habe das Makefile selber angepasst, mir ist nichts
> in der Richtung aufgefallen. Ein grep nach static in den Unter-Makefiles
> hat auchnirgendwo was gefunden. Zwar liefert das Programm im Sourcecode
> auch Sourcen für libtiff mit, aber die habe ich nicht angefasst, und
> soweit ich die Doku und die Makefiles verstanden habe sollte das auch
> make nicht tun (außerdem blieben dann noch jpg und png).
[...]
> *********
> IMGDEF  = -DTIFF_SUPPORT -DJPEG_SUPPORT -DPNG_SUPPORT
> IMGINCL = -I$(TIFFDIR) -I$(JPEGDIR) -I$(PNGDIR) -I$(ZLIBDIR)
> IMGLIB  = $(DEB_LIBDIR)/libtiff.a $(DEB_LIBDIR)/libjpeg.a \
>           $(DEB_LIBDIR)/libpng.a $(DEB_LIBDIR)/libz.a

Also ich würde sagen, da haben wir es doch. Er link gegen die .a Files
die AFAIK benutzt werden um statisch die Bibliotheken einzubinden. Wenn
das dynamisch sein soll, müssten da stattdessen -ljpeg -ltiff ...
stehen, und eventuell noch ein paar compiler-flags. Als erstes könntest
du das einfach mal ändern und nochmal kompilieren.

> SYSLIB = -lXm -lXt -lX11 -lm -lGL -lGLw -lGLU -lpthread

Da sollte dann wahrscheinlich auch das -ljpeg -ltiff -lpng -lz rein. Und
oben halt raus damit.

Andreas

-- 
Kommt ein Vertreter auf den Bauernhof.
"Wo kann ich denn Ihren Mann finden?" fragt er die Bäuerin.
"Im Schweinstall. Sie erkennen ihn an der Mütze."



Reply to: