Das ist jetzt der zweite Versuch. Vielleicht taucht der erste ja irgendwann wieder auf.
Hi Leute,
hat jemand Erfahrungen mit der automatischen KDE3.1.rc6 Installation via "konstruct"? An der Konfiguration habe ich nicht rumgespielt. Ein Aufruf "make install" im Verzeichnis "meta/everything" bricht immer mit der Fehlermeldung ab
<----------------------- schnipp ----------------------------------> make[8]: Entering directory `/home/kde3/neues_kde/konstruct/libs/arts/work/arts-1.1/qtmcop' source='qiomanager.cc' .......... [gekürzt] ......... In file included from qiomanager.cc:308: qiomanager_p.moc:17: #error "This file was generated using the moc from 3.0.5. It" qiomanager_p.moc:18: #error "cannot be used with the include files from this version of Qt." qiomanager_p.moc:19: #error "(The moc has changed too much.)" make[8]: *** [qiomanager.lo] Error 1 make[8]: Leaving directory `/home/kde3/neues_kde/konstruct/libs/arts/work/arts-1.1/qtmcop' make[7]: *** [all-recursive] Error 1 <----------------------- schnapp ---------------------------------->
Er benötigt also eine moc-Version 3.0.5 und kann vermutlich nur die von "konstruct" installierte Qt-Version 3.1 finden. Hier ist auch KDE 3.0.5a mit den passenden Bibliotheken installiert. Wie kann man das Script überreden die alte schon installierte zu nehmen? Oder kann man "qiomanager.cc" zur Zusammenarbeit mit qt-3.1 überreden?
Jens Weiße
On Sunday 12 January 2003 09:51, Jens Weiße wrote:
hat jemand Erfahrungen mit der automatischen KDE3.1.rc6 Installation via "konstruct"?
Ich kompiliere normalerweise ohne Tools, aber sollte sich kaum unterscheiden.
[cut]
qiomanager_p.moc:17: #error "This file was generated using the moc from 3.0.5. It" qiomanager_p.moc:18: #error "cannot be used with the include files from this version of Qt." <----------------------- schnapp ---------------------------------->
Er benötigt also eine moc-Version 3.0.5 und kann vermutlich nur die von "konstruct" installierte Qt-Version 3.1 finden.
Umgekehrt: $PATH zeigt auf den moc von Qt 3.0.5, aber KDE 3.1 braucht auch Qt 3.1.
QTDIR=/pfad/zu/qt3.1 PATH=$QTDIR/bin:$PATH export PATH QTDIR
Hier ist auch KDE 3.0.5a mit den passenden Bibliotheken installiert. Wie kann man das Script überreden die alte schon installierte zu nehmen? Oder kann man "qiomanager.cc" zur Zusammenarbeit mit qt-3.1 überreden?
Es geht _nur_ mit Qt 3.1!
Konrad
Am Sonntag, 12. Januar 2003 11:46 schrieb Konrad Rosenbaum:
$PATH zeigt auf den moc von Qt 3.0.5, aber KDE 3.1 braucht auch Qt 3.1.
QTDIR=/pfad/zu/qt3.1 PATH=$QTDIR/bin:$PATH export PATH QTDIR
Ich dachte, das das von konstruct mit erledigt wird. Immerhin hat es auch die qt-3.1-Bibliotheken heruntergeladen und entpackt.
Nun läuft gerade der Kompiler. Mal sehen ob das jetzt durch läuft.
Jens Weiße
Am Sonntag, 12. Januar 2003 14:29 schrieb Jens Weiße:
Nun läuft gerade der Kompiler. Mal sehen ob das jetzt durch läuft.
Das kompilieren der qt-Bibliotheken hat etwa 2,5 Stunden gedauert. Dabei ist der Source Code gepackte nur 14 MByte groß. Der Kernel brauch doppelt so viel Platz aber wesentlich weniger Zeit. Ist das normal oder läuft da was vollkommen falsch? Vor allem die Aussicht auf ein komplettes KDE 3.1 mit 140 MByte Quelltext verursacht leichte Unruhe. Auf 24 Stunden dauerkompilieren habe ich eigentlich keine Lust. Wie lösen die Entwickler eigentlich dieses Problem?
Jens, der sich fragt wie lange ein komplettes Gentoo wohl brauch
On Sunday 12 January 2003 19:30, Jens Weiße wrote:
Das kompilieren der qt-Bibliotheken hat etwa 2,5 Stunden gedauert. Dabei ist der Source Code gepackte nur 14 MByte groß. Der Kernel brauch doppelt so viel Platz aber wesentlich weniger Zeit. Ist das normal oder läuft da was vollkommen falsch?
Der Kernel ist in C geschrieben (95% C, 5% Assembler), während Qt auf C++ setzt. Letzteres dauert für gewöhnlich immer länger, vor allem beim gcc. Bei Qt kann man als Anwender die Beispiele und Tools (Designer, Linguist) weglassen, das spart schonmal Zeit. Bei der Kernelkonfiguration kreuzelt man ja auch nicht alle Treiber an.
Vor allem die Aussicht auf ein komplettes KDE 3.1 mit 140 MByte Quelltext verursacht leichte Unruhe. Auf 24 Stunden dauerkompilieren habe ich eigentlich keine Lust. Wie lösen die Entwickler eigentlich dieses Problem?
Qt selbst selten aktualisieren, bei KDE die Objektdateien liegenlassen, so daß ab dem 2. Durchlauf alles relativ schnell geht. Oder die Wartezeit in Kauf nehmen und auf neue Features vom gcc warten, wie z.B. vorcompilierte Header. Bei KDE kannst du bei viel RAM auch mit --enable-final compilieren, das sollte eine Beschleunigung im zweistelligen Prozentbereich bringen. Die Verwendung von ccache, distcc etc. sind weitere Maßnahmen.
Josef
On Sun, Jan 12, 2003 at 07:30:01PM +0100, Jens Weiße wrote:
Am Sonntag, 12. Januar 2003 14:29 schrieb Jens Weiße:
Nun läuft gerade der Kompiler. Mal sehen ob das jetzt durch läuft.
Das kompilieren der qt-Bibliotheken hat etwa 2,5 Stunden gedauert. Dabei ist der Source Code gepackte nur 14 MByte groß. Der Kernel brauch doppelt so viel Platz aber wesentlich weniger Zeit. Ist das normal oder läuft da was vollkommen falsch?
Der Kernel ist in C geschrieben, Qt in C++, daher der Geschwindigkeitsunterschied... Du kannst die Kompilationszeit von Qt aber auch herabsetzen, indem du die Programme Zusatzprogramme und Examples nicht mitkompilierst. Nur die Biliothek dauert dann etwa 1,5 Stunden schätze ich mal.
Vor allem die Aussicht auf ein komplettes KDE 3.1 mit 140 MByte Quelltext verursacht leichte Unruhe. Auf 24 Stunden dauerkompilieren habe ich eigentlich keine Lust. Wie lösen die Entwickler eigentlich dieses Problem?
Die Entwickler arbeiten ja meist nur an einem Teilzweig der ganzen Sourcen, daher müssen sie nur wenig _häufig_ compilieren. Ab und zu ist jedoch auch ein update von kdelibs notwendig, da sind dann schon mal 30 Minuten rum... Zudem muss ja nicht jedes Mal alles neu kompiliert werden, sondern nur die geänderten Sachen, das sind meist 20%.
Jens, der sich fragt wie lange ein komplettes Gentoo wohl brauch
Fragt sich was du unter komplett verstehst ;)
Ciao, Tobias
On Sunday 12 January 2003 09:51, Jens Weiße wrote:
Er benötigt also eine moc-Version 3.0.5 und kann vermutlich nur die von "konstruct" installierte Qt-Version 3.1 finden. Hier ist auch KDE 3.0.5a mit den passenden Bibliotheken installiert. Wie kann man das Script überreden die alte schon installierte zu nehmen? Oder kann man "qiomanager.cc" zur Zusammenarbeit mit qt-3.1 überreden?
Andersrum wird ein Schuh draus: Er benötigt den moc von Qt 3.1, die Dateien sind aber noch mit dem alten moc generiert. Bisher haben autoconf und automake nämlich noch keine impliziten Regeln für die Änderung von Programmen eingebunden, z.B. wenn der Compiler wechselt oder eben der moc. (Spätere Versionen werden das können, laut der Autoconf-Liste.)
Also: find . -name "*.moc" -exec rm -f {} ;
Hoffentlich ist auch der richtige moc bei dir zuerst im Pfad:
josef@noosphere ~ $ /usr/local/qt-3.1/bin/moc -v Qt Meta Object Compiler version 26 (Qt 3.1.0-snapshot-20021022) josef@noosphere ~ $ /usr/local/qt3/bin/moc -v Qt Meta Object Compiler version 19 (Qt 3.0.6-snapshot-20020712) josef@noosphere ~ $ /usr/local/qt2-embed-2.3.4-gcc2/bin/moc -v Qt meta object compiler moc: Invalid argument
Also alle Versionen von 3.x haben irgendwo die Versionsnummer versteckt.
Josef
lug-dd@mailman.schlittermann.de