2.6.0_118_gtk2 weird cosmetic issue

16 posts / 0 new
Last post
WK2X
2.6.0_118_gtk2 weird cosmetic issue

Just pulled and built 2.6.0_118 from your "loc_testing" branch, and it looks great.

There is one minor annoyance, tho. When starting the program, a modal dialog appears over the splash screen. The window title is simply "cqrlog" and there is no message, no buttons, no content at all. Just a small window that I can only close with the red X button. This appears before any debug info is printed to stdio or anything else. I can't figure out where this is coming from. I even tried to debug the program in Lazarus, having it pause once the dialog showed up - but all I was able to see was some assembly code that told me nothing about where it was in the source.

Is anyone else seeing this, or know how to get better debug output in lazarus?

I am running this in Ubuntu 22.04 under WSL2. Yes, I know - I have to use Windows because of my Flex 6300 doesn't have a Linux client :(

73,

Bill WK2X

oh1kh
2.6.0_118_gtk2 weird cosmetic issue

Hi Bill!

Must be windoze property, it does not happen in real Linux.
I guess it is w2sl that is opening an X graphics port to Windoze graphics system.

Have you checked latest Hamlib support? Is there any progress of flex support.
There might be also other linux programs supporting flex and emulating Hamlib.
You can also have two computers Wndoze for flex, real linux for logging and radio control connection via lan. Wifi or wired.

--
Saku
OH1KH

oh1kh
2.6.0_118_gtk2 weird cosmetic issue

More thinking...
At 1st start there is changelog splash before new qso window opens. But that is filled with text and happens only once. Cant be it.

Then by default Cqrlog opens small empty window that dives under new qso window. But that is named as Details. There are no buttons or text.
If you dig it up and close it (newqso/window/detail info) it does not show up on next Cqrlog start. Could it be that?

How ever I still believe it is Windoze property.

--
Saku
OH1KH

WK2X
Hi Saku,

Hi Saku,

It is not the changelog, because I already saw and dismissed that properly. It was filled with LOTS of text, ha ha.

I have used previous versions of CQRLOG this way before, including an earlier 2.6.0 version, which did not have this modal window. I will try to update the X server - sometimes that can do strange things with CQRLOG.

Meanwhile, the window I'm talking about appears above the initial CQRLOG splash screen - before even the log selection/database connection window, and it stops program execution completely until I close it. Another interesting bit I just discovered: I left the window open for a while in order to open Gimp and get a screenshot for you .. after quite a while, CQRLOG aborted with a "divide by zero" exception! That is very weird.

Screenshot attached with a red circle around the strange window.

File: 

oh1kh
2.6.0_118_gtk2 weird cosmetic issue

Hi!
Must be from Windoze.

Have you tried to compile QT5 version? It might look different.
make cqrlog_qt5

Or if you use lazarus go to
Project/Project options/Additions and Overrides
set LCLWidgetType to QT5 and uncheck GTK2 and recompile

You must have package libqt5pas and libqt5pas-dev installed (Ubuntus call it libqt5pas1)

--
Saku
OH1KH

WK2X
QT5 did the trick

Hi Saku,

Looks like switching to QT5 version did the trick. I did still see the window pop up very briefly, but it closed on its own and the program started normally. So the issue must have something to do with wonky GTK stuff on WSL2.

I am happy now - the QT5 version looks a lot better also.

WK2X
If only

Now, if only I could get it in a "dark" theme, ha ha! :)

WK2X
To answer your question about

To answer your question about Flex: it appears that Flex's "VSP" method is supported, which is what I am using. CQRLOG/HamLib is able to connect to that over TCP/IP and control the Flex just fine. That's been in place for a long time now. Not as nice as native flex API support, but I'll take it.

oh1kh
To answer your question about

Ok !

[saku@hamtpad ~]$ rigctld --version
rigctld Hamlib 4.6~git 2023-08-23T00:25:53Z SHA=d049b9 64-bit[

[saku@hamtpad ~]$ rigctld -l | grep -i flex
2036 FlexRadio 6xxx 20230606.0 Stable RIG_MODEL_F6K
2048 FlexRadio/ANAN PowerSDR/Thetis 20230819.0 Stable RIG_MODEL_POWERSDR
23001 Flex-radio SDR-1000 20200323.0 Alpha RIG_MODEL_SDR1000

--
Saku
OH1KH

WK2X
Oh! Another FYI:

Oh! Another FYI:

I noted that the newer version requires an updated glibc. I was able to obtain this by upgrading to Ubuntu 22.04. However, that also upgraded Lazarus to 2.2.0 and removed 2.0.6! CQRLOG then wouldn't build because it couldn't find Lazarus 2.0.6.

I got around this by going to /usr/lib/lazarus and creating a symlink 2.0.6 -> 2.2.0 .. so I've fooled it into using 2.2.0, and it still builds and works just fine. I wonder if maybe the build files should look in /usr/lib/lazarus/default instead of a hardcoded version? I am not sure where that would be changed, tho.

oh1kh
Oh! Another FYI:

Strange...!

I'm running Fedora 37 here with Lazarus 2.2.6 directly from https://www.lazarus-ide.org and it works fine with make script or via ide.
They seem to have already 1st candidate for v 3.0 there now.

From that address you find deb package that, I think, works with Ubuntu.

--
Saku
OH1KH

WK2X
That is very strange. Just to

That is very strange. Just to test, I:

* removed the symlink so that there is only 2.2.6 and default (which is a symlink -> 2.2.6) in my /usr/lib/lazarus.
* did a git clean -dfx in the cqrlog repo
* did a git reset --hard in the cqrlog repo

The git operations should ensure that my repo is exactly as you have pushed to github on your loc_testing branch.

wec@cocytus:~/cqrlog$ make cqrlog_qt5
lazbuild --ws=qt5 --pcp=/tmp/.lazarus src/cqrlog.lpi
SetPrimaryConfigPath NewValue="/tmp/.lazarus" -> "/tmp/.lazarus"
Error: (lazarus) invalid Lazarus directory "/usr/lib/lazarus/2.0.6/": directory not found
Error: (lazarus) Building failed: src/cqrlog.lpi
make: *** [Makefile:77: cqrlog_qt5] Error 2
wec@cocytus:~/cqrlog$

So then, I found the issue. If I rm -rf /tmp/.lazarus then it works fine with 2.2.6.

Perhaps rm -rf /tmp/.lazarus should be a step in 'make clean' ?

oh1kh
That is very strange. Just to

HI!
Interesting notes.

I think removing /tmp/.lazarus makes no harm if added to "make clean" .
Good to know that.

I do not remember when I last have used "make clean", but my /tmp/ cleans automated on every linux startup. That means several times a day as I do not keep my laptop running all the time. Starting with SSD is so fast that I can wait those few seconds, hi.

I made some tests with clean /tmp/:
Compile with lazarus ide does not create /tmp/.lazarus folder.
Compile with "make" creates it with "environmentoptions.xml"
Compile with "make cqrlog_qt5" creates it with "environmentoptions.xml" and folder "lib"

If /tmp/.lazarus is removed compile time is longer compared to /tmp/.lazarus existence.
That is because I run compile as user and have installed lazarus as root and it makes:

Hint: (lazarus) normal output directory of package LCL 2.2.6 is not writable: "/usr/lib64/lazarus/lcl/units/x86_64-linux/qt5/"

And it has to create copies to /tmp/.lazarus/lib/ while first compile.

Nice to know this.
I am not programming (lazarus, fpc or any other) and linux "wizard".
Every day learning more...

--
Saku
OH1KH

WK2X
right - I guess the rationale

right - I guess the rationale is that everyone doesn't always run 'make clean' before every build, only when they really want a fresh compile of everything.

If you didn't want to have it there, then maybe make a different target called 'pristine' or something, like this:

clean:
# all the stuff clean currently does

pristine: clean
rm -rf /tmp/.lazarus

That way, if they really want to clean up the dev environment fully, they can do "make pristine" .. but if just cleaning up compiler output, 'make clean' will do and keep the stuff from /tmp/.lazarus

I can make the changes to the makefile and PR them if you want...

oh1kh
right - I guess the rationale

Hi!

For me it is ok to have it in clean routine.
I just wonder why this have never happened to me with Fedora.

With Raspberry I have problem with make, it stops with error.
I have been lazy and made no investigations, simply compiled with lazarus-ide that works without errors.
I have to check if remove of folder makes it run ok. Rpi runs all the time, so /tmp is not cleaned by startup.

If you make PR I am pleased to add it to my Alpha source.

--
Saku
OH1KH

WK2X
PR submitted. Thanks!

PR submitted. Thanks!