• 0 Posts
  • 6 Comments
Joined 2M ago
cake
Cake day: Jul 22, 2024

help-circle
rss

I’m not that knowledgeable, but I guess it’s EAC’s fault: Apparently every application known to mankind, that uses glibc, is compatible with (the better) GNU hashtables. Except EAC. It may just be some incompatibility out of their reach, but then I wonder why every other program, native or run via wine, does not have this problem. My guess: They discovered that they could quietly remove GNU hashtable support, and therefore annoy most linux users, while just saying “your stuff is not compatible with my perfectly fine program”.


As per the patch file:

[PATCH] force --hash-style=both to keep compatibility with old niche software

Per SO:

–hash-style allows you to change the format of hashtable which is used for runtime symbol resolution […]. The GNU hashtable format is said to be slightly faster. […] Both simply means that linked files will include, um, both gnu and sysv hashtables.

So it’s just a patch to enable legacy stuff, with the potential drawback of slightly worse performance (which is given anyway in this case, because EAC bloat. Your usual software should be compatible with and therefore prefer the usual default of GNU hashtables, while EAC, that POS, will use the worser hashtable.)


glibc-eac is basically glibc, except with a few patches applied. Like literally just one additional .patch file. You can see that on the AUR listing, there is an additional patch called reenable DT, and the PKGBUILD applies this patch implying it’s the only thing that needs to be changed. And indeed, the original PKGBUILD differs in just that one patch, afaik. They even have the same version number (as you can see with pacman -Q glibc-eac and pacman -Ss glibc). This means as long as the custom glibc-eac does not get out of sync too much, it’s fine, as other packages usually don’t rely on an exact version - it can’t be guaranteed that the most recent version of something is installed all the time anyway.
As I see it, there’s glibc and glibc-locales. And for some reason you need to install glibc-eac-locales instead of just glibc-locales when using glibc-eac - I guess it’s because it’s a split package, which means multiple packages are built with the same source.
On the same note, you’ll also need the 32 bit version for steam things - basically just use the AUR manager of your choosing, search for glibc-eac and install everything that has a just-glibc equivalent already installed.

And on the topic of compiling: After installing LFS on a 14 yo Dell Latitude with Core 2 Duo (that thing could legally drink and fuck here in germany) I’m very patient and grateful for even my 5 2600 (6 cores). But it’s a nice experience to compile stuff on my E5-2680 (14 cores). And I’m looking forward to the 9 9950x (16 cores) :3


Also: If it says “in conflict”, and asks for user input, it means it will either replace the conflicting package, as the package you install provides the same things, or that it will only remove something you manually installed (I don’t know if that’s correct though). If it would remove a dependency of something else, without replacing that with something that provides the same, it would error out noting that there are unsolvable conflicts, as far as I know. That almost never happens though, as the whole pacman and AUR ecosystem are very well balanced, a bit less on testing repos.


I believe so. According to the PKGBUILD of glibc-eac, it not only conflicts with glibc (the package) but also provides glibc (the dependency for other packages), which means it’s a drop-in replacement. Usually, the -bin version is exactly the same, just precompiled, so the same applies.

Btw, I forgot there was a bin version and I painstakingly compiled it every time, thanks for reminding me :3

Also: Don’t forget to install glibc-eac-locales. Gave me headaches when I forgot it.


Yes, glibc-eac is a special version of glibc which supports steams new linux EAC “app”, which is required for some/most eac games now, eg. Sea of thieves. I don’t have issues using just glibc-eac - which is obviously the self compiled version - as far as I know (I didn’t update in some days).