The LabRecorder installation instructions state that:
The Ubuntu releases do not typically ship with their dependencies, so you must download and install those
This was done by downloading liblsl-1.17.5-jammy_amd64.deb and running,
sudo apt-get -y install ./liblsl-1.17.5-jammy_amd64.deb
which creates a conflict when attempting to install LabRecorder,
$ sudo apt-get -y install ./LabRecorder-1.17.0-jammy_amd64.deb
⋮
The following NEW packages will be installed:
labrecorder
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
⋮
Unpacking labrecorder (1.17.0) ...
dpkg: error processing archive /home/display/Builds/LabRecorder/LabRecorder-1.17.0-jammy_amd64-broken.deb (--unpack):
trying to overwrite '/usr/lib/liblsl.so.1.17.5', which is also in package liblsl 1.17.5
The installation fails when the labrecorder package tries to create the /usr/lib/liblsl.so* files, which have already been installed by the liblsl package.
It is possible to recover the situation by re-building the labrecorder package without the liblsl.so files.
$ dpkg-deb -R LabRecorder-1.17.0-jammy_amd64.deb tmp
$ rm tmp/usr/lib/liblsl.so*
$ dpkg-deb -b tmp LabRecorder-1.17.0-jammy_amd64-fixed.deb
Now labrecorder will be installed,
$ sudo apt-get -y install ./LabRecorder-1.17.0-jammy_amd64-fixed.deb
⋮
Unpacking labrecorder (1.17.0) ...
Setting up labrecorder (1.17.0) ...
$ which LabRecorder
/usr/bin/LabRecorder
The installation instructions then go on to say that,
- For most cases, this will amount to installing Qt and its dependencies:
- Ubuntu >= 22.04:
sudo apt-get install qt6-base-dev freeglut3-dev
These packages were installed using the given command. But LabRecorder will abort execution when it finds that the Qt libraries are obsolete,
$ LabRecorder
LabRecorder: /lib/x86_64-linux-gnu/libQt6Core.so.6: version `Qt_6.8' not found (required by LabRecorder)
Presuming that this refers to the ABI version, we can see that,
$ ls -l /lib/x86_64-linux-gnu/libQt6Core.so.6
lrwxrwxrwx 1 root root 19 May 2 2022 /lib/x86_64-linux-gnu/libQt6Core.so.6 -> libQt6Core.so.6.2.4
version Qt 6.2 is installed by the qt6-base-dev package on Ubuntu 22.04. Note that LabRecorder v1.16 runs properly on this version of Qt.
Versions
The LabRecorder installation instructions state that:
This was done by downloading liblsl-1.17.5-jammy_amd64.deb and running,
sudo apt-get -y install ./liblsl-1.17.5-jammy_amd64.debwhich creates a conflict when attempting to install LabRecorder,
The installation fails when the
labrecorderpackage tries to create the/usr/lib/liblsl.so*files, which have already been installed by theliblslpackage.It is possible to recover the situation by re-building the
labrecorderpackage without theliblsl.sofiles.Now labrecorder will be installed,
The installation instructions then go on to say that,
These packages were installed using the given command. But LabRecorder will abort execution when it finds that the Qt libraries are obsolete,
Presuming that this refers to the ABI version, we can see that,
version Qt 6.2 is installed by the
qt6-base-devpackage on Ubuntu 22.04. Note that LabRecorder v1.16 runs properly on this version of Qt.Versions