Hallo, On Wed, 14 May 2003, Stefan Onken wrote:
am Mittwoch, 14. Mai 2003 um 17:10 schrieb David Haller [..]
webserver:~/000/qmailadmin-1.0.6 # ./configure [..] --includedir=/home/vpopmail/ --libdir=/home/vpopmail/
--libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include]
Du solltest also
--includedir=/home/vpopmail/include --libdir=/home/vpopmail/lib
das ist nun interessant, da ich das GENAU anders verstanden habe. Ich dachte ich geben den PREFIX ein, und /lib und /include haengt er selber an.
Nein. Das "PREFIX" in den Angaben der Defaults fuer die Optionen ist ein Platzhalter fuer die jew. gueltige prefix, die man evtl. angegeben hat oder die eben per default (meist /usr/local) gesetzt wurde. Wenn man sich mal so ein configure-(shell!)-script anschaut, dann sieht man auch warum, denn (die script-internen shell-variablen) libdir bzw. includedir werden auf libdir='${prefix}/lib' bzw. includedir='${prefix}/include' gesetzt. Man bemerke, dass '' verwendet werden, d.h. dort wird '$prefix' _nicht_ expandiert! Die Expandierung findet dann erst im generierten Makefile statt bzw. u.U. (in seltenen Faellen) sogar erst von der von make aufgerufenen shell... Das ganze fuehrt dann zu: ./configure => prefix=/usr/local, libdir='${prefix}/lib', includedir='${prefix}/include' ./configure --prefix=/blubb => prefix=/blubb, libdir='${prefix}/lib', includedir='${prefix}/include' ./configure --prefix=/blubb --libdir=/bla => prefix=/blubb, libdir='/bla', includedir='${prefix}/include' ./configure --prefix=/blubb --libdir=/blubb/lib --includedir=/blubb/include => prefix=/blubb, libdir='/blubb/lib', includedir='/blubb/include' Man achte auf den Unterschied zwischen dem ersetn und dem letzten Beispiel! libdir='${prefix}/lib' != libdir='/blubb/lib' auch wenn ${prefix} irgendwann zu '/blubb' expandiert. Der Unterschied kann einen z.B. beim Installieren mit make prefix='/bla/blubb' install boese auffallen, da im letzten Beispiel libdir nach wie vor '/blubb/lib' ist!. Besser ist, wenn man in dem Falle ggfs: ./configure --prefix='/blubb' --libdir='${prefix}/lib' usw. verwendet, da dann auch im Makefile die (make-) Variable '${prefix}' verwendet wird. Aber das ist dann wiederum ja der default. Also: '--libdir' sollte man nur verwenden, wenn es von '/lib' abweicht: ./configure --prefix='/blubb' --libdir='${prefix}/libraries' Falls man bei --libdir nicht '${prefix}/*' verwendet, dann muss man ggfs. auch beim 'make install' das libdir explizit anpassen: ./configure --prefix='/blubb' --libdir='/blubb/libraries' make make prefix='/tmp/blubb' libdir='/tmp/blubb/libraries' Achso, die von configure erzeugten Makefiles sollte man sich diesbezueglich auch anschauen, da wird einem obiges dann klarer... Also, eigentlich haette ich in meiner letzten Mail folgendes schreiben sollen: ==== Du solltest also --prefix='/home/vpopmail' --includedir='${prefix}/include' --libdir='${prefix}/lib' verwenden. ==== Ob dir das aber beim konkreten Problem bzgl. des kompilierens von QmailAdmin geholfen haette weiss ich nicht -- dazu muesste ich mir das Makefile(.am) von QmailAdmin anschauen... Wie gesagt: includedir und libdir beziehen sich auf die Orte, an die hininstalliert werden soll -- nicht auf die evtl. einzubindenden Libs... Dafuer gibt's ggfs. die Optionen '--cflags=' bzw. '--libs' (IIRC) bzw. Umgebungsvariablen (CFLAGS/CPPFLAGS/LDFLAGS/LIBS/LDADD u.a., naeheres muss man ggfs. im Makefile nachschauen).
ok, Sebastian Wolfgarten hat mir ein wenig geholfen, kompiliert ist es nun einmal, laufen will es zwar noch immer nicht, aber wir kommen weiter ....
Schoen ;) -dnh -- 153: höflich Abwesenheit von absichtlichen Beleidigungen. (Lars Marowsky-Brée)