Programm kompilieren/installieren

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
Hallo zusammen

Ich versuche seit einigen Tagen ein Programm zur Erstellung von Molekülgeometrien auf MacOS X zu kompilieren/installieren:

http://avogadro.openmolecules.net/wiki/Avogadro_0.9.8

Einige weitere Programme werden für die Kompilierung benötigt:
- Eigen
- OpenBabel
- cmake
- Qt

Ich habe mir Eigen, OpenBabel etc. über MacPorts runtergeladen und installiert (sudo port install openbabel z.B).
Die Kompilierung von AVOGADRO funktioniert aber nicht, wie auf der angegebenen Homepage beschrieben. Ich glaube, ich muss die installierten Programme irgendwie noch verknüpfen, bzw. verschieben.
Ich wäre sehr dankbar für Hinweise, was es in solchen Fällen zu beachten gibt. Ohne die python-option bekomme ich folgende Fehlermeldung:


mzh @ ~/Downloads/avogadro-0.9.8/build $ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The build type is Release
CMake Error at /Applications/CMake 2.6-4.app/Contents/share/cmake-2.6/Modules/FindQt4.cmake:640 (MESSAGE):
Could NOT find QtCore header
Call Stack (most recent call first):
CMakeLists.txt:125 (find_package)


-- Configuring incomplete, errors occurred!






Ich wäre sehr dankbar für Hinweise.
 

oneOeight

Aktives Mitglied
Dabei seit
23.11.2004
Beiträge
63.961
Punkte Reaktionen
13.104
du musst halt die entsprechenden environment variablen für Qt setzen...
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
ja, sowas habe ich mir auch gedacht. Nur, ich kenne mich mit Qt nicht im Detail aus, bspw. ist mir nicht klar, um welchen Wert ich $PATH ergänzen soll. Mir ist momentan nicht mal richtig klar, was das "Hauptprogramm" im ganzen Qt(-Framework?) ist. Leider ist die Dokumentation auf der AVOGADRO-Seite diesbezüglich recht knapp.
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
eben, ich habe mich bei

sudo port install qt4-mac

bedient.
 

oneOeight

Aktives Mitglied
Dabei seit
23.11.2004
Beiträge
63.961
Punkte Reaktionen
13.104
irgendwann musst man auch $QTDIR und $QMAKESPEC setzen...
sind die gesetzt?
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
wenn ich mir mit "env" die Umgebungsvariablen anschaue, erkenne ich keine Variablen namens QTDIR, resp. QMAKESPEC, also wohl eher nicht. Ich bin aber auch nicht sicher, welche Werte ich diesen beiden Variablen zuweisen soll. Kann ich mir irgendwie anzeigen lassen, wohin GENAU port Qt installiert hat? Ich finde überall ein bisschen Qt, /opt/local/libexec/qt4-mac scheint mir aber das Hauptverzeichnis zu sein.
Auf der Qt-Page mit den Installationshinweisen wird Qt in /usr/local/trolltech installiert, wahrscheinlich werde ich einfach eine neue Installation durchführen, diesmal ohne die MacPorts zu bemühen. Hoffe bloss, es gibt keine Konflikte mit der Version, die jetzt schon drauf ist.
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
das überrascht mich nicht. habe mittlerweile die $QMAKESPEC setzen können, allerdings werden mir eine Reihe von weiteren Fehlermeldungen gegeben:

mzh @ ~/PROG_TEST/qmake_hello $ qmake -project && qmake && make
/usr/bin/g++-4.0 -c -pipe -Os -Wall -W -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/opt/local/libexec/qt4-mac/mkspecs/macx-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -o qhello.o qhello.cpp
qhello.cpp:1:17: error: QtGui: No such file or directory
qhello.cpp: In function ‘int main(int, char**)’:
qhello.cpp:5: error: ‘QApplication’ was not declared in this scope
qhello.cpp:5: error: expected `;' before ‘app’
qhello.cpp:7: error: ‘QWidget’ was not declared in this scope
qhello.cpp:7: error: ‘window’ was not declared in this scope
qhello.cpp:7: error: expected type-specifier before ‘QWidget’
qhello.cpp:7: error: expected `;' before ‘QWidget’
qhello.cpp:10: error: ‘QLabel’ was not declared in this scope
qhello.cpp:10: error: ‘label’ was not declared in this scope
qhello.cpp:10: error: expected type-specifier before ‘QLabel’
qhello.cpp:10: error: expected `;' before ‘QLabel’
qhello.cpp:11: error: ‘Qt’ has not been declared
qhello.cpp:11: error: ‘AlignCenter’ was not declared in this scope
qhello.cpp:13: error: ‘QPushButton’ was not declared in this scope
qhello.cpp:13: error: ‘button’ was not declared in this scope
qhello.cpp:13: error: expected type-specifier before ‘QPushButton’
qhello.cpp:13: error: expected `;' before ‘QPushButton’
qhello.cpp:14: error: ‘QObject’ has not been declared
qhello.cpp:14: error: ‘clicked’ was not declared in this scope
qhello.cpp:14: error: ‘SIGNAL’ was not declared in this scope
qhello.cpp:14: error: ‘app’ was not declared in this scope
qhello.cpp:14: error: ‘quit’ was not declared in this scope
qhello.cpp:14: error: ‘SLOT’ was not declared in this scope
qhello.cpp:14: error: ‘connect’ was not declared in this scope
qhello.cpp:16: error: ‘QVBoxLayout’ was not declared in this scope
qhello.cpp:16: error: ‘layout’ was not declared in this scope
qhello.cpp:16: error: expected type-specifier before ‘QVBoxLayout’
qhello.cpp:16: error: expected `;' before ‘QVBoxLayout’
qhello.cpp: At global scope:
qhello.cpp:3: warning: unused parameter ‘argc’
qhello.cpp:3: warning: unused parameter ‘argv’
make: *** [qhello.o] Error 1

Ich versuche hier das QtGui HelloWorld Programm vom Qt-wikipedia Artikel zu übersetzen:
http://de.wikipedia.org/wiki/Qt_(Bibliothek)

Da müssen wohl noch ein paar Variablen/Pfade angepasst werden.
 

oneOeight

Aktives Mitglied
Dabei seit
23.11.2004
Beiträge
63.961
Punkte Reaktionen
13.104
das ist doch vollkommen falsch:
-I/usr/include/QtCore -I/usr/include/QtGui

das musst du auch noch korrigieren, versuch es mal mit $QTDIR auf /opt/local/libexec/qt4-mac/
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
Der Output im oberen Post ist entstanden mit ~/.bash_profile um

export QMAKESPEC=/opt/local/libexec/qt4-mac/mkspecs/macx-g++

ergänzt.
 

seasar

Aktives Mitglied
Dabei seit
27.04.2006
Beiträge
1.219
Punkte Reaktionen
38
@Themenautor

Welche Version von OS X benutzt du?
Ich habe herausgelesen dass du Cmake benutzt.
Ich bin mit 10.6 unterwegs und kann die aktuelle (2.8.0) Cmake nicht installieren.
Die 2.6-4 war bei mir drauf (habe damit aber nicht gearbeitet), dann habe ich diese
gelöscht und die aktuelle versucht zu installieren. Leider meckert mein System beim
installieren von dem Terminal Tools.
 

mahed

Mitglied
Thread Starter
Dabei seit
26.03.2006
Beiträge
411
Punkte Reaktionen
1
@seasar: ich benutze MacOS X 10.5.

Es hat sich herausgestellt, dass für meine Zwecke eine Standardinstallation des Qt-packages ausreichend ist, somit musste ich mich nicht weiter mit cmake beschäftigen.


@oneOeight: "das ist doch vollkommen falsch:
-I/usr/include/QtCore -I/usr/include/QtGui"

Könntest du evtl. sagen, was hier denn falsch ist? Würde mir vielleicht auch für weitere Situationen helfen.
 

seasar

Aktives Mitglied
Dabei seit
27.04.2006
Beiträge
1.219
Punkte Reaktionen
38
Danke für die Infos. Habe es hinbekommen zu installieren. Die Command Line Tools in einen lokalen Ordner umgeleitet (reicht für mich). Setze noch die Variablen und dann endlich OSG und Equalizer kompilieren.
 
Oben Unten