Qt Celestia
-
- Developer
- Posts: 1356
- Joined: 07.01.2005
- With us: 19 years 10 months
- Location: Nancy, France
Re: Qt Celestia
Chris,
Just a minor issue: the position of the bookmark toolbar is not saved,
whereas the positions of the time and guides toolbars are saved.
Just a minor issue: the position of the bookmark toolbar is not saved,
whereas the positions of the time and guides toolbars are saved.
@+
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
-
Topic authorchris
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Qt Celestia
Vincent wrote:Chris,
Just a minor issue: the position of the bookmark toolbar is not saved,
whereas the positions of the time and guides toolbars are saved.
Thanks Vincent. I checked and found a (very simply) fix for this that I'll be checking in very soon.
--Chris
-
- Developer
- Posts: 1356
- Joined: 07.01.2005
- With us: 19 years 10 months
- Location: Nancy, France
Re: Qt Celestia
Chris,chris wrote:Vincent wrote:Chris,
Just a minor issue: the position of the bookmark toolbar is not saved,
whereas the positions of the time and guides toolbars are saved.
Thanks Vincent. I checked and found a (very simply) fix for this that I'll be checking in very soon.
The position of the bookmarks tool bar is now saved and restored (revision 4335). Thanks
@+
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
Re: Qt Celestia
I've tried compiling Qt4 Celestia on Ubuntu 7.10, but had no luck. I installed the "kdebase-dev-kde4" package (and all dependencies).
I followed the instructions Fridger gave here, modifying qmake to qmake-qt4 since qmake defaults to Qt3. On executing "qmake-qt4 ../../../celestia.pro" I get the message (the file icons.qrc does however exist at that path relative to the current directory).
If I then execute the make command, compilation fails with the following message:
Anyone managed to get the Qt4 version to compile on Ubuntu?
EDIT: I managed to do it, as follows:
(in the main celestia directory)
touch config.h
cd src
qmake-qt4 celestia.pro
then you need to edit the Makefile: I removed all references to spice (since I don't have it installed), you have to add /usr/include/lua5.1 to the list of include paths, and you have to change -llua to -llua5.1 in the list of libraries.
make
cd ..
./celestia-qt4
From what I can tell the menu interface of the Qt4 version performed slower than the KDE version, plus there is a problem in Qt4 where if you use subpixel antialiasing, full font hinting is forced no matter what you've configured, which on my system looks poor. (Grayscale antialiasing also doesn't look to good either)
So I've gone back to using the KDE version for now.
I followed the instructions Fridger gave here, modifying qmake to qmake-qt4 since qmake defaults to Qt3. On executing "qmake-qt4 ../../../celestia.pro" I get the message
Code: Select all
/usr/bin/rcc: File does not exist '../icons.qrc'
If I then execute the make command, compilation fails with the following message:
Code: Select all
In file included from src/celestia/celestiacore.h:31,
from src/celengine/command.cpp:12:
src/celestia/celx.h:23:19: error: lua.hpp: No such file or directory
src/celestia/celx.h:43: error: ISO C++ forbids declaration of ‘lua_State’ with no type
src/celestia/celx.h:43: error: expected ‘;’ before ‘*’ token
src/celestia/celx.h:88: error: ISO C++ forbids declaration of ‘lua_State’ with no type
src/celestia/celx.h:88: error: expected ‘;’ before ‘*’ token
src/celestia/celx.h:89: error: ISO C++ forbids declaration of ‘lua_State’ with no type
src/celestia/celx.h:89: error: expected ‘;’ before ‘*’ token
make: *** [command.o] Error 1
Anyone managed to get the Qt4 version to compile on Ubuntu?
EDIT: I managed to do it, as follows:
(in the main celestia directory)
touch config.h
cd src
qmake-qt4 celestia.pro
then you need to edit the Makefile: I removed all references to spice (since I don't have it installed), you have to add /usr/include/lua5.1 to the list of include paths, and you have to change -llua to -llua5.1 in the list of libraries.
make
cd ..
./celestia-qt4
From what I can tell the menu interface of the Qt4 version performed slower than the KDE version, plus there is a problem in Qt4 where if you use subpixel antialiasing, full font hinting is forced no matter what you've configured, which on my system looks poor. (Grayscale antialiasing also doesn't look to good either)
So I've gone back to using the KDE version for now.
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: Qt Celestia
As a reminder of an analogous report that I made some weeks ago in the dev list:
++++++++++++++++++++++++
Since then I fail to compile Celestia-qt under Linux, because of a recurrent lookup error in /usr/lib/libQtXml.so.4 that is part of my libqt4 setup.
++++++++++++++++++++++++
Here is what I invariably get upon invoking qmake:
Nothing has changed in my setups compared to before that bug showed up. I also never had any problems with compiling spice under Unix.
Of course I tried various other libqt4 packages that I could find, with the identical results.
My actual version is the latest, libqt4-4.3.1-23.6. Everything being updated continuously by means of the 'smart' tool.
So no comments about Celestia-qt anymore from me, except I happen to be using Windows...
My present revision is 4354
Fridger
++++++++++++++++++++++++
Since then I fail to compile Celestia-qt under Linux, because of a recurrent lookup error in /usr/lib/libQtXml.so.4 that is part of my libqt4 setup.
++++++++++++++++++++++++
Here is what I invariably get upon invoking qmake:
Code: Select all
qmake ../celestia.pro
/usr/bin/rcc: symbol lookup error: /usr/bin/rcc: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
Nothing has changed in my setups compared to before that bug showed up. I also never had any problems with compiling spice under Unix.
Of course I tried various other libqt4 packages that I could find, with the identical results.
My actual version is the latest, libqt4-4.3.1-23.6. Everything being updated continuously by means of the 'smart' tool.
So no comments about Celestia-qt anymore from me, except I happen to be using Windows...
My present revision is 4354
Fridger
-
Topic authorchris
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Qt Celestia
t00fri wrote:As a reminder of an analogous report that I made some weeks ago in the dev list:
++++++++++++++++++++++++
Since then I fail to compile Celestia-qt under Linux, because of a recurrent lookup error in /usr/lib/libQtXml.so.4 that is part of my libqt4 setup.
++++++++++++++++++++++++
Here is what I invariably get upon invoking qmake:Code: Select all
qmake ../celestia.pro
/usr/bin/rcc: symbol lookup error: /usr/bin/rcc: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
Nothing has changed in my setups compared to before that bug showed up. I also never had any problems with compiling spice under Unix.
Of course I tried various other libqt4 packages that I could find, with the identical results.
My actual version is the latest, libqt4-4.3.1-23.6. Everything being updated continuously by means of the 'smart' tool.
So no comments about Celestia-qt anymore from me, except I happen to be using Windows...
My present revision is 4354
Fridger
I thought that you resolved this--wasn't the cause an earlier version of Qt4 that got installed with ISIS3. Weren't you able to set LD_LIBRARY_PATH to point at the right Qt4 libraries?
--Chris
-
Topic authorchris
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Qt Celestia
ajtribick wrote:
From what I can tell the menu interface of the Qt4 version performed slower than the KDE version, plus there is a problem in Qt4 where if you use subpixel antialiasing, full font hinting is forced no matter what you've configured, which on my system looks poor. (Grayscale antialiasing also doesn't look to good either)
So I've gone back to using the KDE version for now.
Is there anything that can be done about the subpixel antialiasing/font hinting issue, or is that inherent to Qt4?
Regarding the apparent menu slowness, is that a Qt4 issue or something specific to Celestia? Have you observed similar sluggishness with other Qt4 apps?
--Chris
Re: Qt Celestia
Apparently it is inherent to Qt4: it affected the qtconfig-qt4 utility as well, and various internet bug reports suggest it is a Qt4 problem. It may have been fixed in Ubuntu Hardy, however since Ubuntu Hardy does not seem to work on my machine (various problems with shutdown/restart/suspend, and application launchers behaving in a screwy way), I am not planning to upgrade for a while.chris wrote:Is there anything that can be done about the subpixel antialiasing/font hinting issue, or is that inherent to Qt4?
Since Ubuntu is a GNOME-based distribution I haven't really got many Qt4 apps to play around with. It does seem to affect Dolphin though.chris wrote:Regarding the apparent menu slowness, is that a Qt4 issue or something specific to Celestia? Have you observed similar sluggishness with other Qt4 apps?
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: Qt Celestia
chris wrote:t00fri wrote:As a reminder of an analogous report that I made some weeks ago in the dev list:
++++++++++++++++++++++++
Since then I fail to compile Celestia-qt under Linux, because of a recurrent lookup error in /usr/lib/libQtXml.so.4 that is part of my libqt4 setup.
++++++++++++++++++++++++
Here is what I invariably get upon invoking qmake:Code: Select all
qmake ../celestia.pro
/usr/bin/rcc: symbol lookup error: /usr/bin/rcc: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
/usr/bin/uic: symbol lookup error: /usr/lib/libQtXml.so.4: undefined symbol: _ZN9QListData7detach2Ev
Nothing has changed in my setups compared to before that bug showed up. I also never had any problems with compiling spice under Unix.
Of course I tried various other libqt4 packages that I could find, with the identical results.
My actual version is the latest, libqt4-4.3.1-23.6. Everything being updated continuously by means of the 'smart' tool.
So no comments about Celestia-qt anymore from me, except I happen to be using Windows...
My present revision is 4354
Fridger
I thought that you resolved this--wasn't the cause an earlier version of Qt4 that got installed with ISIS3. Weren't you able to set LD_LIBRARY_PATH to point at the right Qt4 libraries?
--Chris
Of course... many thanks, Chris! I had not forgotten about the problem, but about it's resolution... Yes it was an old Qt4 version that ISIS3 secretly hat installed. The most recent "trick" was cute, however: at that time, I took precautions not to activate the initialization script of ISIS3 automatically upon login. After all this time (> 3months) I reused ISIS3 and activated it automatically. Then the Celestia-Qt4 compilation screwed up once more
Still, I get this error, which is something else:
Code: Select all
../celestia/qt/qtbookmark.cpp: In constructor ‘AddBookmarkDialog::AddBookmarkDialog(BookmarkManager*, QString, const CelestiaState&, const QImage&)’:
../celestia/qt/qtbookmark.cpp:840: error: ‘timeSourceCombo’ was not declared in this scope
../celestia/qt/qtbookmark.cpp: In member function ‘virtual void AddBookmarkDialog::accept()’:
../celestia/qt/qtbookmark.cpp:860: error: ‘timeSourceCombo’ was not declared in this scope
Fridger
-
Topic authorchris
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Qt Celestia
t00fri wrote:Still, I get this error, which is something else:Code: Select all
../celestia/qt/qtbookmark.cpp: In constructor ‘AddBookmarkDialog::AddBookmarkDialog(BookmarkManager*, QString, const CelestiaState&, const QImage&)’:
../celestia/qt/qtbookmark.cpp:840: error: ‘timeSourceCombo’ was not declared in this scope
../celestia/qt/qtbookmark.cpp: In member function ‘virtual void AddBookmarkDialog::accept()’:
../celestia/qt/qtbookmark.cpp:860: error: ‘timeSourceCombo’ was not declared in this scope
timeSourceCombo is a variable in one of the ui_* files that are automatically generated from the form (.ui) files. I suspect that the ui_ files are not getting generated in the right place because the generated files on Linux go into a build directory. We need to get all platforms building in the same place, which probably means switching to using a build directory on Windows and Mac OS X, too--it's would be nice to keep the directories under SVN 'pure'.
--Chris
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 7 months
- Location: Hamburg, Germany
Re: Qt Celestia
chris wrote:t00fri wrote:Still, I get this error, which is something else:Code: Select all
../celestia/qt/qtbookmark.cpp: In constructor ‘AddBookmarkDialog::AddBookmarkDialog(BookmarkManager*, QString, const CelestiaState&, const QImage&)’:
../celestia/qt/qtbookmark.cpp:840: error: ‘timeSourceCombo’ was not declared in this scope
../celestia/qt/qtbookmark.cpp: In member function ‘virtual void AddBookmarkDialog::accept()’:
../celestia/qt/qtbookmark.cpp:860: error: ‘timeSourceCombo’ was not declared in this scope
timeSourceCombo is a variable in one of the ui_* files that are automatically generated from the form (.ui) files. I suspect that the ui_ files are not getting generated in the right place because the generated files on Linux go into a build directory. We need to get all platforms building in the same place, which probably means switching to using a build directory on Windows and Mac OS X, too--it's would be nice to keep the directories under SVN 'pure'.
--Chris
Now it works, after some experimentation with the PATHS. Clearly, in comparison with the other paths, qmake uses an incorrect path in the context of the .ui stuff. This is presumably related to the bug Christophe T. spotted some time ago.
If I modify the paths in celestia.pro as follows,
Code: Select all
FORMS = \
../celestia/qt/addbookmark.ui \
../celestia/qt/newbookmarkfolder.ui \
../celestia/qt/organizebookmarks.ui \
../celestia/qt/preferences.ui
UI_HEADERS_DIR = ../celestia/qt/ui
UI_SOURCES_DIR = ../celestia/qt/ui
then everything works fine. but ../celestia is incorrect, really!
Note that I build in src/build-qt, from where I call
qmake ../celestia.pro.
Let me emphasize once more that I am VERY happy with the new grids that I already examined in celestia-kde using the celx commands for activation.
Fridger
-
- Developer
- Posts: 3776
- Joined: 04.02.2005
- With us: 19 years 9 months
Re: Qt Celestia
Guys, today I wanted to build a QT version since I haven't test it from a long time, but the despite being I'm on a new config and have installed the dev tools (I can build without problem the osX version), I get a command not found when trying qmake celestia.pro. Some stuff have change since the time when one had to build the osX QT project file?
-
- Developer
- Posts: 3776
- Joined: 04.02.2005
- With us: 19 years 9 months
Re: Qt Celestia
ElChristou wrote:Guys, today I wanted to build a QT version since I haven't test it from a long time, but the despite being I'm on a new config and have installed the dev tools (I can build without problem the osX version), I get a command not found when trying qmake celestia.pro. Some stuff have change since the time when one had to build the osX QT project file?
Ok, probably something is missing in my install of dev tools because I've been able to build the QT project file on my old laptop; now I get a bunch of critical errors when I build it, all related to the spiceinterface.cpp (SpiceUsr.h: No such file, 'erract_c' was not declared in this scope, expected primary-expression before ')' token, etc... Do you need the details of errors?
-
- Developer
- Posts: 1356
- Joined: 07.01.2005
- With us: 19 years 10 months
- Location: Nancy, France
Re: Qt Celestia
Chris,
If you don't want to compile Celestia with Spice support, you need to comment out the following lines in celestia.pro:
If you don't want to compile Celestia with Spice support, you need to comment out the following lines in celestia.pro:
Code: Select all
Index: celestia.pro
===================================================================
--- celestia.pro (revision 4382)
+++ celestia.pro (working copy)
@@ -394,9 +394,9 @@
UI_SOURCES_DIR = celestia/qt/ui
# SPICE support
-SOURCES += $$SPICE_SOURCES
-HEADERS += $$SPICE_HEADERS
-DEFINES += USE_SPICE
+#SOURCES += $$SPICE_SOURCES
+#HEADERS += $$SPICE_HEADERS
+#DEFINES += USE_SPICE
INCLUDEPATH += ..
INCLUDEPATH += ../..
@@ -416,7 +416,7 @@
-llibjpeg2 \
-lintl \
-llua5.1 \
- -lcspice \
+# -lcspice \
-lvfw32
SOURCES += celestia/avicapture.cpp
@+
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
-
- Developer
- Posts: 3776
- Joined: 04.02.2005
- With us: 19 years 9 months
Re: Qt Celestia
Tx Vince; now after commenting out those lines, I still get an error in the very beginning of the build, but it don't tell me which one...
-
- Developer
- Posts: 1356
- Joined: 07.01.2005
- With us: 19 years 10 months
- Location: Nancy, France
Re: Qt Celestia
Chris, what does your compiler complain about exactly?
@+
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
Vincent
Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3
-
- Developer
- Posts: 3776
- Joined: 04.02.2005
- With us: 19 years 9 months
Re: Qt Celestia
Vincent wrote:Chris, what does your compiler complain about exactly?
Rien justement! In general I have a description of the error (like with the spice stuff), but this time nothing...
I suppose a osX user could test out to see what happens, then or it's from my side or there is something in the source...
Re: Qt Celestia
I tried to build Qt Celestia on Windows using MSVC++ 2008 Express Edition.
I used a new SVN download, and used cspice.lib, winlibs-2.zip (for the spice libraries), winlibs-3.zip and libjpeg2.zip files from shatters.net.
I downloaded and compiled qt-win-opensource-src-4.4.1 from http://trolltech.com/developer/downloads/qt/windows successfully.
Running qmake celestia.pro seemed to work.
However running nmake -f Makefile.Release generated a bunch of link errors: conflict between libcmt.lib and msvcrt.lib
As suggested earlier in the thread, I added /NODEFAULTLIB:libcmt to the LFLAGS line in the Makefile. The compilation then worked. However the celestia-qt4.exe file produced quits immediately without producing any error messages or doing anything.
I used a new SVN download, and used cspice.lib, winlibs-2.zip (for the spice libraries), winlibs-3.zip and libjpeg2.zip files from shatters.net.
I downloaded and compiled qt-win-opensource-src-4.4.1 from http://trolltech.com/developer/downloads/qt/windows successfully.
Running qmake celestia.pro seemed to work.
However running nmake -f Makefile.Release generated a bunch of link errors: conflict between libcmt.lib and msvcrt.lib
As suggested earlier in the thread, I added /NODEFAULTLIB:libcmt to the LFLAGS line in the Makefile. The compilation then worked. However the celestia-qt4.exe file produced quits immediately without producing any error messages or doing anything.
-
Topic authorchris
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 9 months
- Location: Seattle, Washington, USA
Re: Qt Celestia
ajtribick wrote:I tried to build Qt Celestia on Windows using MSVC++ 2008 Express Edition.
I used a new SVN download, and used cspice.lib, winlibs-2.zip (for the spice libraries), winlibs-3.zip and libjpeg2.zip files from shatters.net.
I downloaded and compiled qt-win-opensource-src-4.4.1 from http://trolltech.com/developer/downloads/qt/windows successfully.
Running qmake celestia.pro seemed to work.
However running nmake -f Makefile.Release generated a bunch of link errors: conflict between libcmt.lib and msvcrt.lib
As suggested earlier in the thread, I added /NODEFAULTLIB:libcmt to the LFLAGS line in the Makefile. The compilation then worked. However the celestia-qt4.exe file produced quits immediately without producing any error messages or doing anything.
A problem that I've run into is that the SPICE library is by default build against libcmt, but the Qt4 is built with msvcrt. There doesn't seem to be any way to change the Qt4 build to libcmt, so I rebuilt cpsice.lib with msvcrt. Here's a link:
http://www.celestiaproject.net/~claurel/celest ... msvcrt.zip
--Chris
Re: Qt Celestia
Thanks for that, it removes all the link errors.
Unfortunately the program still terminates immediately.
Unfortunately the program still terminates immediately.