Seite 1 von 1

[gelöst ] Qt 4.3.x unter Mac OS 10.5, Probleme häufen sich

Verfasst: 16. November 2007 18:56
von s-valve
Hallo,
ich wollte grade Qt unter Mac OS 10.5 kompilieren. Habe dazu die selbe Konfiguration wie unter 10.4 auf meinem alten PowerBook verwendet:

Code: Alles auswählen

./configure -prefix /Developer/qt432 -release -static -no-qt3support -qt-zlib -no-stl -qt-sql-sqlite -no-gif -no-libmng -no-libtiff -no-libjpeg -qt-libpng -no-sse -no-sse2 -no-3dnow -no-openssl -no-qdbus -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk && make
Einzige Abweichung ist, dass ich auf dem PowerBook -arch ppc angegeben hatte und nicht universal.
Anfängliche Schwirigkeiten gab es auch mit 'make', welches nicht gefunden wurde. Habe dann in meiner .profile Datei die PATH Variable angegeben.

Jetzt bekomme ich einen Fehler in qvector.h

Code: Alles auswählen

instantiated from here
../../include/QtCore/../../src/corelib/tools/qlist.h:350: error: no matching function for call to ‘operator new(long unsigned int, QList<QMacMime*>::Node*)’
<built-in>:0: note: candidates are: void* operator new(long unsigned int)
../../include/QtCore/../../src/corelib/tools/qvector.h: In member function ‘void QVector<T>::realloc(int, int) [with T = QPainterPath::Element]’:
../../include/QtCore/../../src/corelib/tools/qvector.h:297:   instantiated from ‘void QVector<T>::detach_helper() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:120:   instantiated from ‘void QVector<T>::detach() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:219:   instantiated from ‘T* QVector<T>::begin() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:232:   instantiated from ‘T& QVector<T>::first() [with T = QPainterPath::Element]’
../../include/QtGui/../../src/gui/painting/qpainterpath.h:329:   instantiated from here
../../include/QtCore/../../src/corelib/tools/qvector.h:427: error: no matching function for call to ‘operator new(long unsigned int, QPainterPath::Element*&)’
<built-in>:0: note: candidates are: void* operator new(long unsigned int)
../../include/QtCore/../../src/corelib/tools/qvector.h:297:   instantiated from ‘void QVector<T>::detach_helper() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:120:   instantiated from ‘void QVector<T>::detach() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:219:   instantiated from ‘T* QVector<T>::begin() [with T = QPainterPath::Element]’
../../include/QtCore/../../src/corelib/tools/qvector.h:232:   instantiated from ‘T& QVector<T>::first() [with T = QPainterPath::Element]’
../../include/QtGui/../../src/gui/painting/qpainterpath.h:329:   instantiated from here
../../include/QtCore/../../src/corelib/tools/qvector.h:468: error: no matching function for call to ‘operator new(long unsigned int, QPainterPath::Element*&)’
<built-in>:0: note: candidates are: void* operator new(long unsigned int)
../../include/QtCore/../../src/corelib/tools/qvector.h:475: error: no matching function for call to ‘operator new(long unsigned int, QPainterPath::Element*&)’
<built-in>:0: note: candidates are: void* operator new(long unsigned int)
lipo: can't open input file: /var/folders/vp/vpDCQvioGDyEjr-LLcJEDE+++TI/-Tmp-//ccuw5X64.out (No such file or directory)
make[2]: *** [.obj/release-static/qcursor_mac.o] Error 1
make[1]: *** [release] Error 2
make: *** [sub-gui-make_default-ordered] Error 2
Liegt es an meiner Konfiguration oder gibt es Inkompatibilitäten zu 10.5?
Verwendet habe ich die qt-mac-opensource-src-4.3.2.

Gruß,
M

arbeitet den überhaupt jemand mit Qt 4.3 unter Leopard

Verfasst: 17. November 2007 19:10
von s-valve
Also so wie es aussah hatte ich die UNIX Tools bei der XCode 3.0 Installation abgewählt. Habe diese nachinstalliert und mit der SDK für 10.5 Qt 4.3.2 auch erfolgreich kompiliert.
Die SDK 10.4u lässt sich allerdings nicht kompilieren :evil:

Code: Alles auswählen

-L/Developer/qt-mac-opensource-src-4.3.2/lib -lQtXml -L/Developer/qt-mac-opensource-src-4.3.2/lib -lQtGui -framework Carbon -framework AppKit -lQtNetwork -lQtCore -lz -lm -framework ApplicationServices
ld: library not found for -lcrt1.10.5.o
collect2: ld returned 1 exit status
ld: library not found for -lcrt1.10.5.o
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/vp/vpDCQvioGDyEjr-LLcJEDE+++TI/-Tmp-//ccwWBJJW.out (No such file or directory)
make[2]: *** [../../bin/assistant.app/Contents/MacOS/assistant] Error 1
make[1]: *** [sub-assistant-make_default-ordered] Error 2
make: *** [sub-tools-make_default-ordered] Error 2
Habe jetzt auch ein neues Problem. Mein App soll "universal" sein.
Nachdem das Projekt in XCode geöffnet ist, habe ich wie immer die SDK unter dem Tab General ausgewählt und wollte dann unter Build die beiden Architekturen anwählen.
Pustekuchen. Ich kann unter Architectures eintragen was ich will, es kommt immer ein intel-Programm raus. Selbst wie in der Doku beschrieben (ARCH=ppc) eintragen ignoriert XCode.
So langsam nervt es.

Weiß jemand was hier falsch läuft oder wie ich sonst eine universal App erstelle (Kommandozeile?)?


Hat den überhaupt jemand Qt4.3 unter Leopard und mit der 10.5 SDK laufen?

Gruß,
M


EDIT:
habe das Problem mit den universal binaries gelöst. Man muss unter XCode 3 die Architekturangaben in den Einstellungem zum traget ändern. Die Architekturangabe in den Projekteinstellungen wird ignoriert...

Jetzt bleibt noch Qt4.3.2 mit der MacOS10.4u.sdk unter Mac OS 10.5.1 kompilieren zu können. :x

keine eine Idee?

Verfasst: 23. November 2007 08:00
von s-valve
Hat denn niemand eine Idee zu dem Fehler beim Versuch Qt mit der 10.4u.sdk zu kompilieren?

Habe jetzt das unter 10.4 kompilierte Qt4.3.2 von meinem PowerBook auf das MBP mit 10.5 kopiert. Mein Projekt damit als universal für ab OS 10.4 zu kompilieren geht. Das ist aber mehr eine Krücke, statt einer Hilfe.

Gruß

Re: keine eine Idee?

Verfasst: 23. November 2007 08:43
von patrik08
s-valve hat geschrieben:Hat denn niemand eine Idee zu dem Fehler beim Versuch Qt mit der 10.4u.sdk zu kompilieren?

Habe jetzt das unter 10.4 kompilierte Qt4.3.2 von meinem PowerBook auf das MBP mit 10.5 kopiert. Mein Projekt damit als universal für ab OS 10.4 zu kompilieren geht. Das ist aber mehr eine Krücke, statt einer Hilfe.

Gruß

Meine anleitung von http://wiki.qtcentre.org/index.php?titl ... n_Mac_OS_X hat bis heute sehr guten job gemacht.... mit Leopard habe ich noch nicht versucht da ich es noch nicht habe... Jedoch mit Tiger 10.4 geht alles Prima....
Wichtig ist einfach der Xcode xcode_2.4_8k1079_6936199.dmg + SDK aus http://connect.apple.com/ wen der compiler nicht richtig configuriert geht alles krumm ....

Verfasst: 23. November 2007 08:51
von s-valve
Hallo Patrik,

unter 10.4 habe ic hmit der 10.4u.sdk auch keine Probleme und wie oben erwähnt, geht es auch mit der 10.5.sdk unter 10.5 problemlos. Alles nach der Anleitung unter qtcentre.org :wink:

Mir scheint, dass beim kompilieren irgendwelche 10.5 libs eingebunden werden sollen und diese aber nicht gefunden werden.
Auch meine ich mich daran zu erinnern, dass Qt 4.3.2 unter 10.4 mit der 10.3.9.sdk Fehler beim kompilieren ausgab. Müsste mal prüfen, ob der Fehler ähnlich lautet. Das dauert auf dem PowerBook aber wieder erst mal ein paar Stunden...

Verfasst: 27. November 2007 09:00
von patrik08
Alles was 4.3.* habe ich nicht zum compilieren ihn bekommen..

Darum habe ich direkt
qt-mac-opensource-src-4.4.0-snapshot-20070608.tar.bz2
genommen und lauf prima... sogar die Mac dock extra menu ...

Code: Alles auswählen

#ifdef Q_WS_MAC
extern void qt_mac_set_dock_menu(QMenu *);
#include <Carbon/Carbon.h>
#endif

Aus dem Wiki... die wo gehen von mir....

1. qt-mac-opensource-src-4.1.5.tar.gz Used XCode 2.2 on a simple PPC Mini Mac Panther PPC G4 256 MB ram

1. qt-mac-opensource-src-4.2.2.tar.gz Used XCode 2.2 on a simple PPC Mini Mac Tiger PPC G4 256 MB ram

1. qt-mac-opensource-src-4.4.0-snapshot-20070608.tar.bz2 latest used XCode 2.4 xcode_2.4_8k1079_6936199.dmg on a simple PPC Mini Mac Tiger PPC G4 256 MB ram


Wichtig bei kleine mac wie ich beim qt builden..
qt4* make sub-src -> 3 std.
qt4* make -> 7-8 std.

make sub-src macht nur die libs und qmake das minimal notig ... ohne demo und example assistent ....
den assitent sowie designer kan man ja fertig downloaden .... als dmg
oder man nimt linux zum qt schreiben und braucht den mac nur zum builden ... wie ich es mache .....


http://trolltech.com/developer/downloads/qt/mac

Keine Lösung?

Verfasst: 26. Februar 2008 07:45
von s-valve
Hallo, das Thema ist nun wieder ein paar Monate älter geworden.
Hat denn noch niemand eine Lösung?

Grüße

Verfasst: 1. März 2008 13:38
von oberschlingel
Hallo s-valve,

ich habe heute versucht, Qt 4.3.4 Commercial unter OS X 10.5 zu installieren. Ich habe genau den gleichen Fehler wie Du:

SDK 10.4 unter OS X 10.5 bringt bei "make" den Fehler

Code: Alles auswählen

library not found for -lcrt1.10.5.o
Leider habe ich auch noch keine Lösung, aber vielleicht helfen folgende Hinweise weiter:

1. Ich habe, nachdem ich bereits Qt 4.3.1 unter OS X 10.4 installiert hatte, den Rechner auf 10.5 upgedated, also keine komplette Neuinstallation vorgenommen. Ich kann nun nachwievor meine selbst konfigurierte Qt 4.3.1 Version verwenden, dabei wird das SDK 10.4 eingesetzt und es kommen wunderbare Universal-Apps dabei raus, obwohl ich nur unter den Projektinfos auf "10.4 Universal" geschaltet habe (und nicht wie Du global).
Heißt also: das Problem existiert komischerweise nicht, wenn zuerst OS X 10.4, dann Qt mit SDK 10.4 und dann das Update auf OS X 10.5 aufgespielt wird. Wäre aber als Lösung etwas umständlich...

2. Evtl. hilft folgender Eintrag weiter:
http://lists.apple.com/archives/Xcode-u ... 00696.html

3. Nun noch eine Frage an die Allgemeinheit: Warum ist es nicht möglich, Universal-Apps mit dem SDK 10.5 zu erzeugen? Oder ist es das? Kann ich dann trotzdem bei den Projektinfos unter XCode auf "10.4 Universal" switchen? (ich habe bislang Qt nicht mit dem SDK 10.5 kompiliert)

Ich würde mich sehr freuen, wenn vielleicht noch jemand eine Idee hätte, wie man das Problem lösen könnte. Kann doch eigentlich nicht so wahnsinnig kompliziert sein und immerhin sind wir nun schon zu weit mit dem Problem. Leider scheinen aber noch nicht so viele Leopard zu nutzen.

Vielen Dank und herzliche Grüße!

keine echte Lösung in Sicht

Verfasst: 17. März 2008 09:36
von s-valve
Hallo,

nachdem auch in anderen Foren keine Lösung zu dem Thema bekannt geworden ist bin ich einen Schritt zurück gegangen und habe auf einer ext. Platte (denn das PowerBook gibts nicht mehr) Mac OS 10.4.11 installiert :evil: und Qt4.3.4 kompiliert, dann in mein Developer-Verzeichnis in OS 10.5.2 kopiert und nutze nun ein universal/10.4+ Qt4. Juhu. Mal ehrlich, das ist doch keine Lösung. Es kommt ein neues OS auf den Markt und um kompatibel zu bleiben muss ich das alte parallel installiert haben - nur um das aktuelle Qt mit dessen SDK zu kompilieren.

Na wie dem auch sei, ich wollte jedenfalls anbieten bei Interesse mein Qt4.3.4 zur Verfügung zu stellen.
Meine Config:

Code: Alles auswählen

./configure -prefix /Developer/qt434 -release -static -no-qt3support -qt-zlib -stl -qt-sql-sqlite -qt-zlib -no-gif -no-libmng -no-libtiff -no-libjpeg -qt-libpng -no-sse -no-sse2 -no-3dnow -no-openssl -no-qdbus -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk
Wenn es nicht zu aufwendig wird, würde ich Qt auch aus anderen, gewünschten Configs erstellen.

Gruß,
M

Re: keine echte Lösung in Sicht

Verfasst: 17. März 2008 11:30
von macman
s-valve hat geschrieben:Mal ehrlich, das ist doch keine Lösung. Es kommt ein neues OS auf den Markt und um kompatibel zu bleiben muss ich das alte parallel installiert haben - nur um das aktuelle Qt mit dessen SDK zu kompilieren.
Ist schon ein paar Tage her, da habe ich Qt4.3.3 auf meinem MBP mit 10.5.n compiliert. Weiß nicht mehr ob n= 1 oder 2, aber ich hatte keinerlei Probleme beim compilieren. Allerdings habe ich das configure ohne jegliche Schalter ausführen lassen.

Lösung

Verfasst: 21. Dezember 2008 12:13
von s-valve
Nach langem suchen habe ich endlich eine Lösung gefunden. Google hilft...
Und danke an oberschlingel, der Link hat dann doch in gewisser Weise weitergeholfen.

http://trolltech.com/developer/task-tra ... thod=entry

einfach vor dem kompilieren im terminal folgendes eingeben:

export MACOSX_DEPLOYMENT_TARGET=10.4

Alle Bibliotheken werden auf OS 10.4 bezogen, so daß Fehler wie "library not found for -lcrt1.10.5.o" bei ausgewählter 10.4.u.sdk nicht mehr auftreten.
-mmacosx-version-min (or MACOSX_DEPLOYMENT_TARGET) sets the minimum OS X version that the binary can be executed on

Grüße,
M