1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SOLVED installation on Ubuntu 20.04

Discussion in 'Software Support' started by sgaluf, 3 June 2020.

  1. sgaluf

    sgaluf New Member

    Messages:
    6
    Hardware:
    RPi3, +Arduino
    I've recently made a fresh install of Ubuntu 20.04 on my x64 media PC. I then tried to do manual installation via command line:
    https://hyperion-project.org/wiki/Installation-with-command-line
    During the installation, the following error appears:

    E: Package 'libqtcore4' has no installation candidate
    E: Package 'libqtgui4' has no installation candidate
    E: Unable to locate package libqt4-network

    And after I try to run manually "sudo /usr/bin/hyperiond /etc/hyperion/hyperion.config.json", I get the following error:

    /usr/bin/hyperiond: error while loading shared libraries: libQtNetwork.so.4: cannot open shared object file: No such file or directory

    It seems that the libqt4-network package is not available for Ubuntu 20.04? How to install hyperion now?
     
  2. Paulchen-Panther

    Paulchen-Panther Moderator Staff Member Developer

    Messages:
    824
    Hardware:
    RPi1/Zero, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
  3. sPOiDar

    sPOiDar New Member

    Messages:
    4
    This is marked as solved, however the problem described appears to be valid. Since QT4 has been deprecated and is no longer available on Ubuntu 20.04, the precompiled binary packages on the release page do not work, as they're linked against a number of QT4 libs.

    In addition, the docker compilation script in the repo does not allow targeting Ubuntu, as it requires custom base images with all the deps pre-installed, and the Dockerfile for those images doesn't appear to be in the repos.

    In the end I managed to hack together a build script by combining the documentation on manually building, slotting it into a hacked docker-compile.sh script, and adding deps that were missing from the docs, until it compiled successfully.

    Not an enjoyable process though - debs for multiple host environments added to CI would certainly be a welcome change.
     
  4. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
  5. sPOiDar

    sPOiDar New Member

    Messages:
    4
    hyperion.ng is what I was referring to here.
     
  6. Awawa

    Awawa Active Member

    Messages:
    172
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    I've got quite opposite feelings. Debian Buster with Qt5 is already supported. No need to hack, docker scripts are in hyperion.docker-ci repo with all needed dependencies. Using Git Action the installer can be even build on our own fork by the git himself. Buster or Stretch ...all you need to do is modify few lines in git action. For me it's quite impressive how it's done in the project.
     
  7. sPOiDar

    sPOiDar New Member

    Messages:
    4
    Ah, so that's where the Docker base images live.
    It's clearly straight-forward if you're running Debian, but there're hoops to jump through for Ubuntu: modify Dockerfile from hyperion.docker-ci to build base image with deps; modify docker-compile.sh from main repo to use local image. And that's provided you know where to find them, which I couldn't find in any of the docs.

    The binary packages suggested in the primary documentation on the website certainly do not work, as they're still based on the old QT4 build (for stretch I guess?).
     
  8. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    a) To compile a local checked out hyperion.ng repository in a docker container, I tested a while ago.

    Here is is modified script https://ufile.io/gtt43pv1
    I have not manged to clean it up and merge it with the other compile script, but you might find it helpful.
    Place the script in ./bin/scripts and run from the hyperion-home directory:

    sudo ./bin/scripts/docker-compile_local.sh -t amd64 -b Debug -p false

    That will build hyperion.ng in Debug mode for unbuntu-x86 using docker.
    Via -t you can also build for other platforms.

    Do ./bin/scripts/docker-compile_local.sh -h to see the other options.

    b)

    Would you mind sharing the hyperion.ng documentation sites which still makes references to QT4?
    That would get us in the position to have it fixed....
     
  9. sPOiDar

    sPOiDar New Member

    Messages:
    4
    The problem with this script is that it assumes that all the dependencies are already present in the image, which is what caused me some consternation trying to get a build going.

    Well, this is quite embarrassing - I think the QT4 lib errors were from an older build. However, the current debian package control file does not specify any dependencies, so installing it does not prompt to install the required libs. Also, the version number in the control file for the betas is just 2.0.0 with no suffix, which means that upgrades won't work from a repository.
     
  10. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    If you start hyperion via " "sudo /usr/bin/hyperiond /etc/hyperion/hyperion.config.json"" then it is not hyperion.ng
    and you followed the wrong instructions.