GregoryAM-SP / The-Minecraft-Overviewer

The Minecraft Overviewer | Successor
https://overviewer.gregoryam.com
GNU General Public License v3.0
88 stars 12 forks source link

Linux Binary #66

Open rafeanders opened 6 months ago

rafeanders commented 6 months ago

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: versionGLIBC_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 commented 6 months ago

@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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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 commented 6 months ago

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

rafeanders commented 6 months ago

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 commented 6 months ago

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 commented 5 months ago

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