Testing new commits on openSuse linux

The place to discuss creating, porting and modifying Celestia's source code.
Avatar
Topic author
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Testing new commits on openSuse linux

Post #1by cartrite » 17.12.2018, 14:54

While I'm able, I'll build and run new commits on my system. I'm gonna use Tumbleweed to do this. I'll report anything of interest in this thread.

Anyhow, I recently built the last 2 commits to the master. The fixes for win32 and the most recent, modifications to celx and fixes.

There is a peculiar thing I noticed that started with the commit to the master with the fixes for win32. If built and installed to usr/local/bin everything is normal. But if I run celestia from the build directory, it shows some abnormal behavior. It will open and run with a blank area where the celestial browser would be. If I exit with the browser on, it will start with the browser on. If I exit with the browser off, it will start with a blank area where the browser would be. This also happens with the info browser. See images below.

Screenshot_20181217_092816.jpg


Screenshot_20181217_092858.jpg


Again, if I run the installed version from usr/local/bin this doesn't happen. When I run it from the build dir, what I noticed is that upon exit a file is edited in my home folder under .config/Celestia Development Team/Celestia QT.conf. When this happens, the line that starts with state= gets edited and changes the startup state. I'm not sure if this a bug because it doesn't seem to affect the startup of the installed executable. Only if the installed executable is run from the build dir. I did have the same executable in /usr/local/bin. So the same file run from different places causes this behavior. This did not happen prior to the win32 commit.

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

onetwothree
Site Admin
Posts: 706
Joined: 22.09.2018
With us: 6 years 2 months

Post #2by onetwothree » 17.12.2018, 16:41

Hmm, very strange as none of the last 2 commits change anything in Qt frontend code.

Avatar
Topic author
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #3by cartrite » 17.12.2018, 17:35

There may have been some updates before the win32 fixes and the last time I cloned the master on either 11/30 or 12/1. But I think the problem was on my system and had to do with file conflicts. I installed this new version of Isis3.6 using an installer package called anaconda. It downloads all the deps for isis3 and installs them in my home dir. Also set an environment var in the terminal I used to build with. This is what the usgs is doing now with isis3 installations.

I was able to edit my bash.rc file to disable the env changes made by miniconda. That build of celestia Did Not show the above behavior. The build that never had a problem was built before there were any added environment paths. The other 2 builds that did show the odd behavior did have added environment paths to conda and isis3 libs. I did get warnings about it when running cmake. Not sure if there is a way flag this with cmake. Sorry for any confusion.
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

Avatar
Topic author
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #4by cartrite » 20.12.2018, 03:13

I just did a build of the new commit to master and had a compile error. On line 2483 of celx_celestia.cpp it has the following code.

Code: Select all

const char *domain = celx.safeGetString(2, AllErrors, "First argument of celestia:bindtranslationdomain must be domain name string.");
if (domain == nullptr || *dir == '\0')


Code: Select all

celx_celestia.cpp:2483:31: error: ‘dir’ was not declared in this scope
     if (domain == nullptr || *dir == '\0')


I changed the dir to domain and everything built. A typo.

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

onetwothree
Site Admin
Posts: 706
Joined: 22.09.2018
With us: 6 years 2 months

Post #5by onetwothree » 20.12.2018, 08:11

It's worth than a typo.

Avatar
Topic author
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #6by cartrite » 20.12.2018, 15:00

Seemed logical that tests for domain should test domain twice. Like the tests for dir in the following statements.

Anyhow, another thing and I know its not a big deal but when I use qmake, fmt is not found even though it is installed. Version 5. I'm not sure if cmake is finding it or not? I dont see a message in the configure log about using thirdparty/fmt.

I did some editing of celestia.pro and fmt.pro to remove

Code: Select all

-Wl,-Bdynamic
and

Code: Select all

-Wl,-Bstatic
to get the lines to read

Code: Select all

LIBS += -lfmt

Then fmt is found. And linked. The reason both celestia and fmt .pro files needed to be edited.

I'm not sure what your test criteria is? Are you check for both static and shared? Or either? With both the parts I took out included, lfmt is not found. On both my versions of linux.

cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

onetwothree
Site Admin
Posts: 706
Joined: 22.09.2018
With us: 6 years 2 months

Post #7by onetwothree » 20.12.2018, 15:34

cartrite wrote:Anyhow, another thing and I know its not a big deal but when I use qmake, fmt is not found even though it is installed. Version 5. I'm not sure if cmake is finding it or not? I dont see a message in the configure log about using thirdparty/fmt.

Fmt provides cmake support so with cmake an installed version should be used.

Then fmt is found. And linked. The reason both celestia and fmt .pro files needed to be edited.

I'm not sure what your test criteria is? Are you check for both static and shared? Or either? With both the parts I took out included, lfmt is not found. On both my versions of linux.

Qmake will be removed. It's very uncomfortable if you need to do complex checks.

The problem with fmt is that different distributions build it differently. I use Debian based one and it has a static library, OpenSUSE provides dynamic library instead. That's a hell :)

That's like with lua, some distributions provide lua5.1,pc, some lua51.pc, some provide both some just lua.pc :)


Return to “Development”