PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SLES10SP2 + Python2.5.X + PyQt4



blUNIX
07-09-2008, 20:22
Hallo Forum,

ich benötige für einen Kunden Python2.5.X und PyQt4 auf SLES10SP2.
Die Dreisätze für Python, qt4(Trolltech) und SIP (riverbankcomputing) sind durchgelaufen.
Bei PyQt4 kommt folgende Fehlermeldung:



Determining the layout of your Qt installation...
/usr/lib/qt3/bin/qmake -o qtdirs.mk qtdirs.pro
make -f qtdirs.mk
g++ -c -pipe -O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fno-strict-aliasing -Wall -W -O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -fno-strict-aliasing -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I/usr/include -I/usr/lib/qt3/include -o qtdirs.o qtdirs.cpp
qtdirs.cpp:1:17: error: QFile: No such file or directory
qtdirs.cpp:2:24: error: QLibraryInfo: No such file or directory
qtdirs.cpp:3:23: error: QTextStream: No such file or directory
qtdirs.cpp: In function "int main(int, char**)":
qtdirs.cpp:7: error: "QFile" was not declared in this scope
qtdirs.cpp:7: error: expected `;' before "outf"
qtdirs.cpp:9: error: "outf" was not declared in this scope
qtdirs.cpp:9: error: "QIODevice" has not been declared
qtdirs.cpp:9: error: "QIODevice" has not been declared
qtdirs.cpp:9: error: "QIODevice" has not been declared
qtdirs.cpp:12: error: "QTextStream" was not declared in this scope
qtdirs.cpp:12: error: expected `;' before "out"
qtdirs.cpp:14: error: "out" was not declared in this scope
qtdirs.cpp:14: error: "QLibraryInfo" has not been declared
qtdirs.cpp:14: error: "QLibraryInfo" has not been declared
qtdirs.cpp:15: error: "QLibraryInfo" has not been declared
qtdirs.cpp:15: error: "QLibraryInfo" has not been declared
qtdirs.cpp:16: error: "QLibraryInfo" has not been declared
qtdirs.cpp:16: error: "QLibraryInfo" has not been declared
qtdirs.cpp:17: error: "QLibraryInfo" has not been declared
qtdirs.cpp:17: error: "QLibraryInfo" has not been declared
qtdirs.cpp:18: error: "QLibraryInfo" has not been declared
qtdirs.cpp:18: error: "QLibraryInfo" has not been declared
qtdirs.cpp:19: error: "QLibraryInfo" has not been declared
qtdirs.cpp:19: error: "QLibraryInfo" has not been declared
qtdirs.cpp:21: error: "QT_VERSION" was not declared in this scope
qtdirs.cpp:22: error: "QT_EDITION" was not declared in this scope
make: *** [qtdirs.o] Error 1


Die Übersetzung aus den Quellen habe ich versucht, da ich keine RPM's gefunden habe.

Falls mir jemand helfen kann, vielen Dank.

MfG
blUNIX

ContainerDriver
07-09-2008, 21:13
Du versuchst die Header von Qt3 zu benutzen! Du musst PyQt4 irgendwie klar machen, dass Qt4 verwendet werden soll, eventuell hat das configure-Skript einen Schalter um den Ort von Qt angeben zu können.

blUNIX
08-09-2008, 05:23
Guten Morgen ContainerDriver,

vielen Dank für die schnelle Antwort.
Ich werde dies mal probieren. Wenn configure kein --help o.ä. besitzt, gibt es noch eine weitere Möglichkeit ?

Wir lesen uns
blUNIX

anda_skoa
08-09-2008, 11:59
Versuch QTDIR auf das Basisverzeichnis der Qt4 Installation zu setzen.

Ciao,
_

blUNIX
08-09-2008, 15:58
Servus Leute,

erstmal vielen Dank für die Hilfestellungen.
Ich habe mal in ein paar Schritten zusammengeschrieben was ich getan habe damit es jetzt funktioniert. Wenn es jemand zu einem Tutorial umschreiben will - bitte ! :D

Bitte nehmt mir die Reboots nicht übel - ich komme aus der MS-Welt. :D

Für ContainerDriver und anda_skoa:
Ich habe in /etc/profile den $PATH erweitert (Schritt 07).

meine Reihenfolge:
01. Installation von SLES10SP2 mit folgenden Softwareinstellungen.
- Novell AppArmor
+ KDE
+ C/C++ Entwicklerwerkzeuge

02. Download der benötigten Software.
Python2.5 -> www.python.org
PyQt4 -> www.riverbankcomputing.co.uk/software/pyqt/intro
SIP -> www.riverbankcomputing.co.uk/software/sip/intro
Qt4 -> www.trolltech.de

03. Entpacken der Software in ein separates Verzeichnis (wegen der Übersicht :) ).

04. Installieren, die erste.
cd /wohin/gespeichert/Python2.5
./configure && make && make install

05. Reboot

06. Installieren, die zweite.
cd /wohin/gespeichert/qt4-X11
./configure && gmake && gmake install

07. Ändern der globalen Pfadvariablen.
/etc/profiles muss den Pfad auf /usr/local/Trolltech/Qt-4../bin enthalten
Reboot des Systems und die Variable $PATH überprüfen.

08. Installieren, die dritte.
cd /wohin/gespeichert/SIP
python configure.py && make && make install

09. Reboot

10. Installieren, die vierte.
cd /wohin/gespeichert/PyQt4
python configure.py && make && make install

11. Reboot

12. Test mit folgendem Script:
>> #!/usr/bin/python
>>
>> import sys
>> from PyQt4 import QtGui
>>
>> app = QtGui.QApplication(sys.argv)
>> widget = QtGui.QWidget()
>> widget.resize(250, 150)
>> widget.setWindowTitle('Ein Test')
>> widget.show()
>>
>> sys.exit(app.exec_())


Wir lesen uns
blUNIX

fs111
09-09-2008, 14:09
Nur so als Anmerkung, die Reboots nach dem installieren von Software kannst Du Dir sparen.

fs111

ContainerDriver
09-09-2008, 18:17
Und in Zukunft lieber RPMs verwenden (die kann man sich aus den Quellen auch selbst bauen), weil du mit der manuellen Installation die Paketverwaltung untergräbst; wenn du jetzt z.B. eine Software über rpm installieren willst, die PyQt4 voraussetzt, dann lässt das rpm nicht zu, da es nichts von der manuellen Installation von PyQt4 weiß.

Gruß, Florian

blUNIX
10-09-2008, 21:29
Nabend Leute,

@fs111:
Wäre schön gewesen, hat ohne Reboots leider nicht funktioniert.

@ContainerDriver:
Wenn ich welche für den S.u.S.E. Linux Enterprise Server 10 gefunden hätte, ich hätte die RPM's auch verwendet.

Erklärt mir bitte wie ich aus dieser Installation RPM's erzeugen kann, dann kann ich die an euch übergeben um sie zu veröffentlichen.

Wir lesen uns
blUNIX

ContainerDriver
11-09-2008, 13:07
Meine Kenntnisse beim RPM-Bau sind eher theoretischer Natur, weil ich keine RPM-basierte Distribution verwende, aber mit checkinstall (http://de.wikipedia.org/wiki/Checkinstall) soll die Erstellung von RPM-Paketen automatisch möglich sein.

Gruß, Florian

blUNIX
11-09-2008, 13:24
Servus ContainerDriver,

muss ich schauen wie es mit der Zeit aussieht.
Dafür muss ja alles nochmal neu gemacht werden.

Wir lesen uns
blUNIX

fs111
11-09-2008, 13:31
checkinstall hat einige Probleme auf neueren Systemen mit selinux, da es einige system-calls abfängt und so nicht richtig funktioniert. Wenn es schon unbedingt alles kompiliert werden muss, dann würde ich immer versuchen alles in /opt/<was-weiß-ich> zu installieren. Das macht es hinterher einfacher, alles sauber zu deinstallieren. Die Umgebungsvariablen lassen sich ja einfach anpassen und dein rpm basiertes Grundsystem wird nicht zu gemüllt. Das Problem mit den Abhängigkeiten bleibt natürlich bestehen...

fs111

blUNIX
12-09-2008, 05:10
Moin Leute,

ich glaub ich lass das mit den RPM's. Wird mir dann doch irgendwie zu kompliziert und langatmig. Falls doch mal jemand so einen Fall hat, kann er es nachbauen. :)

Wir lesen uns
blUNIX

anda_skoa
12-09-2008, 12:33
@fs111:
Wäre schön gewesen, hat ohne Reboots leider nicht funktioniert.


Es geht auf jedenfall ohne Reboot, bei einigen der Schritten wird zwar das Environment erweitert, aber dazu reicht es erstmal z.B. ein neues Konsolenfenster aufzumachen.

Im schlimmsten Fall, d.h. wenn man dieses neue Environment dann in der gesamten Desktopumgebung braucht, muss man auch nur ausloggen und neu einloggen.

Ciao,
_