sccn / liblsl

C++ lsl library for multi-modal time-synched data transmission over the local network
Other
108 stars 63 forks source link

Github Actions Ubuntu 18.04 produces broken .deb packages #93

Closed cboulay closed 2 years ago

cboulay commented 3 years ago

AppVeyor is using a new compiler that has dependencies that don't exist on Ubuntu 18.04 by default.

(Reading database ... 338602 files and directories currently installed.)
Preparing to unpack liblsl.deb ...
Unpacking liblsl (1.14.0) over (1.14.0) ...
dpkg: dependency problems prevent configuration of liblsl:
 liblsl depends on libgcc-s1 (>= 3.0); however:
  Package libgcc-s1 is not installed.
dpkg: error processing package liblsl (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 liblsl

This can be worked around by installing the more modern dependencies on my older OS:

sudo apt update
sudo apt --fix-broken install
cd ~/Desktop/
wget http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-10/gcc-10-base_10-20200411-0ubuntu1_amd64.deb http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-10/libgcc-s1_10-20200411-0ubuntu1_amd64.deb
sudo apt install ./gcc-10-base_10-20200411-0ubuntu1_amd64.deb ./libgcc-s1_10-20200411-0ubuntu1_amd64.deb

Then sudo dpkg -i liblsl.deb works as expected.

A better medium-term solution, as suggested by @tstenner , might be to specify a more compatible compiler.

For reference, I recently setup libxdf to build on GitHub actions and the resulting .deb file didn't have any problems on my Ubuntu 18.04.

tstenner commented 3 years ago

Works on Github Actions (aba29c5b93becce6f25b5371833faa2b44f78de1):

$ dpkg -I liblsl-1.14.0-xenial_amd64.deb 
 neues Debian-Paket, Version 2.0.
 Größe 528502 Byte: control-Archiv= 1011 Byte.
     376 Byte,    12 Zeilen      control              
     968 Byte,    16 Zeilen      md5sums              
      64 Byte,     7 Zeilen   *  postinst             #!/bin/sh
      61 Byte,     7 Zeilen   *  postrm               #!/bin/sh
      39 Byte,     1 Zeilen      shlibs               
 Architecture: amd64
 Depends: liblsl (= 1.14.0-xenial), libc6 (>= 2.17), libgcc1 (>= 1:3.0), libstdc++6 (>= 5.2)
 Description: Labstreaminglayer C/C++ library
  Labstreaminglayer C/C++ library
 Homepage: <https://github.com/sccn/liblsl>
 Maintainer: Tristan Stenner <ttstenner@gmail.com>
 Package: liblsl
 Priority: optional
 Section: devel
 Version: 1.14.0-xenial
 Installed-Size: 2645
tstenner commented 3 years ago

The Github Actions runner for Ubuntu 18.04 builds packages that can't be loaded on stock Ubuntu.

Some other options: