Page 1 of 1

New 1.7 11.17 version does not run

Posted: 25.11.2017, 22:11
by john71
I'm not able to run the new Celestia 1.7 11.17 version.

I copied all files to the Celestia 1.6.1 root directory but I have "The application was unable to start correctly (0xc000007b)" error.

What can be the problem?

Posted: 25.11.2017, 23:42
by selden
I'm seeing the same problem under Win7. My quick test seems to indicate that this problem is somehow related to QT5OpenGL.dll. When QT5OpenGL.dll is missing, Celestia complains that it can't find it, but when QT5OpenGL.dll is provided, Celestia crashes.

Perhaps the file on the server is the wrong dll?

Posted: 26.11.2017, 02:19
by Janus
When dealing with QT there are several levels of gotchas to be on the look out for.

Not only do you have to the EXACT!!! version, you also have to match x86 vs x64.
This process is not helped by the fact that all of the QT support files are identically named regardless of version or architecture..
This means that x86 QT5.0 support files, have the same names as the QT5.9.1 x64 support files.

Based on my last correspondence with Alexell, I believe the current code is set for QT 5.9.2 W/VS2017 as a compiler.
Whether x86 or x64 I could not say.
I had a devil of a time fighting with QT while getting it working.

QT5.9.1 support files will not work with QT5.9.2, leading to random crashes.
Sometimes it says wrong version in an error box, but mostly it just crashes.
Sometimes the support files for use with one VS version will work with another, but not always.
So you cannot match just the QT version, you also have to match the compiler.

For me, this is simply to much work since every time QT is updated, all of the support files will have to be as well.
And some of those support files have their own directories they go in, not all of them go in the program root.
This is going to make testing very interesting for people, I wish them luck.

There is nothing wrong with QT as an interface, but I find it to delicate for most things I do.
I also can not use VS2017 on my system, it breaks my modded desktop.
Which is why I am wishing Alexell the best of luck with Celestia, but I am going my own way.

One of the things that drew me to Celestia was that it had more than one GUI style.
I like that kind of adaptability.
As I have said more than once, I am not a real C/C++ programmer, but the QT interface is just not for me.
I would rather learn how to add a wxwidgets GUI, or a fox toolkit one.
Or even just stick with the default one for VS.
Since the field is already so open, I see no reason to narrow it.


Janus.

Posted: 26.11.2017, 09:28
by john71
I use windows 10 pro 64 bit...

Added after 2 minutes 1 second:
Alexell, please provide some help.

Posted: 26.11.2017, 18:37
by Janus
Just discovered there is now a QT5.9.3 available.

Given how dedicated Alexell is to staying on the bleeding edge, this might be part of the problem.

If it were compiled with QT5.9.3, then any 5.9/5.9.0/5.9.1/5.9.2 support files with the download would be incompatible.
The problem never shows on a development systems because of the way QT works.
The QT dlls can find an use the files from QT creator, so any version you have installed is automatically matched.

Systems without QT creator, or without the correct library installed, will have to have the primary support files in the program root, and the secondary in a subdirectory.

Testing can only be done on a completely clean system or in a bare VM.
While there is a deployment tool, it behaves badly, misses files, and sometimes includes unneeded files.

If you are going to test a QT version, make sure you get a complete directory set, ready to run.
That is why I put up complete ready to run copies on my site, it is the only way to make sure it will run anywhere.

Good luck with this.


Janus.

Posted: 27.11.2017, 07:44
by Janus
Okay, finally got a chance to actually look at what Alexell put up.

The executables and support files are for QT5.9.2 compiled with VS2015/17.
It requires the VS2015 redists to be installed.

The exes are x86 & x64.
The support files are all x86.
The weird error, [0xc000007b], is because you tried to run the 64-bit version with 32-bit support files.

The x86 & x64 directories should contain all the support files for that version, but do not.
If it will help, I believe I can put up a pair of archives of the current version.
One x86, the other x64, both for extracting in place, including all the support files.

I can also put the VS2015 redists up as well, in x86 & x64 both.


Janus.

Posted: 27.11.2017, 14:05
by Alexell
To run, you need plase this files in Celestia 1.6.1 directory:
libintl.dll for 64-bit operating systems
libintl_x86.dll for 32-bit operating systems

The following dll for x32/x64 OS (plase this files in Celestia 1.6.1 directory):
Qt5Core.dll
Qt5Gui.dll
Qt5OpenGL.dll
Qt5Widgets.dll

For 32-bit operating systems, you need to place the platforms in Celestia 1.6.1 directory (Celestia\platforms).

To run Celestia, you may need to install the Microsoft redists packages (2015 x86/x64 or 2017 x64/2017 x86).

Added after 8 minutes 56 seconds:
This is a screenshots of files location and my launch of Celestia.

Added after 57 seconds:
I'm good at running both versions of Celestia - both x86 and x64.