GLIBC_2.34' not found

Hello, I downloaded the last zip from github, and i got the following error when I lunch the editor.

./castle-editor: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34’ not found (required by ./castle-editor)

I use debian 11.
How can I fix it?

Thanks

/BlueIcaro

See Various improvements: examples, Android, shadow maps, Delphi compatibility, view3dscene, CI… – Castle Game Engine – this error message is mentioned there, it is a consequence of the Docker upgrades I mentioned there.

In short: The engine binaries are built using newer Debian (bookworm, Debian 12), which is in turn required to support building with latest Android tools in that Docker image. In turn, it means that executing binary on older Linux systems (like Debian 11) will fail.

Fixing this in CGE side would be admittedly rather complicated. (We’d need to maintain more Docker images at once and copy between them – but this will consume time.)

My recommendation:

  • It would be simplest if you can just upgrade your system. Debian 11 is “oldstable” now. You will have to upgrade to the latest stable (12) anyway at some point. On Debian 12, the error will disappear.

  • Alternatively, you can build engine yourself from sources following Compiling from source | Manual | Castle Game Engine . I know it’s a much more work – so I would first advise to upgrade Debian.

Let me know if this is workable.

Hi Michalis, thanks for the information.
I was trying using backports repository in my debian, to get the newest version of Glibc, but if the version in newer it doesn’t work.
So i try to install and compile from source and I have two tips for update the instructions.

  1. If you have Lazarus installed in your Linux using fpcupdeluxe command-line will not work, because it doesn’t fine FPC compiler becasue fpcupdeluxe will install fpc out of path . So you must use Lazarus editor.
  2. When I install castle_components.lpk I got a error that says that I got two unit with the same name:
    “/home/jorge/Documentos/github/castle-engine/src/vampyre_imaginglib/src/Extensions/ImagingExtFileFormats.pas” de castle_base 6.92
    and
    “/home/jorge/castle_game_engine/src/vampyre_imaginglib/src/Extensions/ImagingExtFileFormats.pas” de VampyreImagingPackageExt 0.82
    Both packages are connected,

So I only I compiled the package, not installed, and every thing goes ok and finally I have CGE working, may be because I was a older version of CGE working, and CGE installed every thing in mi Lazarus.

Thanks

/BlueIcaro

Thank you!

I will update Compiling from source | Manual | Castle Game Engine and indeed I’ll add both your notes, they may be useful to everyone.

AD 1 - Indeed, FPC must be on $PATH to make e.g. ./castle-engine_compile.sh work. We mentioned how to add FPC to $PATH when it is installed from fpcupdeluxe on fpcupdeluxe | Manual | Castle Game Engine .

AD 2 - Ah, that’s because of our change some time ago: We no longer use separate Vampyre packages in Lazarus, see Simpler castle_base Lazarus package, no longer depends on Vampyre LPK – Castle Game Engine .

You can uninstall VampyreImagingPackage.lpk and VampyreImagingPackageExt.lpk from Lazarus IDE if you had them only for the sake of CGE.

Exactly as you say – this affected you because you had earlier CGE version installed in Lazarus (with Vampyre packages). It will not affect new users. Still, I should likely add this to Compiling from source | Manual | Castle Game Engine for some time.

I’ll do this when updating Compiling from source | Manual | Castle Game Engine soon (I wanted to rearrange it a bit anyway).