Testing new commits on openSuse linux

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

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
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 224
Joined: 22.09.2018
With us: 9 months 26 days

Post #2by onetwothree » 17.12.2018, 16:41

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

Topic author
cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

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
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

Topic author
cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

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
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 224
Joined: 22.09.2018
With us: 9 months 26 days

Post #5by onetwothree » 20.12.2018, 08:11

It's worth than a typo.

Topic author
cartrite
Posts: 1778
Joined: 15.09.2005
With us: 13 years 10 months
Location: Pocono Mountains, Pennsylvania, USA

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
Toshiba Satellite P875=S7200 laptop, Intel i5 processor 2.5 ghz 6 gb ram, Graphics Intel(R) HD Graphics 4000 openSUSE Leap42.3
and Tumbleweed

onetwothree
Developer
Posts: 224
Joined: 22.09.2018
With us: 9 months 26 days

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 :)

joshephkarl
Posts: 1
Joined: 13.04.2019
With us: 3 months 5 days

linux

Post #8by joshephkarl » 13.04.2019, 09:57

The module can be implemented through the Linux OS and we know that it is quite possible to have the access of the module through Linux variable. The user or the specification of the given module can be done on the Linux variable.


Return to “Development”

Who is online

Users browsing this forum: 3 guests