libgdx / Jamepad

A better way to use gamepads in Java
Apache License 2.0
20 stars 13 forks source link

libjamepad64.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found #10

Closed Des-Nerger closed 2 years ago

Des-Nerger commented 2 years ago

The current Jamepad version on maven seems to require glibc minimum 2.27. Is this intentional and really necessary? I thought libgdx was meant to be more portable across linux distrubutions, including slightly outdated ones. Never had any such troubles with other native libraries coming with libgdx, such as libgdx64.so, liblwjgl64.so or libopenal64.so.

PokeMMO commented 2 years ago

We build this library (as well as libgdx and lwjgl3 on latest releases) on Ubuntu 18.04. Without doing a lot of effort to manually downgrade glibc, this will set the minimum glibc to 2.27. Github no longer offers 16.04 runners.

If you are wanting to support an older glibc version you will have to manually recompile all of the natives.

Des-Nerger commented 2 years ago

Yeah, no problems, I understand. Not requesting or anything, just as a note: there are actually ways to build for older glibc's while being on a new one. For instance: https://github.com/wheybags/glibc_version_header. (In the past there was also the Linux Standard Base (LSB) SDK offering compiler wrappers that did a similar thing, although it was a more complex solution, not limited to glibc. Don't know how relevant LSB today, though.) I would personally choose to do it for my own game projects in order to maximize portability. Other libraries are usually much easier to upgrade for a user. But glibc is a tough one. And newest glibc features aren't usually needed anyway.

MrStahlfelge commented 2 years ago

If you know how to do it, feel free to change the build action and file a PR :-)