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).
Nun mal die Fakten:
**********Makefile************
SRCDIRS = tools sg src
SUBDIRS = $(SRCDIRS) lib
TARGETS = default depend
include debiandef # das ist von mir, wird nur f�r von mir eingef�gte
# targets gebraucht
default:
$(TARGETS):
$(MAKE) $(SRCDIRS) TARGET=$@
$(SUBDIRS): FORCE
cd $@; $(MAKE) $(TARGET)
# dann nur noch clean etc.
FORCE:
**********Makefile************
In den SRCDIRS und Unterverzeichnissen dann entsprechende Makefiles, die
alle ein
include $(TOP)/makedef
enthalten und letzlich dann die Compilerbefehle, z.B.
TOP = ../..
include $(TOP)/makedef
LIBDIR = $(TOP)/lib
INCLUDES = -I$(TOOLSDIR)/include -I$(SGDIR)/include -I$(TOP)/include
CPPFLAGS = $(INCLUDES) $(MCPPFLAGS)
CFLAGS = $(CPPFLAGS) $(MCFLAGS)
LIBS = $(LIBDIR)/libcip.a $(LIBDIR)/libcmd.a \
$(LIBDIR)/libui.a \
$(LIBDIR)/libgraph.a $(LIBDIR)/libio.a $(LIBDIR)/libpu.a \
$(LIBDIR)/libcalc.a $(LIBDIR)/libprim.a $(LIBDIR)/libdata.a \
$(LIBDIR)/libattr.a $(LIBDIR)/libfileio.a $(LIBDIR)/libos.a
SGLIB = $(SGDIR)/lib/libsg.a
TOOLSLIB = $(TOOLSDIR)/lib/libtools.a $(IMGLIB)
PROGRAM = molmol
OBJ = MolMol.o MolInit.o
SRC = $(OBJ:.o=.c)
default: $(PROGRAM)
$(PROGRAM): $(OBJ) $(LIBS) $(SGLIB) $(TOOLSLIB)
$(CC) -o $@ $(CFLAGS) $(OBJ) $(LIBS) $(SGLIB) $(TOOLSLIB) $(SYSLIB)
clean:
rm -f $(OBJ) $(PROGRAM) core *.ps
depend: $(SRC)
include $(TOP)/makedep
*******************************
Interessant sind also wohl noch makedef und makedep - aber letztere
Dateien sind hier alle leer. makedef habe ich selbst angepasst:
[EMAIL PROTECTED]:~/src/Packages/molmol/molmol-2k.2.0$ grep -v ^# makedef | grep -v ^$
DEB_INCLUDEDIR = /usr/include
DEB_LIBDIR = /usr/lib
TIFFDIR = $(DEB_INCLUDEDIR)
JPEGDIR = $(DEB_INCLUDEDIR)
PNGDIR = $(DEB_INCLUDEDIR)
ZLIBDIR = $(DEB_INCLUDEDIR)
*********
( bis hierhin alles von mir ver�ndert bzw. eingef�hrt)
*********
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
CPP = /lib/cpp
MCPPFLAGS = $(MISSFUNC) -I/usr/X11R6/include -L/usr/lib -L/usr/X11R6/lib #original
CC = /usr/bin/cc
MCFLAGS = -O
RANLIB = /bin/true
WAIT = /bin/sleep 2
SHELL = /bin/sh
SGDEVDIR = ogl x11 no pov rib vrml1 vrml2 ps fm
SGDEVDEF = -DSG_DEV_OGL -DSG_DEV_X11 -DSG_DEV_NO -DSG_DEV_POV -DSG_DEV_RIB
-DSG_DEV_VRML1 -DSG_DEV_VRML2 -DSG_DEV_PS -DSG_DEV_CPS -DSG_DEV_FM3 -DSG_DEV_FM4
PUDEVDIR = motif tty
PUDEVDEF = -DPU_DEV_MOTIF -DPU_DEV_TTY
IODEVDIR = motogl motx11 ttyno
IODEVDEF = -DIO_DEV_MOTIF_OGL -DIO_DEV_MOTIF_X11 -DIO_DEV_TTY_NO
*********
die letzten Zeilen seit SHELL alle gem�� Anleitung angepasst
*********
MOTIFDEF = -DFUNCPROTO
SYSLIB = -lXm -lXt -lX11 -lm -lGL -lGLw -lGLU -lpthread
*********
ab -lGL alles von mir, dann wieder zwei originale Zeilen
*********
TOOLSDIR = $(TOP)/tools
SGDIR = $(TOP)/sg
Kann mir jemand helfen, oder was sollte ich lesen? Oder kann jemand eine
Newsgroup empfehlen, in der man mir helfen k�nnte?
TIA, Frank
--
Frank K�ster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie
--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)