Skip to content

Instantly share code, notes, and snippets.

@itarozzi
Created June 12, 2024 13:30
Show Gist options
  • Save itarozzi/d86f6ab19116d46c3b20248621655bcd to your computer and use it in GitHub Desktop.
Save itarozzi/d86f6ab19116d46c3b20248621655bcd to your computer and use it in GitHub Desktop.
QLC+ compilato per raspOS

QLC+ Test di compilazione e installazione su raspberryPI

12/10/2024 (it)

https://github.com/mcallegari/qlcplus/

Test di compilazione eseguito su vm qemu e immagine raspos: 2023-05-03-raspios-bullseye-armhf-lite.img

1. Installato le dipendenze

tramite apt ho installato i pacchetti descritti nel wiki, per debian: https://github.com/mcallegari/qlcplus/wiki/Linux-build-(Qt5-&-cmake)

E ovviamente clonato il repository del progetto

https://github.com/mcallegari/qlcplus

2. creazione del makefile tramite cmake

$ mkdir build && cd build

$ cmake -DCMAKE_PREFIX_PATH="/usr/lib/arm-linux-gnueabihf/cmake/Qt5" ..


-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Found Qt version 5: /usr/lib/arm-linux-gnueabihf/cmake/Qt5
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for module 'fftw3'
--   Found fftw3, version 3.3.8
-- Checking for module 'mad'
--   Found mad, version 0.15.0b
-- Checking for module 'sndfile'
--   Found sndfile, version 1.0.31
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.24
-- Checking for module 'libola'
--   No package 'libola' found
-- Checking for module 'libolaserver'
--   No package 'libolaserver' found
-- Checking for modules 'libftdi1;libusb-1.0'
--   Found libftdi1, version 1.5
--   Found libusb-1.0, version 1.0.24
-- Checking for modules 'libftdi;libusb'
--   No package 'libftdi' found
--   No package 'libusb' found
Building with libFTDI1 support. Version: 1.5

Using v1.5+ buffer flush API
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.24
-- Checking for module 'alsa'
--   Found alsa, version 1.2.4
Building QLC+ 4 QtWidget UI
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/src/fablabromagna/qlcplus/build

al momento non ho installato il plugin OLA e non ho apportato modifiche al file CMkakeLists.txt

3. Compilazione e installazione

$ make -j4

compilazione piuttosto lunga su macchina qemu. Un'oretta abbondante su qemu

sudo make install

A fine complicazione ho provato a generare il pacchetto deb con il comando:

$ cpack -G DEB


Pack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: qlcplus

CPack: - Install project: qlcplus []
CPack: Create package
-- CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.
CPack: - package: /home/pi/src/fablabromagna/qlcplus/build/qlcplus-4.13.1-Linux.deb generated.

Non mi è chiaro se quel messaggio relativo alle dipendenze comporti poi dei problemi nell'installazione su un rasp

4. test sul raspberryPI

copiato il file deb su rasp 64bit

installato con : sudo dpkg -i qlcplus-4.13.1-Linux.deb

l'installazione va a buon fine, ma lanciando l'eseguibile ricevo uno strano "No such file or directory", sebbene il file sia ovviamente presente

$ file /usr/bin/qlcplus
/usr/bin/qlcplus: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=bc431c58a79e6b42960dd212ecdb262f445655b7, for GNU/Linux 3.2.0, with debug_info, not stripped

Ho ripetuto la stessa cosa su un raspOS a 32bit e qui sembra funzionare, ma mancano alcune dipendenze Qt che ho installato a mano:

$ sudo apt install libqt5multimediawidgets5  libqt5script5 libfftw3-3

a questo punto posso eseguire sia il sw che il suo editor.

$ qlcplus

$ qlcplus-fixtureeditor

Se si lanciano da ssh su un sistema dotato di X ricordarsi di eseguire prima

export DISPLAY=:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment