this post was submitted on 04 Aug 2024
25 points (93.1% liked)

Linux Gaming

15842 readers
3 users here now

Gaming on the GNU/Linux operating system.

Recommended news sources:

Related chat:

Related Communities:

Please be nice to other members. Anyone not being nice will be banned. Keep it fun, respectful and just be awesome to each other.

founded 4 years ago
MODERATORS
 

Hello everybody! My brother plays Insurgency Sandstorm a lot and I wanted us to be able to play together, so I got it and after some messing about got it working on my system. One of the things I read in forum posts to do to get it to work on an Arch based system is to install glibc-eac-bin which has some patches to make certain games work (I hope I understood that correctly).

Today when I try to update my system I get the following message and it will not allow me to continue:

:: Starting full system upgrade...

resolving dependencies...

looking for conflicting packages...

:: glibc-2.40+r16+gaa533d58ff-1 and glibc-eac-bin-2.40-1 are in conflict. Remove glibc-eac-bin? [y/N]

I dont want to remove glibc, but i want the message to go away and to be able to proceed with my updates. Any suggestions on what I should do?

Thanks in advance

you are viewing a single comment's thread
view the rest of the comments
[–] 30p87@feddit.org 4 points 3 months ago* (last edited 3 months ago) (1 children)

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

[–] ReversalHatchery@beehaw.org 2 points 3 months ago (1 children)

It does not mean much if this is 1 patch file or 20. Any amount of changes can be packed in a single patch file. I think OP was rather interested in the security perspective: does the eac patched glibc reduce security in any way? If not, what does it change at all?

Personally I would assume it does, because otherwise why would there be a separate patched version, instead of including all the changes in the main glibc everyone uses?

[–] 30p87@feddit.org 1 points 3 months ago (1 children)

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.)

[–] ReversalHatchery@beehaw.org 2 points 3 months ago (1 children)

Oh, thanks for looking it up. This sounds good and harmless.

Now it would be interesting to know if there's a legitimate need for this, or EAC just can't be bothered to fix their software.

[–] 30p87@feddit.org 1 points 3 months ago

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".