Seite 1 von 1

QDevelop startet nicht

Verfasst: 12. März 2008 22:53
von qtNiko
hallo,

ich habe mir nach guten Berichten über QDevelop nun auch die Binärversion in mein Suse Linux10.1 geladen, d.h. einfach das qdevelop-0.25.2-1-bin.tar.gz-File entpackt und qdevelop gestartet.
Leider tut sich rein gar nichts.
Qt 4.2.3 ist bereits installiert und funktioniert.

Vermutlich brauche ich noch irgendwelche Path-Einstellungen.
Kann mir jemand sagen, was noch fehlt, damit das Programm startet und funktioniert?

--------------------------------------------------------
Nun habe ich versucht, qdevelop aus den Sourcen neu zu erzeugen.
Dabei erhalte ich folgende Warnungen/Fehlermeldungen:

Code: Alles auswählen

linux-amd:/usr/share/qdevelop-0.25.2 # qmake             <----------- nach Anweisung im README.txt
WARNING: Found potential symbol conflict of main.cpp (src/main.cpp) in SOURCES
linux-amd:/usr/share/qdevelop-0.25.2 # make             <----------- nach Anweisung im README.txt
Makefile:1017: warning: overriding commands for target `build/o/unix/main.o'   <---- diese Zeile kommt tatsächlich 2mal vor: Fehler von qmake?
Makefile:641: warning: ignoring old commands for target `build/o/unix/main.o'
/usr/lib/qt3/bin/uic ui/about.ui -o build/ui/about.h
uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.5)
make: *** [build/ui/about.h] Error 1
Tatsächlich gibt es in meinem Linux den Pfad /usr/lib/qt3.
Er muss noch von der Installation von KDevelop stammen, das ich jedoch mittlerweilen gelöscht habe.

Wie bringe ich es nun hin, dass die Bibliotheken in meinem Verzeichnis /usr/local/Trolltech/Qt-4.2.3 verwendet werden?

Im Makefile kommen nur die beiden Zeilen vor, die "qt3" enthalten:

Code: Alles auswählen

INCPATH  = -I/usr/lib/qt3/mkspecs/default -I. -I. -Isrc -Isrc/ui -I../../include -I$(QTDIR)/include -Ibuild/ui/ -Iui -Ibuild/moc/
...
Makefile: QDevelop.pro  /usr/lib/qt3/mkspecs/default/qmake.conf ../../lib/qt3/lib/libqt-mt.prl 
Darf ich einfach das Makefile editieren und dort den Pfad /usr/local/Trolltech/... eintragen?

Danke schon mal für Tipps.

Verfasst: 12. März 2008 23:35
von C167
ich hab mir da zuletzt vor 2 Wochen die damals neuste Version aus der Versionsverwaltung besorgt und gebaut. was gibt es denn aus wenn du es auf der Konsole startest?

Verfasst: 13. März 2008 00:02
von qtNiko
Na ja,

nach dem Entpacken der Binärversion passiert, wie gesagt, überhaupt nichts, wenn ich QDevelop starten möchte.

Mittlerweilen habe ich versucht, das Programm aus dem Sourcecode zu erzeugen. Dies endet leider mit Fehlermeldung, siehe mein erstes, nun erweitertes Posting.

Verfasst: 13. März 2008 00:07
von C167
nimm mal qmake-qt4
mein debian system hat einmal qmake, das nach qmake-qt3 gelinked wird, und ein qmake-qt4

Verfasst: 14. März 2008 00:13
von qtNiko
hi,

wenn ich den kompletten Pfad zu qmake im Trolltech-Verzeichnis angebe, dann erhalte ich ein Makefile für Qt-4.2.3. Das war aber erst der 1. Schritt.
Nach Eingabe von make kommt erst mal jede Menge Text, aber leider eine Menge Fehlermeldungen darunter

Code: Alles auswählen

...
build/ui/ui_main.h:773: error: ‘class QGridLayout’ has no member named ‘setRightMargin’
dito mit setTopMargin, setLeftMargin, etc.
...
build/ui/ui_main.h:476: error: ‘class QGridLayout’ has no member named ‘setTopMargin’
dito mit setRightMargin,..., ‘setHorizontalSpacing’, ...
...
ähnliche Fehlermeldungen bei class QVBoxLayout, class QGridLayout, classQHBoxLayout
Was nun? Ist mein Download-File nicht komplett?

Verfasst: 14. März 2008 14:43
von C167
deine Datei ist komplett, mein Qt 4.4-tp1 gibt beim compilieren 6795 Zeilen auf stderr aus! nicht compilierbar.

auch die svn-version baut nicht, gleiche Fehlerausgabe.

Verfasst: 14. März 2008 14:55
von C167
Berichtigung: Die SVN-Version baut, und auch die normale stabile Version baut!
Wie? ganz einfach:
kein

Code: Alles auswählen

qmake-qt4 && make
sondern einfach

Code: Alles auswählen

cmake . && make
und schon laeuft es durch! die SVN-Version wird momentan mit einem Speicherzugriffsfehler abgeschossen, aber die normale stabile funktioniert!
um das so zu bauen brauchst du natuerlich ein halbwegs aktuelles cmake :)

Verfasst: 14. März 2008 17:59
von qtNiko
hi,

auf meinem Rechner, Suse Linux 10.1, habe ich kein qmake-qt4, sehr wohl aber ein qmake im Verzeichnis .../Trolltech/Qt-4.2.3/bin/. Damit erhalte ich ein Makefile, das zumindest laut Kommentar am Anfang für Qt4 gilt. Aber mit make kommen dann die Fehler :cry:
Ein cmake habe ich offensichtlich auch nicht. Jedenfalls meldet mein Linux auf die Eingabe "cmake --version" den Fehler "command not found".

Andererseits gibt es eine ganze Reihe zufriedener Nutzer von QDevelop. Darunter sind doch bestimmt auch welche mit Suse Linux.
Wie habt ihr das bloß hingekriegt?

Ich werde zu Hause weiterversuchen - bin noch in der Firma.

Verfasst: 14. März 2008 18:30
von C167
cmake kannst du ganz einfach mit yast2 installieren (zumindest so die theorie).
QDevelop: Entweder nehmen die anderen Suse-Nutzer die vorgefertigten aus den Repositories, oder aus anderen repositories (rpm.org war glaube ich eine der Suchmaschienen fuer RPM-Packages).

qmake-qt4: Hab ich nciht bedacht, sorry, verwende ja die technologypreview _und_ debian, da is das offenbar ein wenig anders gehandhabt.

Versuch mal cmake zu installieren und nimm deinen direkten Aufruf von qmake anstellle meines qmake-qt4 und es sollte gehen.
HTH
C167

Verfasst: 15. März 2008 00:57
von qtNiko
danke für den Tipp - ich bin froh um jeden Strohhalm.
Das mit cmake werde ich morgen probieren. Heute mag ich nicht mehr :cry:

Verfasst: 15. März 2008 22:41
von qtNiko
Hab's mit cmake versucht, aber ohne Erfolg.
Es läuft eine Weile gut, aber dann nach [51%] geht es wieder los mit Fehlermeldungen der Art:

Code: Alles auswählen

/usr/share/qdevelop-0.25.2/ui_registers.h:36: error: ‘class QGridLayout’ has no member named ‘setLeftMargin’
...
/usr/share/qdevelop-0.25.2/ui_main.h:475: error: ‘class QGridLayout’ has no member named ‘setLeftMargin
...
/usr/share/qdevelop-0.25.2/ui_main.h:521: error: ‘class QVBoxLayout’ has no member named ‘setLeftMargin
...
Wenn ich solche Fehlermeldungen sehe, dann heißt das doch, dass entweder im Sourcecode etwas nicht stimmt (unwahrscheinlich), oder dass möglicherweise einige h-Files nicht existieren bzw. gefunden werden.
Wie kann denn damit irgendjemand ein lauffähiges Programm zusammenkriegen?

Verfasst: 15. März 2008 23:04
von qtNiko
Jetzt bin ich auf eine mögliche Erklärung gestoßen, und zwar im Qt-Assistent:
Die Suche nach "setLefMargin" ergibt zwei Objekte, in denen es vorkommt
- Q3Table Class Reference
- QTextBlockFormat Class Reference

Bei Q3TableClassReference heißt es , dass es dieses Objekt nur in der Qt Desktop Edition gibt. Ich habe nur die OpenSource Version.
Kann es sein, dass QDevelop mit der OpenSource Version nicht läuft, und dass es in der Desktop-Version z.B. ein Objekt QGridLayout gibt, welches die fehlenden members besitzt?

Verfasst: 16. März 2008 09:36
von Christian81
Also ich habe mal versucht qdevelop 0.25-2 mit msvc zu kompilieren und muss sagen dass es nicht kompilierbar ist ohne Änderungen an den CMake - Scripten zu machen - da hat wohl mal jemand von CMake geträumt und es einfach für sich kompilierbar gemacht ohne sich intensiv damit zu beschäftigen.
Ich habe 4.3.x benutzt - würde ich Dir auch vorschlagen. Außerdem ein builddir außerhalb des source-trees. Wenn es dann nicht geht -> an die QDevelop devs wenden, wir können hier nicht helfen.