Program requires libc.so.6 version `GLIBC_2.33' but Leap only provides 2.31

The fsnotifier program included with Android Studio requires glibc version at least 2.33 but Leap 15.3 and Leap 15.4 both include only 2.31 – factory has 2.35 but it will not install on Leap 15.3 because there are packages which require glibc less than the 2.32 version. (Ubuntu 22.04 uses glibc 2.35 and fsnotifier is quite happy to use it.) Is there a way to install 2.35 so that only fsnotifier will use it? It occurs to me that installing it to /usr/local/lib64/ should work if I get ldconfig to notice it, but I thought I would check here before digging in (I’m lazy that way).

Here a quick solution that has worked for me:

Convert factory glibc-2.35 rpm with alien to a tgz and extract it to /opt/glibc-2.35.
Install package patchelf and patch fsnotifier to use glibc-2.35


sudo zypper in patchelf
cd  <AndroidStudioPath>/bin
patchelf --set-interpreter /opt/glibc-2.35/usr/lib64/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.35/usr/lib64/ fsnotifier

After that change fsnotifier is using glibc-2.35 and starts as expected


./fsnotifier --selftest|head -1   
* fsnotifier self-test mode (v.20220510.2104)

Are there any specific reasons to not install Android Studio built for Leap 15.3?

I am stuck with whatever Google distributes (there is no Leap 15.3 version).

Thanks for the solution rawar – I will give it a try when I have some time.

Well, apparently someone built it for Leap 15.3.

I installed AndroidStudio just for fun via JetBrainsToolbox because i need Intellij and PyCharm Pro from JetBrains anyway and it took me just a click. I did not know that there is a AndroidStduio for Leap 15.3.
If possible a switch to the Leap Version or an older working JetBrains/Google version is of course the better solution. But it seems the Leap version is a little bit outdated and i want to use the latest version.

Fyi https://issuetracker.google.com/issues/225751091 has another workaround and it seems Google will provide a fix it.

That is an old issue, the latest Android Studio is 2021.2.1 Patch 1.

The linked bugreport is exactly for the latest release “Chipmunk” 2021.2.1 Patch 1. Look at the dates, versions and failure message.

You’re right, sorry. I saw the beginning reference to the 32-bit binary at the beginning and thought that it was before they released the 64-bit binary.

No need to convert rpm with alien to a tgz - just extract.

Another option - use LD_PRELOAD or LD_LIBRARY_PATH: 1163301 – Steam game Imperator Rome does not work - old glibc

LD_PRELOAD=/home/games/lib64/libm.so.6 %command%

SUSE prefer to delay glibc upgrade: 1194122 – Feature request: please update glibc from v. 2.31 to 2.33 or newer for Leap 15.4

Also source code for fsnotifier is available: intellij-community/native/fsNotifier/linux at master · JetBrains/intellij-community · GitHub
And

To make sure it’s compatible with old Linux distributions, e.g. CentOS 7

max_allowed_glibc_version=“2.17”

GitHub - SineStriker/fsnotifier: Qt/C++ cross-platform file system watcher library using JetBrains fsnotifier.*

I took a look at the latest fsnotifier that is in the android studio repo and it runs fine on leap 15.4 when copied to the bin directory of android studio.

So it looks like Google has fixed the problem, but have not released it yet. Problem solved for now.