PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QT directory nicht gefunden



Elitemassacre
22.03.02, 17:03
Hallöchen,

ich habe ein Problem :P

Ich habe bei mir qt installiert, doch er findet es nie wenn ein programm es braucht. Habe zuerst das mitgelieferte RedHat rpm-Paket (qt und qt-devel) installiert (natürlich ohne Fehler), dann eine andere Version und zuletzt die sourcen compiliert. Doch jedesmal findet z.B. aviplay und komba das qt-verzeichnis nicht. Was mache ich falsch???

in etc/profile und /root/bash_profile werden die richtigen qt-verzeichnisse exportiert und mein qt ist in /usr/lib/qt-2.3.2 Einen Link darauf habe ich auch in /usr/lib/qt2 gemacht.

Bitte helft mir.
- Danke

anda_skoa
22.03.02, 19:55
Sieh nach, ob die QTDIR Varable wirklich gesetzt ist.
Die profile Dateien gelten nämlich nur für loginshells, wenn ich mich recht erinnere.

Ciao,
_

Elitemassacre
23.03.02, 10:53
Also, das müßte alles richtig gesetzt sein. selbst wenn ich vor dem compilieren "export QTDIR=..." und "export LD_LIBRARY_PATH=..." mache, findet er es nicht.

Und wenn ich direkt beim configure den prefix "--with-qt-dir=/usr/lib/qt-2.3.2 --with-qt-libraries=/usr/lib/qt-2.3.2/lib --with-qt-includes=/usr/lib/qt-2.3.2/include" angebe, funktioniert es trotzdem nicht. Ich kann ja mal die config.log von komba hier reinposten, was er da für fehlermeldungen hat. bin aber zur zeit in windows drin :(

-danke

anda_skoa
23.03.02, 11:26
Ja, zumindest die letzten 10 Zeilen oder so aus dem config.log.

Die richtige Version von Komba ist es schon, oder?
Nicht die KDE1 Version :)

Ciao,
_

micha
23.03.02, 14:43
Hi,

wenn's die richtige KDE-Version ist, hilft eventuell ein Eintrag des QT-Library-Verzeichnisses in die /etc/ld.so.conf gefolgt von einem ldconfig -v.

Gruß micha

Elitemassacre
24.03.02, 08:03
Hui, da hab ich ja was übersehen. Ich wußte nicht, dass man für Komba KDE braucht :( Ich benutze nämlich Enlightenment.

Aber es müßte doch trotzdem gehen - zumindest aviplay. Aber das compiliert er ja nicht, da er QT nicht gefunden hat. Einen Eintrag der QT-Libraries habe ich auch schon in /etc/ld.config gemacht.

Oder benötigt man generell für QT KDE???

-Danke

schnebeck
24.03.02, 10:45
Schick doch einfach mal die entsprechende Stelle aus dem config.log.

Kann es sein, dass du durch den RPM-tar.gz-MischMasch eine zweite Installation im System verstreut hast?

Wenn du von Source installiert, Aviplay braucht die Multithreading-Version von Qt, die da heisst qt-mt.so, während Komba2 als KDE2-Programm die normale qt.so benötigt. Aviplay kann sowohl mit Qt2 als auch mit Qt3 kompiliert werden, Komba2 ist auf Qt2 angewiesen.
Hast du deine QTDIR-Umgebungsvariable auch exportiert?
Sicherheitshalber ergänze den Run-Path:
export PATH=$QTDIR/bin:$PATH

Mach mal ein "locate" nach qt.so bzw qt-mt.so und include/qt , um Installationsleichen aufzuspüren.

Alle Problem siehst du aber im Log von configure.

Bye

Thorsten

anda_skoa
24.03.02, 11:51
Original geschrieben von Elitemassacre
Hui, da hab ich ja was übersehen. Ich wußte nicht, dass man für Komba KDE braucht


Steht aber auf der komba website bei den Requirements.



Oder benötigt man generell für QT KDE???


Nein, nur umgekehrt. Für KDE braucht man Qt.

Ciao,
_

Elitemassacre
25.03.02, 15:00
also die installierten pakete habe ich eigentlich ganz sauber wieder deinstalliert, dass es eigentlich zu keinen komplikationen kommen sollte. Jetzt zu meiner config.log-datei von avifile (Auszug):

int main() {
XtMalloc()
; return 0; }
configure:7227: checking for X
configure:7280: checking for Qt
tried /usr/lib/qt-2.3.2/lib
tried /usr/lib/qt-2.3.2
tried /usr/local/lib/qt2/lib
tried /usr/local/qt/lib
tried /usr/local/lib
tried /usr/lib/qt2/lib
tried /usr/lib/qt/lib
tried /usr/lib/qt
tried /usr/X11R6/lib/qt2
tried /usr/X11R6/lib
configure:7382: checking for main in -lqt-mt
configure:7397: gcc -o conftest -g -O2 -march=i586 -ffast-math -pipe -Wall -Wno-unused -L/usr/lib -L/usr/X11R6/lib conftest.c -lqt-mt -lpthread -lnsl -ldl -lm 1>&5
/usr/bin/ld: cannot find -lqt-mt
collect2: ld returned 1 exit status
configure: failed program was:
#line 7390 "configure"
#include "confdefs.h"

int main() {
main()
; return 0; }
configure:7440: c++ -o conftest -g -O2 -march=i586 -ffast-math -pipe -I/usr/lib/qt-2.3.2/include -Wall -Wno-unused -L/usr/lib -L/usr/X11R6/lib conftest.C -lpthread -lnsl -ldl -lm -lqt -lXext -lX11 1>&5
/tmp/ccUp60HN.o: In function `main':
/root/src/avifile0.6-20011220/conftest.C:5: undefined reference to `QMovie::QMovie()'
/root/src/avifile0.6-20011220/conftest.C:6: undefined reference to `QMovie::setSpeed(int)'
/root/src/avifile0.6-20011220/conftest.C:7: undefined reference to `QMovie::~QMovie()'
/root/src/avifile0.6-20011220/conftest.C:7: undefined reference to `QMovie::~QMovie()'
collect2: ld returned 1 exit status
configure: failed program was:
#include "confdefs.h"
#include <qmovie.h>
#include <qapplication.h>
int main() {
QMovie m;
m.setSpeed(20);
return 0;
}


Mir fällt auf, dass include "confdesf.h" auch bei den oberen zeilen einen fehler verursacht. Ist das vielleicht der Fehler?

Hier noch meine .bash_profile in /root/:

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
QTDIR=/usr/lib/qt-2.3.2
LD_LIBRARY_PATH=/usr/lib/qt-2.3.2/lib:$LD_LIBRARY_PATH

export USERNAME BASH_ENV PATH QTDIR LD_LIBRARY_PATH


Ich hoffe ihr könnt etwas finden... :)

-Danke

schnebeck
25.03.02, 15:37
> conftest.c -lqt-mt -lpthread -lnsl -ldl -lm 1>&5
>/usr/bin/ld: cannot find -lqt-mt
>collect2: ld returned 1 exit status

Dann wette ich mal, dass du dein Qt nicht in der Multithreading-Variante kompiliert hast, es also kein $QTDIR/lib/libqt-mt.so gibt.
Wie oben schon geschrieben braucht Avifile das.

./configure --help listet die Optionen und die Default-Einstellungen auf.

Have Fun

Thorsten

Elitemassacre
25.03.02, 20:44
So, ich habe jetzt mal wieder die redhat-version raufgehauen und alles auf diese Version gelinkt. Und diesmal findet er auch lib-mt.so oder was das war. Aber trotzdem meckert er weiterhin rum. Hier jetzt die "neue" config-log:

configure:7280: checking for Qt
configure:7382: checking for main in -lqt-mt
configure:7397: gcc -o conftest -g -O2 -march=i586 -ffast-math -pipe -Wall -Wno-unused -L/usr/lib/qt-2.3.1/lib -L/usr/X11R6/lib conftest.c -lqt-mt -lpthread -lnsl -ldl -lm 1>&5
configure:7440: c++ -o conftest -g -O2 -march=i586 -ffast-math -pipe -I/usr/lib/qt-2.3.1/include -Wall -Wno-unused -L/usr/lib/qt-2.3.1/lib -L/usr/X11R6/lib conftest.C -lpthread -lnsl -ldl -lm -lqt-mt -lXext -lX11 1>&5
/tmp/cc35U13f.o: In function `main':
/root/src/avifile0.6-20011220/conftest.C:5: undefined reference to `QMovie::QMovie()'
/root/src/avifile0.6-20011220/conftest.C:6: undefined reference to `QMovie::setSpeed(int)'
/root/src/avifile0.6-20011220/conftest.C:7: undefined reference to `QMovie::~QMovie()'
/root/src/avifile0.6-20011220/conftest.C:7: undefined reference to `QMovie::~QMovie()'
collect2: ld returned 1 exit status
configure: failed program was:
#include "confdefs.h"
#include "qmovie.h"
#include "qapplication.h"
int main() {
QMovie m;
m.setSpeed(20);
return 0;
}


Da auf conftest.C verwiesen wird, hier auch diese datei:

#line 8260 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char XF86VidModeSwitchMode();

int main() {
XF86VidModeSwitchMode()
; return 0; }

Und qmovie.h und qapplication.h sind vorhanden!

Ich hoffe, ihr könnt mir helfen.
-Danke