linux-l: Mit QT vernünftig Programme Kompilieren

frank schubert frank at schubert.in-berlin.de
Do Jan 18 21:24:34 CET 2001


Ahoi,
 
ich wollte mir mal DivX Filme antun und habe mir deshalb mal avifile
runter geladen und bekam dann beim ./configure folgende Fehlermeldungen:

checking for uic... not found
./configure: QTDIR: command not found
configure: warning: No Qt ui compiler (uic) found!
Please check whether you installed Qt correctly.
You need to have a running uic binary.
configure tried to run  and the test didn't
succeed. If configure shouldn't have tried this one, set
the environment variable UIC to the right one before running
configure.
 
checking whether we like this Qt installation... checking for 
/usr/lib/qt/include/qvariant.h... no
configure: error: Unacceptable Qt installation detected! You need Qt 2.1.0 or 
higher to build an AVI player and Qt 2.1.9 or higher to build video capture 
program. See details about failed test in ./config.log. 

Beim Recherchieren über Google habe ich ja auch schnell mitbekommen das uic
wenn es von jedem Progrämmchen sofort gefunden werden würde auch zu Problemen
führen kann (und auch tatsächlich tut) und das deswegen bei SuSE (7.0)
ein remove vorgenommen wurde.

Im (SuSE) Readme steht zwar drinn, das man bei solchen dingen dann ...

>>
Applikationen, die mit QT compiliert werden, erwarten normalerweise, daß 
entweder

a. in der aktuellen Umgebung eine Variable QTDIR existiert, die den Pfad 
   zum QT-Verzeichnis beschreibt, oder
b. im Makefile der Applikation eine entsprechende Variable definiert ist.

Damit diese Variable existiert gibt es drei Wege:

a. Systemweites definieren der Variable in der Datei /etc/profile. Dies
   ist Standard in S.u.S.E. Linux.
b. Explizites Anlegen der Variable vor dem Compilieren mit:
   export QTDIR=/usr/lib/qt
c. Definieren der Variable im jeweiligen Makefile bzw. Imakefile:
   QTDIR = /usr/X11R6/qt
<<

Darauf hin hatte ich in einem Beispielscript die Variable

export SYSCONF_UIC=$(QTDIR)/bin/uic 

gefunden und mal entsprechend 

export QTDIR=/usr/lib/qt   
export SYSCONF_UIC=/bin/uic
und 
export SYSCONF_UIC=/usr/bin/uic

ausprobiert. (ohne Erfolg)

Darüber hinaus gibt es für solche Situationen bei avifile folgende 
./configure options:

--with-qt-dir=<your-directory> 
--with-qt-includes=<your-directory>
--with-qt-libraries=<your-directory>
                        Specify these options if ./configure fails
			to find your Qt installation, if you receive
			strange Qt-related errors or if you want to
			build 'aviplay' for an alternative version of Qt. 
 

Damit habe ich zwar mit ./configure--with-qt-libraries=/usr/lib/qt-2.2.2
den Durchlauf geschafft aber zwischendrinn meckerte er wieder über sein
fehlendes uic und brachte am Ende die Meldung include/config.h is unchanged  

Auch wenn das Teil jetzt teilweise funktioniert (durch ständiges Mausschubsen)
kann es das sicherlich als endergebnis nicht sein.

Darum wollte ich gerne mal wissen, wie ich diesen merkwürdigen uic beim
Kompilieren zum laufen bringe, hat da jemand zufällig eine Idee?

Besten Dank im Voraus

fs                             



Mehr Informationen über die Mailingliste linux-l