Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux Binary #66

Open
rafeanders opened this issue Mar 18, 2024 · 8 comments
Open

Linux Binary #66

rafeanders opened this issue Mar 18, 2024 · 8 comments

Comments

@rafeanders
Copy link
Contributor

Description: The Linux release binary does not run on Rocky Linux 9.
I have not tested this on other version of Linux yet. Below is the error text output form trying to run the command.

$ ./overviewer [4005382] Error loading Python lib '/home/pmserver/overviewertest/overviewer-v1.20.4/libpython3.10.so.1.0': dlopen: /lib64/libm.so.6: version GLIBC_2.35' not found (required by /home/pmserver/overviewertest/overviewer-v1.20.4/libpython3.10.so.1.0)`

It looks like the binary is looking for a version of GLIBC that isn't present on this system. Running the following returns this for my version:
$ ldd --version ldd (GNU libc) 2.34

It looks like we just need to reference an older executor to do our builds so we are using an older version of GLIBC in the builds. I imagine a number of machines out there are using versions older than 2.35.

@stwalkerster
Copy link
Collaborator

@rafeanders We're only really building on Ubuntu Trusty (20.04, libc 2.31) and Ubuntu Jammy (22.04, libc 2.35) as those are the only runners GitHub Actions supports natively, and we don't yet have the build infra to run against other distros/libc versions. I'd recommend building from source for the time being - it's not too hard if you've got the relevant python headers to build against.

@rafeanders
Copy link
Contributor Author

Yeah, I'm just building currently. This bug report was in response to the most recent comments in discord. I'm not familiar with guthub actions personally, as I use Circleci usually. I was under the impression that github actions would let you specify excecutors similarily to circleci or other cloud ci/cd pipeline tools. But I may be mistaken.

@rafeanders
Copy link
Contributor Author

As an aside, if Trusty is the oldest version we have access to we should just build with that as it will increase our glibc backwards compatibility.

@stwalkerster
Copy link
Collaborator

Yeah, it does support a few different options, but they are quite limited. There's also the option to self-host runners, or to run the build in Docker (and thus build for almost anything), but that's adding levels of complexity we've just not yet reached in our pipeline. I'd like to overhaul it, but time and priorities 😀

@stwalkerster
Copy link
Collaborator

Just building on Trusty alone also runs the risk of introducing ABI incompatibilities with Pillow on newer Ubuntu versions.

@rafeanders
Copy link
Contributor Author

I hear that! If someone opens a ticket for pipelines, I can take a look at it, or I'll open one. It's what I do primarily at work for the last 6-8 months or so. Still learning, but I'm interested in learning guthub actions.

@stwalkerster
Copy link
Collaborator

I know we've almost finished work to add proper .deb packages for Debian-based distros (just testing and publishing to an apt repo I think), and I think @Gregory-AM was starting to look into .rpm packages for RedHat-based distros. I also did some work a while back to get Docker images built - that's how I usually run Overviewer for my own renders.

My current thinking is that we should support all in-support LTS versions of major distros that are RH/Debian-based, and leave everyone outside of those ecosystems to self-compile.

@crlang44
Copy link

crlang44 commented Apr 8, 2024

Any updates for best way to install on Centos? I'm also getting the issue mentioned at the top. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants