hhyyrylainen / GodotPckTool

Standalone tool for extracting and creating Godot .pck files
MIT License
383 stars 31 forks source link

Add podman build workflow for working with older glibc #10

Closed AlEscher closed 2 years ago

AlEscher commented 2 years ago

I am using Ubuntu 20.04.3 LTS.

Steps to reproduce

./godotpcktool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./godotpcktool)
./godotpcktool: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./godotpcktool)

This only happens with the release binaries of 1.5 and 1.6. The 1.4 binaries work as expected.

hhyyrylainen commented 2 years ago

I've compiled the newer releases with Fedora 34 meaning that any distro with an older glibc won't be able to run it. I guess the most obvious way to fix this would be to have a podman build workflow that uses the oldest ubuntu LTS still supported (and one that can compile the source code) and performs the Linux compile in the container to make a build that works with older glibc.

AlEscher commented 2 years ago

I guess so. I resorted to building the source code which resulted in a working executable aswell.

hhyyrylainen commented 2 years ago

Well the required glibc version is purely determined by the platform you build the code on. Meaning that if you compile the code on your system, it has no choice but to use the correct glibc version for your system.

hhyyrylainen commented 2 years ago

I got around to doing this now. @AlEscher before I release 1.7 with the new builds, could you test the attached executable I built with Ubuntu 20.04 docker image (or you can alternatively do the podman build yourself to test it)? godotpcktool.zip

AlEscher commented 2 years ago

The attached binary works for me

hhyyrylainen commented 2 years ago

Good to get that confirmed. I published 1.7 as the release that now has that as the prebuilt binary (and change to having link time optimization on). https://github.com/hhyyrylainen/GodotPckTool/releases/tag/v1.7