Chitubox 1.8.1 - Qt5.15 required - WHY?!?

Guest 2021-2-8 3290

$ /usr/bin/chitubox/AppRun 

/usr/bin/chitubox/AppRun: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/bin/chitubox/AppRun)


[ EXTREMELY GRUMPY MODE ENGAGED]


This is _extremely_ lazy coding.
Qt 5.15 is NOT bundled as standard with Ubuntu (20.10), Redhat7/8 or other distributions

It is not "clever" to force users to install the latest/greatest experimental versions of libraries on their production equipment: It's a fast way of getting bad publicity and ensuring nobody will use your software

_ALWAYS_ ensure your "production" software will run properly with the _OS default_ LTS releases of support libraries

For Ubuntu 20.10, that's qt5.14
-  20.10 is NOT the LTS version of Ubuntu. That's 20.04 and the QT bundled in that is qt5.12 

For redhat 7&8 it's even older than that

This will change in Ubuntu 21.04 - but that will not be released for another 2 months. The versions of 21.04 currently in beta-test are just that - beta tests and may break.


NB: please don't point to anything in Fedora. Fedora is _by definition_ a bleeding-edge test environment which is explicitly provided by Redhat on an "Experimental use only - not for production use" basis in order to find OS and library bugs.


(Yes I'm grumpy,
 Yes I've been using Linux for over 25 years
 Yes I'm annoyed by seeing people make the same mistakes over and over again
 this kind of thing results in users bodging of systems into "non-standard" configurations

 - which are then difficult to support
 - or _even worse_, those "non-standard" library configurations break OTHER software)

If Chiitubox 1.81 _requires_ some new features of qt5.15(*)  then it should be delayed until general PPAs/RPMs are issued for the operating systems, or Chitu should take on the support load of assiting users to maintain their systems


(*) As far as I can see, it doesn't even need features which are exclusive to 5.14!


New Post (7)
  • Guest 2021-2-9
    Quote 2Floor

    I don't disagree, but there is a bit of a workaround.

    1.8.1 actually comes bundled with the required QT5 libraries, but you have to modify your path in order to use them. Here's a thread with the steps. 

    https://forum.chitubox.com/?thread-800.htm

    Yes, it's kludgey and incorrect, but for now you can at least get it running.

  • Cliff Knight 2021-2-10
    Quote 3Floor

    I agree 110%, plus the kludgey and incorrect "solution" broke FreeCAD, PulseAudio Equalizer, and probably some other stuff--thank goodness for TimeMachine.

    Is there a correct solution?

  • 2021-2-13
    Quote 4Floor
    Cliff Knight I agree 110%, plus the kludgey and incorrect " ...
    Hi
    You can create a wrapper bash script and start ChituBox with the script.
    Works here with Ubuntu 20.04 and 20.10. Pls check your ChituBox Path

    # --- begin ---
    #! /bin/bash

    export LD_LIBRARY_PATH=~/CHITUBOX\ V1.8.1/lib/:$LD_LIBRARY_PATH
    ~/CHITUBOX\ V1.8.1/CHITUBOX
    # --- end ---
  • Cliff Knight 2021-2-14
    Quote 5Floor
    Thank you, we got it sorted out in another thread... 
    Still though, why is this necessary--when not needed with any previous releases, beta or live?
  • 2021-2-16
    Quote 6Floor
    Hi
    I think that Beta 1.8 is built with an older QT5 version and then of course the version available from the system is used and not the one supplied. I have been programming in C ++ for a long time and I also use the QT framework for my GUI programs. With Windows and MacOS, a QT version supplied is not the problem. Under Linux either a version should be used that is used by LTS versions or a wrapper script should be supplied. Building an executable version of the program from the source itself is, in my opinion, not that difficult. Possibly enclose meaningful instructions.
    Lg Chris

  • 2021-4-6
    Quote 7Floor


    All .so.5 files actually exists under /lib path. Chitubox doesn't know where to find it.


    Try running this in your terminal before running AppRun:


    export LD_LIBRARY_PATH=lib


    Or, for convenience, you can create a .sh file in the root path of Chitubox and execute it every time you start Chitubox:


    touch App.sh


    Edit App.sh as below:


    #!/bin/sh
    export LD_LIBRARY_PATH=lib
    ./CHITUBOX


    Save App.sh and quit

    run it:


    sh App.sh


    It should solve the problem.


  • Guest 2021-4-11
    Quote 8Floor
    I can confirm that manually setting LD_LIBRARY_PATH=lib works on Ubuntu20.04.