labpowerqt icon indicating copy to clipboard operation
labpowerqt copied to clipboard

CMake script should check Qt version requirements

Open penguineer opened this issue 7 years ago • 8 comments

The CMake script finishes without error on a system that has Qt 5.3 installed (Debian jessie-backports), but fails during compilation, as the ealogger uses QByteArray::toStdString, which is not available before Qt 5.4.

CMake should fail setup when the minimal Qt version is not met.

penguineer avatar Apr 10 '17 13:04 penguineer

Hey, thanks for letting me know. I did indeed not check whether this compiles on qt5.2. I think it did when I started with the application.

I have fixed the QByteArray::toStdString() in the development branch, only to realize I am using other Qt5.4 features as well. Thins like QTimer::singleShot() with a Lambda function or setTabBarAutoHide() of the QTabBar class.

I have not decided yet if I will try to circumvent these problems as well or just raise the needed Qt version to 5.4. Do have the possibility to install Qt >= 5.4 on Debian Jessie?

crapp avatar Apr 11 '17 12:04 crapp

Thanks for checking!

I just had a look: Does not seem that I can get Qt 5.4 into jessie without too much effort. However, Debian Stretch is in Full Freeze since 2017-02-05, so the release won't be too far away. Qt 5.7.1 will be available then. (The required CMake version is already in the backports.)

I am fine with waiting for the next Debian release.

penguineer avatar Apr 11 '17 19:04 penguineer

Works for me:

-- Trying to get ealogger sources from github and compile the library
CMake Error at src/CMakeLists.txt:90 (find_package):
  Could not find a configuration file for package "Qt5Widgets" that is
  compatible with requested version "5.4".

  The following configuration files were considered but not accepted:

    /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake, version: 5.3.2
    /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake, version: 5.3.2



-- Configuring incomplete, errors occurred!

Thanks for fixing!

penguineer avatar Apr 25 '17 13:04 penguineer

Thanks for reporting it!

As you might have noticed, I have added the enhancement label to this issue as well. This is mainly because I wanted to experiment with Linux application bundles for a long time and finally decided to give this a go with LabPowerQt. An application bundle would make it much easier for Linux users to test and run the application. Using the development branch I am able to build a working AppImage application bundle using docker. I have successfully tested it on ArchLinux and Fedora Workstation 25. I currently only have a 64bit build. If you want, I can upload it for you so you might test it on your Debian Jessie installation. The AppImage was build on ubuntu trusty which should make it possible to run it on Debian 8 as well.

crapp avatar Apr 25 '17 14:04 crapp

This might actually be a sensible application for AppImages. :) If you prepare an image I am willing to try it out.

(I don't want to start a philosophical discussion here, but in general I rather have my distribution provide the dependencies do avoid multiple copies of the same libraries.)

penguineer avatar Apr 29 '17 21:04 penguineer

@penguineer I have released a new version with some bugfixes and an AppImage binary. It is currently only available for 64bit systems. You can find it here

Please let me know if the AppImage works with Debian Jessie.

crapp avatar May 04 '17 08:05 crapp

64bit is fine. Thank for the images, I just downloaded and will try them out the next time I am in my office. (Tomorrow or Monday)

penguineer avatar May 04 '17 13:05 penguineer

Update: The app image worked fine and I was able to communicate with the device.

There were a few glitches, but I did not have too much time to analyze them. With a bit more time at hand I will open new issues if needed.

penguineer avatar May 05 '17 13:05 penguineer