Page 1 of 1

Testing new commits on openSuse linux

Posted: 17.12.2018, 14:54
by cartrite
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

Posted: 17.12.2018, 16:41
by onetwothree
Hmm, very strange as none of the last 2 commits change anything in Qt frontend code.

Posted: 17.12.2018, 17:35
by cartrite
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

Posted: 20.12.2018, 03:13
by cartrite
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

Posted: 20.12.2018, 08:11
by onetwothree
It's worth than a typo.

Posted: 20.12.2018, 15:00
by cartrite
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

Posted: 20.12.2018, 15:34
by onetwothree
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 :)