TagStudioDev / TagStudio

A User-Focused Photo & File Management System
https://docs.tagstud.io/
GNU General Public License v3.0
4.85k stars 359 forks source link

[Bug]: GLIBC version mismatch on Rocky/RHEL 9 (requires 2.35) #386

Open egg82 opened 3 weeks ago

egg82 commented 3 weeks ago

Checklist

TagStudio Version

Alpha v9.3.2

Operating System & Version

Rocky Linux 9.4

Description

Portable binary fails with the following error:

Failed to load Python shared library '/tmp/_MEIe8CWw8/libpython3.12.so.1.0': dlopen: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by /tmp/_MEIe8CWw8/libpython3.12.so.1.0)

Non-portable fails with a similar error:

Failed to load Python shared library '/home/X/.local/bin/_internal/libpython3.12.so.1.0': dlopen: /lib64/libm.so.6: version `GLIBC_2.35' not found (required by /home/X/.local/bin/_internal/libpython3.12.so.1.0)

If this is expected, the installation instructions should be updated to reflect that only specific GLIBC versions are supported.

The latest Rocky release comes with 2.34, but 2.35+ is required:

ldd --version 

ldd (GNU libc) 2.34
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Expected Behavior

Program to launch

Steps to Reproduce

  1. Download + extract latest release on a system with an older GLIBC version
  2. Run

Logs

No response

Leseratte10 commented 1 week ago

Same issue happens on Ubuntu 20.04 which is still supported by Canonical and comes with glibc 2.31.

2.35 is the glibc version that comes with Ubuntu 22.04. Looking at the release.yml which is used to build the project, that seems to be using the ubuntu 22.04 image which would explain the issue.

Any software built for Linux is going to have some minimum Glibc version. Ideally, you'd build software for Linux on the oldest distribution you want to support. Unless there's a particular reason other than "it's the default" as to why TagStudio uses 22.04, I'd say the easiest way to fix that would be to build TagStudio on a machine with Ubuntu 20.04 or Debian 11 Bullseye.

I'll fork the repo and see if it builds on 20.04 as well. If it does, then changing that would most likely fix the issue on Rocky Linux as well.

EDIT: See #479