xtnded / codextended

Call of Duty Extended
http://cod1.eu
GNU General Public License v3.0
44 stars 21 forks source link

Debian 11 'GLIBC_2.34' not found #19

Open themegabyte opened 7 months ago

themegabyte commented 7 months ago

Hey All,

I have Debian 11 from my hosting provider which comes with GLIBC_2.31. As you can see:

root@1eternity:~/cod1/myserver# ldd --version
ldd (Debian GLIBC 2.31-13+deb11u8) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Whenver I try to launch the latest version of codextended.so from here: https://github.com/xtnded/codextended/releases/download/v21-03-12-2023/codextended.so I get this errror:

root@1eternity:~/cod1/myserver# ./start_server_no_docker.sh
/root/cod1/myserver/cod_lnxded: /lib32/libc.so.6: version `GLIBC_2.34' not found (required by /root/cod1/myserver/codextended.so)
/root/cod1/myserver/cod_lnxded: /lib32/libc.so.6: version `GLIBC_2.33' not found (required by /root/cod1/myserver/codextended.so)

which is a valid error. I have tried using docker to circumvent the library issue but I feel like it is introducing random hitch warnings on my server. I want to try without docker.

Can anyone please help me compile with the older ldd so I can run without docker on my Debian 11?

Tagging @PrawyCoD1 .

themegabyte commented 7 months ago

Here is the release if anyone needs it: https://github.com/themegabyte/CoDExtended/releases/tag/855df4f-glibc_2.31

themegabyte commented 5 months ago

Re-opening and mentioning @PrawyCoD1 or @patriksh for help. This issue was fixed for xtended but still remains for 1.1x. I can't compile it because I don't have access to the source code. Perhaps if there is a private repo, do you want me to built a Github Actions to automatically push it from that repo?

I would be grateful for any help.

patriksh commented 5 months ago

What do I have to do to build 1.1x to allow it to work with your server?

themegabyte commented 5 months ago

Thanks for responding Patriksh.

I have had success with compiling inside docker containers. I can provide you with a compose file or a bash script to save you some steps.

We would basically have to bind the src directory inside a Debian 11 container and execute the build command inside it. Then we will copy the compiled bin file out of the container. This compiled file should work with where ever Debian 11 is present.

I ran some quick commands to check ldd version inside debian:11 container and my host server, they look to be the same.

1eternity at ~ ❯ docker run --rm debian:11 ldd --version
Unable to find image 'debian:11' locally
11: Pulling from library/debian
Digest: sha256:2c7a92a41cb814c00e7d455b2bc0c90ccdb9a4ced2ffdc10e562c7a84a186032
Status: Downloaded newer image for debian:11
ldd (Debian GLIBC 2.31-13+deb11u10) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
1eternity at ~ ❯ ldd --version
ldd (Debian GLIBC 2.31-13+deb11u10) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
1eternity at ~ ❯

IF you don't have docker, I am not exactly sure how you would use another GLIBC version to compile with other then outright compiling on Debian 11 itself. (the above container option might circumvent that as it runs the compile process inside the container and is isolated from the host machine).

I have been against messing with glibc versions on my Linux as so many things depend on it and it might break a lot of stuff. Same case for you if you try to downgrade GLIBC and compile.

vCoDMods commented 5 months ago

Thanks for responding Patriksh.

I have had success with compiling inside docker containers. I can provide you with a compose file or a bash script to save you some steps.

We would basically have to bind the src directory inside a Debian 11 container and execute the build command inside it. Then we will copy the compiled bin file out of the container. This compiled file should work with where ever Debian 11 is present.

I ran some quick commands to check ldd version inside debian:11 container and my host server, they look to be the same.

1eternity at ~ ❯ docker run --rm debian:11 ldd --version
Unable to find image 'debian:11' locally
11: Pulling from library/debian
Digest: sha256:2c7a92a41cb814c00e7d455b2bc0c90ccdb9a4ced2ffdc10e562c7a84a186032
Status: Downloaded newer image for debian:11
ldd (Debian GLIBC 2.31-13+deb11u10) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
1eternity at ~ ❯ ldd --version
ldd (Debian GLIBC 2.31-13+deb11u10) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
1eternity at ~ ❯

Just started a server with newest 1.1x .so on a Debian 12 server without any problem. The problem is not the .so which is provided in that repo.

themegabyte commented 5 months ago

@vCoDMods the provided .so file is only functional on Debian 12. However if you try to run it on Debian 11 it will give you the error that I shared in my original post. I believe not every host is offering debian 11 yet, as it still has 2 years of support left on it: https://endoflife.date/debian

vCoDMods commented 5 months ago

@vCoDMods the provided .so file is only functional on Debian 12. However if you try to run it on Debian 11 it will give you the error that I shared in my original post. I believe not every host is offering debian 11 yet, as it still has 2 years of support left on it: https://endoflife.date/debian

Debian 12 was released 1 year ago, i dont even know a hosting provider which doesnt offer it. You can still upgrade your VPS to Debian 12, doesnt matter what the provider offers in his auto install.

themegabyte commented 5 months ago

@vCoDMods the provided .so file is only functional on Debian 12. However if you try to run it on Debian 11 it will give you the error that I shared in my original post. I believe not every host is offering debian 11 yet, as it still has 2 years of support left on it: https://endoflife.date/debian

Debian 12 was released 1 year ago, i dont even know a hosting provider which doesnt offer it. You can still upgrade your VPS to Debian 12, doesnt matter what the provider offers in his auto install.

Thanks for responding. I agree I can do that and that's one way to fix it. That is not something on my list right now. This server runs a lot of my other apps. I haven't had time the time to backup everything in case the upgrade renders my server unusable. I just need the latest release only. Perhaps when a newer 1.1x version is out I might actually have upgraded by then, and it won't be needed to bug everyone to re-compile it. Would appreciate it if it can be done this one time :)