rerun-io / rerun

Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.
https://rerun.io/
Apache License 2.0
5.68k stars 257 forks source link

Python SDK incompatible with old GLIBC #2628

Open emilk opened 1 year ago

emilk commented 1 year ago

In short

The Rerun Python SDK is incompatible with GLIBC 2.17, and therefore CentOS 7.

I don't know what is our minimum required GLIBC version.

Problem

A user reported trying to use the Rerun Python SDK in a university cluster running CentOS 7, which uses GLIBC 2.17 (released 2012-12-25). The result:

ERROR: Could not find a version that satisfies the requirement rerun-sdk (from versions: none)

The user further reports:

I see that the wheel file on PyPy specifies the platform tag manylinux_2_31 which is incompatible with my GLIBC version (2.17)

Solution

I think the solution is building the wheels on a machine with an old glibc version.

There are some clues here:

We should at least try, and we should also figure out what is the exact minimum GLIBC version required by the Rerun Python SDK.

nchodosh commented 9 months ago

Hi,

I'm the user who originally created this issue.

My university cluster was updated to CentOS 8 finally but our GLIBC is still only 2.28. I'd really like to try out your tool so I'm wondering if there's any progress on this?

jleibs commented 8 months ago

@nchodosh when we tried to do this before we ran into some issues with build environments that were old enough to include the older glibc not having access to a recent enough libgtk3.

However, I just found out that the packages we build for conda-forge are built using an older glibc that should be compatible with centos8.

Is there any possibility you could use the Conda package instead of the pypi wheel?

Parskatt commented 4 months ago

Ubuntu 18 is still stuck at glibc 2.28 (2.27?), can we get this on pip? Don't like conda installs.

ducha-aiki commented 3 months ago

My university cluster was updated to CentOS 8 finally but our GLIBC is still only 2.28. I

Exactly my situation as well.

alexanderswerdlow commented 1 month ago

Same here; our cluster is still on CentOS 7.

I'd imagine that most users on very old glibc versions (maybe not Ubuntu 18, but likely CentOS 7) care less about display support, especially given the excellent support for streaming w/re-run, if that makes things any easier!

jleibs commented 1 month ago

We actually made some good progress on this recently. The viewer is no longer linked into the wheel .so. Instead we bundle a separately built rerun executable which we launch via subprocess. This means these deps shouldn't be necessary for building the wheel anymore.

I think this makes it possible to try moving the wheel-building environment to a manylinux container with an older glibc. I'll try taking a look at this again sometime soon.