Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hyperiond (x64) built with docker cannot find some libraries (on Linux Mint 18.3) #590

Closed
topas-rec opened this issue Aug 8, 2019 · 9 comments

Comments

@topas-rec
Copy link

I tried building hyperion.ng today with docker for x64 architecture. Building the packages and installing it went fine.
hyperiond was not started after installation so I tried to start it manually. It complained about the following packages that were not installed, which was the reason why it didn't automatically started:

hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libjpeg.so.62: version `LIBJPEGTURBO_6.2' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by hyperiond)

Searching on the internet gave me some hints to change something when building Qt - which is something I will not try.

I would like to help if I can. Let me know if I should test something or if I did something wrong.

@Paulchen-Panther
Copy link
Member

Hast du die notwendigen Abhängigkeiten installiert?
git cmake build-essential qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev

@topas-rec
Copy link
Author

I didn't. I'll try and update this issue.

Can you tell me if or where this is documented? I just read about the docker package building and nothing about extra dependencies.

Another thing. Can't Hyperion use the dependency section of the deb package? If so the package manager would automatically install the required dependencies.

@bennealon
Copy link

bennealon commented Aug 8, 2019

I saw a similar message recently when i compiled on docker under debian 16.04 and then tried to install the .deb on raspbian buster. I fixed this by compiling hyperion.ng using docker, but on the RPi itself. For me, this was caused by the QT dependencies being outdated.

How are you installing this once built, are you installing through the debian package manager like this:

‘sudo dpkg -i /absolute/path/to/deb/file
sudo apt-get install -f’

The latter call will install any extra dependencies.

@topas-rec
Copy link
Author

Nice to know.

I installed through apt. That should also install dependencies.

I`ll also try this.

@topas-rec
Copy link
Author

topas-rec commented Aug 9, 2019

It might also be that the dependencies are installed, but they cannot be found. This might be caused by mixing different architectures (i386 and x64)

I had this once in the past with Ubuntu I think.

I used a symlink to fix it. I found that solution on a forum somewhere cause I didnt understand the problem completely.

But there might just be missing installed packages. I`ll try and reply.

@topas-rec
Copy link
Author

I uninstalled the hyperion.ng-x11 first.
Then I installed the mentioned dependencies using apt on the Linux Mint:

sudo apt install qtbase5-dev libqt5serialport5-dev libusb-1.0-0-dev python3-dev libxrender-dev libavahi-core-dev libavahi-compat-libdnssd-dev libjpeg-dev

Afterwards I reinstalled the built package from the docker container:

sudo apt install ./deploy/Hyperion.NG-Beta.1.0.0-Linux-x11.deb 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'hyperion.ng-x11' instead of './deploy/Hyperion.NG-Beta.1.0.0-Linux-x11.deb'
The following NEW packages will be installed:
  hyperion.ng-x11
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/12,0 MB of archives.
After this operation, 42,5 MB of additional disk space will be used.
Get:1 /mnt/DATA/Incoming/hyperionng/deploy/Hyperion.NG-Beta.1.0.0-Linux-x11.deb hyperion.ng-x11 amd64 1.0.0 [12,0 MB]
Selecting previously unselected package hyperion.ng-x11.
(Reading database ... 359473 files and directories currently installed.)
Preparing to unpack .../Hyperion.NG-Beta.1.0.0-Linux-x11.deb ...
---Hyperion ambient light preinst ---
Unpacking hyperion.ng-x11 (1.0.0) ...
Setting up hyperion.ng-x11 (1.0.0) ...
---Hyperion ambient light postinstall ---
---> init deamon: systemd
---> Install Hyperion desktop icons

-----------------------------------------------------------------------------
---> Hyperion has been installed/updated!
---> 
---> You can start Hyperion from your menu now
---> For configuration, visit with your browser: [MY_HIDDEN_IP_ADDRESS]:8090
---> or if already used by another service try: [MY_HIDDEN_IP_ADDRESS]:8091
-----------------------------------------------------------------------------
Webpage: www.hyperion-project.org
Wiki: wiki.hyperion-project.org
Forum: forum.hyperion-project.org

Trying to start hyperiond:

hyperiond 
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5: version `Qt_5' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libjpeg.so.62: version `LIBJPEGTURBO_6.2' not found (required by hyperiond)
hyperiond: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by hyperiond)

or hyperion-x11:

hyperion-x11 
hyperion-x11: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by hyperion-x11)
hyperion-x11: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.7' not found (required by hyperion-x11)
hyperion-x11: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version `Qt_5' not found (required by hyperion-x11)
hyperion-x11: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by hyperion-x11)
hyperion-x11: /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5: version `Qt_5' not found (required by hyperion-x11)

somehow still gives Qt errors.

I checked missing dependencies with sudo apt-get -f install:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Are there any further hints or tipps?
I'll try to install it on a fresh Linux Mint 19 in a VM.

@topas-rec
Copy link
Author

Mint 19 has no libpython3.5 package (Means it cannot be installed).
I didn't find a way to get around that problem. If some knows how to get libpython3.5 installed in Linux Mint 19.2 please let me know. (Installing python 3.5 is not enough. The package has to be there)

So I cannot install this in Mint somehow.

@Paulchen-Panther
Copy link
Member

Paulchen-Panther commented Aug 10, 2019

For your Linux-Mint problem.
Create your own docker container (see example file mint.example), build and tag the image (hyperionproject/hyperion-ci:amd64) an run the hyperion docker script again.

Example (Linux Mint 18.3 Sylvia (64-bit) ):

Dockerfile (mint.example):

# More Linux-Mint Container at: https://hub.docker.com/u/linuxmintd
FROM linuxmintd/mint18-amd64:latest

# install compile deps
# additional rpm to build rpm packages
RUN apt-get update && apt-get install -y git cmake python3-dev qtbase5-dev libqt5serialport5-dev build-essential libusb-1.0-0-dev libavahi-core-dev libavahi-compat-libdnssd-dev libxrender-dev rpm

Build and tag the image:
docker build -t hyperionproject/hyperion-ci:amd64 -f mint.example .
Notes: The dot after the filename is important

Run the Hyperion docker script:
You know how that works

@topas-rec
Copy link
Author

An image build using the instructions of the last comment of @Paulchen-Panther creates a package that when installed on Linux Mint 18.3 does not show any missing library issues when starting up hyperiond or hyperion-x11.

Many thanks for that.

Think about putting the perceptions of this issue into development. Readme update for Mint users or building in docker and somehow considering the missing libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants