stellarium icon indicating copy to clipboard operation
stellarium copied to clipboard

Problem with Qt6 packaging on Windows

Open alex-w opened this issue 1 year ago • 3 comments

I'm going to test version 1.22.2-3d47d9a in my Windows 10 with no Qt6 installed. Stellarium refuses to run with these errors:

The code execution cannot proceed because Qt6OpenGL.dll was not found. Including Qt6Charts.dll, Qt6OpenGLWidgets.dll and Qt6MultimediaWidgets.dll.

Originally posted by @worachate001 in https://github.com/Stellarium/stellarium/issues/2548#issuecomment-1205057150

alex-w avatar Aug 04 '22 10:08 alex-w

Hello @alex-w! OK, developers can reproduce the issue. Thanks for the report!

github-actions[bot] avatar Aug 04 '22 11:08 github-actions[bot]

@worachate001 please check artefact from here: https://ci.appveyor.com/project/alex-w/stellarium/builds/44372237/job/v7tjjc13cykqbnt1

alex-w avatar Aug 04 '22 11:08 alex-w

@worachate001 please check artefact from here: https://ci.appveyor.com/project/alex-w/stellarium/builds/44372237/job/v7tjjc13cykqbnt1

Looks like it failed to build.

worachate001 avatar Aug 04 '22 12:08 worachate001

@gzotti I have a bad news - Qt 6.3.1 didn't work here, because Qt6 needs Windows 10, but at work I have Windows 7. Maybe I can get the work environment in VirtualBox, but probably I will need help from you (as far as I know you have Win10).

alex-w avatar Aug 30 '22 02:08 alex-w

Ouch. Yes, Win7 is obsolete and Qt6 does not support it. I have zero knowledge of the deployment settings, though. What to do?

gzotti avatar Aug 30 '22 09:08 gzotti

It seems @10110111 has started to add integration steps to the CI (appveyor config). Should we complete #2604 first? I think this can be merged already. (We can still disable building with ShowMySky in case of unexpected emergency.)

gzotti avatar Aug 30 '22 13:08 gzotti

@alex-w I must admit I never even built an installer, always ran from the build dir. I tried to run Inno with the script created by cmake, but it seems to assume that Stellarium has already been installed (with all libs?) in C:\Program Files\stellarium. There is no "sudo make install" on Windows. What is the proper process of

  • deploy from within QtCreator (to c:\Program Files\stellarium? Other preferred path?
  • create installer with Inno.

Is the inno script relevant for the package generation by CI, or does it use something else?

gzotti avatar Aug 30 '22 19:08 gzotti

The short instructions:

  1. CMAKE_INSTALL_PREFIX should be defined at cmake run to avoid mixup the binaries (e.g., -DCMAKE_INSTALL_PREFIX=C:\stellarium-bin)
  2. Building Stellarium
  3. Run target install
  4. Run target stellarium-installer

alex-w avatar Aug 31 '22 04:08 alex-w

OK, I finally found those settings and deploy command in QtCreator, and a relevant typo in one CMakeFile which caused qtstuff to not exist.

Now I am stuck in a weird error from Inno (5.5.9):

Error on line 54 in D:\StelDev\GIT\build-stellarium-Desktop_Qt_6_3_1_MSVC2019_64bit-Release\stellarium.iss: Source file "C:/Windows/System32/libssl-1_1-x64.dll" does not exist. Compile aborted. ninja: build stopped: subcommand failed.

The libssl... file exists, 664kB, looks regular. Why does Inno not find it?

gzotti avatar Aug 31 '22 09:08 gzotti

Please download and install libssl into separate directory and add path to it into PATH variable

alex-w avatar Aug 31 '22 09:08 alex-w

OK, I am just trying a local rebuild with separate OpenSSL libs. I see the appveyor build with Qt6.3 succeeded, but I expected an "Artifact" at https://ci.appveyor.com/project/alex-w/stellarium/builds/44632927/job/v8633j7f6t2p52df/artifacts. Any trial installer to download?

gzotti avatar Aug 31 '22 12:08 gzotti

Please use keyword [publish] in commit message to run the preparation and uploading the installers into artifacts section of AppVeyor.

See an example: https://github.com/Stellarium/stellarium/commit/f6d22b3a71199f9dbc765224f0d599e2dfe464a2

Did you get an installer package locally?

alex-w avatar Aug 31 '22 12:08 alex-w

oops, sorry.

Yes, finally, my first installer :-) I just tried it on an old Pentium P6100 notebook (3GB RAM) without any Qt6. Works "nicely", Mesa-Opengl3.0, 5fps. We cannot get more from Qt6 on old systems.

gzotti avatar Aug 31 '22 12:08 gzotti

Should we update the Qt5-based Windows builds to Qt5.15+MSVC2019? I see no reason to stick to 5.12 here.

gzotti avatar Aug 31 '22 13:08 gzotti

Should we update the Qt5-based Windows builds to Qt5.15+MSVC2019? I see no reason to stick to 5.12 here.

This is slow building and we should drop adding old ANGLE library in this case to get an useable packages.

alex-w avatar Aug 31 '22 14:08 alex-w

Oh, you mean Angle libs from 5.6 do not work here? Then...OK.

gzotti avatar Aug 31 '22 14:08 gzotti

@gzotti please check https://ci.appveyor.com/api/buildjobs/ad6cln41lqged520/artifacts/stellarium-1.22.2-f6d22b3-win64.exe

alex-w avatar Aug 31 '22 14:08 alex-w

Unsigned installer. Just moving to the other (test) PC. Also weird: my home build was 317MB, this package is 371MB?

gzotti avatar Aug 31 '22 15:08 gzotti

Unsigned installer. Just moving to the other (test) PC. Also weird: my home build was 317MB, this package is 371MB?

SUG in the package ;)

alex-w avatar Aug 31 '22 15:08 alex-w

The program runs fine in my Windows 10 (without Qt6). But some kind of flicker happens when searching for an object (just before stop turning to the object). And Qt5*.dll are missing in the Qt5 based installer.

worachate001 avatar Aug 31 '22 15:08 worachate001

I see no flicker so far, and this should be handled as a separate issue. But I will try to build a Qt5-based installer locally now to see what's up.

gzotti avatar Aug 31 '22 15:08 gzotti

How can I disable the Angle links in the stellarium.iss.cmake? CMake's IF()...ENDIF() does not work.

gzotti avatar Aug 31 '22 16:08 gzotti

How can I disable the Angle links in the stellarium.iss.cmake? CMake's IF()...ENDIF() does not work.

Should be done in master now

alex-w avatar Aug 31 '22 16:08 alex-w

I just had a fix... Merge conflict, and I must go elsewhere. Will continue later.

gzotti avatar Aug 31 '22 16:08 gzotti

https://github.com/Stellarium/stellarium/commit/6233007f42faadb7c840ac50038e4c17ffdfd129 should fix this.

gzotti avatar Aug 31 '22 21:08 gzotti

Hello @alex-w! Please check the fresh version (development snapshot) of Stellarium: https://github.com/Stellarium/stellarium-data/releases/tag/weekly-snapshot

github-actions[bot] avatar Sep 04 '22 11:09 github-actions[bot]

Hello @alex-w!

Please check the fresh version (development snapshot) of Stellarium: https://github.com/Stellarium/stellarium-data/releases/tag/weekly-snapshot

github-actions[bot] avatar Sep 10 '22 07:09 github-actions[bot]

Hello @alex-w!

Please check the latest stable version of Stellarium: https://github.com/Stellarium/stellarium/releases/latest

github-actions[bot] avatar Oct 01 '22 12:10 github-actions[bot]