jontio / JAERO

Demodulate and decode Aero signals. These signals contain SatCom ACARS messages as used by planes beyond VHF ACARS range
https://jontio.zapto.org/hda1/jaero.html
MIT License
224 stars 39 forks source link

Build with qcustomplot 2.0.1 #43

Closed Vascom closed 5 years ago

Vascom commented 5 years ago

Hi. Can you add support for qcustomplot 2.0.1 so I can unbundle it and use system package?

jontio commented 5 years ago

Yup. I've now done that and pushed it to the git repo. I've tried it out with 2.0.1. On Linux the qcustomplot folder is no longer needed but you have to sudo apt-get install libqcustomplot-dev (installs libqcustomplot2.0).

Vascom commented 5 years ago

It is in master branch? When you plan new release?

I am on Fedora. So need qcustomplot-qt-devel I think.

This is last bundled lib as I see :) After that I can add jaero to fedora's official repo.

Vascom commented 5 years ago

Also it will be good if you add parameters for qmake to switch to system libs instead bundled. Now I do that in spec file via sed commands.

jontio commented 5 years ago

Yup it's in the master branch, the commit was https://github.com/jontio/JAERO/commit/fe604fb7e221fc615c0526a48f1f73954d6e70bb .

I don't have any fixed time plan to make a new release. I make new releases when there seems to be enough new things.

Ok I'll look into adding some switches for system or bundled libs. Something like qmake DEFINES+=system_qcustomplot DEFINES+=bundled_libacars (or is that CONFIG+= ?)

Vascom commented 5 years ago

Now it is compiled with system qcustomplot but segfault at start.

(gdb) run
Starting program: /usr/bin/jaero 
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.30-5.fc31.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff59d3e88 in _GLOBAL__sub_I_qprinterinfo.cpp () from /lib64/libQtGui.so.4
jontio commented 5 years ago

I tried it on Kubuntu 19.04, 8th gen I5 and got no segmentation fault.

In the past I have noticed that with qt projects sometimes make clean doesn't clean everything when changing linked things and I've had to manually delete the .user file along with the build folder for it to not mix up what to use. My guess is that qmake/make is doing something like building with the bundled qcustomplot but linking with the system one or vise versa.

Can you manually delete all build files (o, moc, user, etc) and try again. I think that might fix the problem.

If that doesn't work can you do a traceback in gdb ( http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html give an example of how to do it ).

QPrinter isn't used by JAERO but seems to be used by qcustomplot.

Vascom commented 5 years ago

I found problem. It need -lqcustomplot-qt5 instead of -lqcustomplot in my case. Thanks.

Vascom commented 5 years ago

Now jaero added to official Fedora repo.

jontio commented 5 years ago

Thank you, that's very cool :)