Binary v0.1 for Ubuntu 22.04 (Jammy Jellyfish) can not be installed due to libc6 version 2.36-9 dependency.
The binary ngscopeclient-ubuntu-22.04-amd64-v0.1.deb for Ubuntu 22.04 (Jammy Jellyfish) can not be installed as it depends on libc6 version >=2.36-9 however the current official libc6 version for Ubuntu 22.04 is 2.35-0 per https://launchpad.net/ubuntu/jammy/+package/libc6.
It compiles and runs fine on 22.04 but it looks like we hard coded 2.36-9 in the .deb generator code.
The full dependency list we have now is
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.36-9), libpng16-16(>= 1.6.39-2), libsigc++-2.0-0v5 (>= 2.12.0-1), libyaml-cpp0.7(>= 0.7.0), libgomp1(>= 12.2.0), libvulkan1(>= 1.3.239), libglfw3(>= 3.3.8), libgtk-3-0(>= 3.24.38), zlib1g(>= 1.2.13), libhidapi-hidraw0(>= 0.13.1), liblxi1(>= 1.18), libtirpc3 (>= 1.3.3)" )
Can you check what the correct versions of all of these for 22.04 is and I'll update? This list was generated on Debian Bookworm and I thought 22.04 was the same or older, but I guess not.. Oops.
We're planning a 0.1.1 maintenance release in the next couple weeks to fix some other small bugs found post release and I'll try to lump this in with it.
There's similar trouble in 24.04 and Debian 13.1. The .deb looks for libyaml-cpp0.7 but 0.8 is the shipping version in both.
Debian:12.12 works great if you want to use Docker:
# Base image
FROM debian:12.12
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
git wget curl cmake pkgconf build-essential ninja-build \
libx11-dev x11-apps libgtk-3-dev libsigc++-2.0-dev \
libyaml-cpp-dev catch2 libglfw3-dev \
libhidapi-dev liblxi-dev libtirpc-dev \
libvulkan-dev glslang-tools spirv-tools
RUN apt-get upgrade -y
ENV PKG=ngscopeclient-debian-12-amd64-v0.1.deb
RUN wget https://github.com/ngscopeclient/scopehal-apps/releases/download/v0.1/${PKG}
RUN dpkg -i ${PKG} || apt-get -f install -y
# Set arguments for user creation (replace defaults with your own if needed)
ARG USERNAME=${USER}
ARG USER_UID=1000
ARG USER_GID=$USER_UID
# Install sudo
RUN apt-get update && apt-get install -y sudo
# Create the user with matching UID/GID and add to sudo
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
# Switch to the new user
USER $USERNAME
WORKDIR /home/$USERNAME
Build:
docker build -f Dockerfile --build-arg USERNAME=$(whoami) -t ngscope .
Running:
docker run -it --rm \
-e DISPLAY=$DISPLAY --device /dev/dri --group-add video \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--name ngscope ngscope sudo ngscopeclient
It compiles and runs fine on 22.04 but it looks like we hard coded 2.36-9 in the .deb generator code.
The full dependency list we have now is
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.36-9), libpng16-16(>= 1.6.39-2), libsigc++-2.0-0v5 (>= 2.12.0-1), libyaml-cpp0.7(>= 0.7.0), libgomp1(>= 12.2.0), libvulkan1(>= 1.3.239), libglfw3(>= 3.3.8), libgtk-3-0(>= 3.24.38), zlib1g(>= 1.2.13), libhidapi-hidraw0(>= 0.13.1), liblxi1(>= 1.18), libtirpc3 (>= 1.3.3)" )Can you check what the correct versions of all of these for 22.04 is and I'll update? This list was generated on Debian Bookworm and I thought 22.04 was the same or older, but I guess not.. Oops.
We're planning a 0.1.1 maintenance release in the next couple weeks to fix some other small bugs found post release and I'll try to lump this in with it.
The current library versions for Ubuntu 22.04.5 LTS list is : libc6 = 2.35-0 libpng16-16 = 1.6.37-3 libsigc++-2.0-0v5 = 2.10.4-2 libyaml-cpp0.7 = 0.7.0 libgomp1 = 12.3.0-1 libvulkan1 = 1.3.204.1-2 libglfw3 = 3.3.6-1 libgtk-3-0 = 3.24.33-1 zlib1g = 1:1.2.11 libhidapi-hidraw0 = 0.11.2-1 liblxi1 = 1.16-1 libtirpc3 = 1.3.2-2
As of a2baae1eca796f8e91c47689c4fb42487291e31d we now have support for distro/version specific CPack dependencies.
So far I've added the list for Debian Bookworm and Trixie but not yet updated for Ubuntu.
I'm on the road for work right now and don't have easy access to a Debian 13 box to test on; @snhobbs can you verify that the Trixie packages generated in CI now install properly?
@CybEng latest CI package as of 7ce3ba3 should install on 22.04. Can somebody look up the 24.04 package versions and comment here? I'll add that then we can close the ticket
@azonenberg The latest Debian Trixie package from Github actions still depends on libyaml-cpp0.7, and doesn't install on my Debian machine:
/tmp/ngscopeclient $ unzip ngscopeclient-debian-stable-trixie-Linux-repo-package.zip
Archive: ngscopeclient-debian-stable-trixie-Linux-repo-package.zip
inflating: ngscopeclient-0.1.0+v0.1-13-gd3d7b2f6-Linux.deb
/tmp/ngscopeclient $ dpkg -I ngscopeclient-0.1.0+v0.1-13-gd3d7b2f6-Linux.deb
new Debian package, version 2.0.
size 18369702 bytes: control archive=16927 bytes.
600 bytes, 11 lines control
53866 bytes, 582 lines md5sums
Architecture: amd64
Depends: libc6 (>= 2.36-9), libpng16-16(>= 1.6.39-2), libsigc++-2.0-0v5 (>= 2.12.0-1), libyaml-cpp0.7(>= 0.7.0), libgomp1(>= 12.2.0), libvulkan1(>= 1.3.239), libglfw3(>= 3.3.8), libgtk-3-0(>= 3.24.38), zlib1g(>= 1.2.13), libhidapi-hidraw0(>= 0.13.1), liblxi1(>= 1.18), libtirpc3 (>= 1.3.3)
Description: Cross platform T&M remote control and signal analysis suite
Homepage: https://www.ngscopeclient.org/
Maintainer: Andrew Zonenberg <[email protected]>
Package: ngscopeclient
Priority: optional
Section: devel
Version: 0.1.0+v0.1-13-gd3d7b2f6
Installed-Size: 43469
From https://github.com/ngscopeclient/scopehal-apps/actions/runs/17934839410 "Add libx11 on linux since it's now required by imgui glfw backend #150".
The debian-stable action prints empty DISTRO_NAME and DISTRO_VER:
[...]
Using GTK version: 3.24.49
-- Linux distribution target for packaging: name , version
-- Configuring done (1.3s)
-- Generating done (0.1s)
-- Build files have been written to: /__w/scopehal-apps/scopehal-apps/build
https://github.com/ngscopeclient/scopehal-apps/actions/runs/17934839410/job/50999007940
I made some changes in my fork, pull request here: https://github.com/ngscopeclient/scopehal-apps/pull/901
My package for Debian Trixie depends on the correct versions: https://github.com/mastensg/scopehal-apps/actions/runs/17945048389
/tmp/ngscopeclient $ dpkg -I ./ngscopeclient-0.1.0+93eb5abc-Linux.deb
new Debian package, version 2.0.
size 18369808 bytes: control archive=16948 bytes.
629 bytes, 11 lines control
53866 bytes, 582 lines md5sums
Architecture: amd64
Depends: libc6 (>= 2.41-12), libpng16-16t64(>= 1.6.48), libsigc++-2.0-0v5 (>= 2.12.1), libyaml-cpp0.8(>= 0.8.0), libgomp1(>= 14.2.0-19), libvulkan1(>= 1.4.309.0), libglfw3(>= 3.4-3), libgtk-3-0t64(>= 3.24.49), zlib1g(>= 1:1.3.dfsg+really1.3.1-1), libhidapi-hidraw0(>= 0.14.0-1), liblxi1(>= 1.22-1), libtirpc3t64 (>= 1.3.6+ds-1)
Description: Cross platform T&M remote control and signal analysis suite
Homepage: https://www.ngscopeclient.org/
Maintainer: Andrew Zonenberg <[email protected]>
Package: ngscopeclient
Priority: optional
Section: devel
Version: 0.1.0+93eb5abc
Installed-Size: 43469
Merged. So I think we're still waiting on 24.04 package versions to be integrated and then we can close this.
Thanks!