Qt Celestia

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 10 months
Location: Nancy, France

Re: Qt Celestia

Post #141by Vincent » 13.05.2008, 11:36

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.
@+
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 author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Qt Celestia

Post #142by chris » 13.05.2008, 20:02

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

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 10 months
Location: Nancy, France

Re: Qt Celestia

Post #143by Vincent » 21.05.2008, 11:46

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.
Chris,

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

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Re: Qt Celestia

Post #144by ajtribick » 30.05.2008, 13:24

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

Code: Select all

/usr/bin/rcc: File does not exist '../icons.qrc'
(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:

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.

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Re: Qt Celestia

Post #145by t00fri » 30.05.2008, 16:05

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
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Qt Celestia

Post #146by chris » 30.05.2008, 16:22

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 author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Qt Celestia

Post #147by chris » 30.05.2008, 16:38

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

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Re: Qt Celestia

Post #148by ajtribick » 30.05.2008, 18:43

chris wrote:Is there anything that can be done about the subpixel antialiasing/font hinting issue, or is that inherent to Qt4?
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:Regarding the apparent menu slowness, is that a Qt4 issue or something specific to Celestia? Have you observed similar sluggishness with other Qt4 apps?
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.

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Re: Qt Celestia

Post #149by t00fri » 30.05.2008, 20:52

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
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Qt Celestia

Post #150by chris » 30.05.2008, 21:19

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

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Re: Qt Celestia

Post #151by t00fri » 30.05.2008, 21:55

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
Image

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Qt Celestia

Post #152by ElChristou » 21.07.2008, 08:00

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?
Image

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Qt Celestia

Post #153by ElChristou » 21.07.2008, 08:30

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?
Image

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 10 months
Location: Nancy, France

Re: Qt Celestia

Post #154by Vincent » 21.07.2008, 09:30

Chris,

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

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Qt Celestia

Post #155by ElChristou » 21.07.2008, 10:08

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...
Image

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 10 months
Location: Nancy, France

Re: Qt Celestia

Post #156by Vincent » 21.07.2008, 10:35

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

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Re: Qt Celestia

Post #157by ElChristou » 21.07.2008, 11:45

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...
Image

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Re: Qt Celestia

Post #158by ajtribick » 08.08.2008, 17:27

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. :(

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Re: Qt Celestia

Post #159by chris » 08.08.2008, 18:00

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

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Re: Qt Celestia

Post #160by ajtribick » 08.08.2008, 18:21

Thanks for that, it removes all the link errors.

Unfortunately the program still terminates immediately.


Return to “Ideas & News”