audeering / opensmile

The Munich Open-Source Large-Scale Multimedia Feature Extractor
https://audeering.github.io/opensmile/
Other
553 stars 74 forks source link

libm.so.6: version 'GLIBC_2.27' not found #47

Closed yc-li20 closed 2 years ago

yc-li20 commented 2 years ago

Hi, when I import opensmile in python, it gives this error: /lib64/libm.so.6: version `GLIBC_2.27' not found. My machine is: ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31. It seems opensmile does not support new GLIBC version?

chausner-audeering commented 2 years ago

Which exact Ubuntu version are you using? Normally, operating systems include older GLIBC versions for backwards-compatibility. The pre-built binaries that we provide have been built using GLIBC 2.27.

As a workaround, you could manually build openSMILE on your machine.

yc-li20 commented 2 years ago

Thanks for the quick reply. >>Which exact Ubuntu version are you using? I'm using Ubuntu 20.04.4 LTS. >>you could manually build openSMILE on your machineI I don't have permission as the machine is administrated by the remote host. Am I stuck at this point?

chausner-audeering commented 2 years ago

Ubuntu 20.04 should be supported, I am using the exact same version.

$ ldd bin/SMILExtract 
    linux-vdso.so.1 (0x00007ffd4abd4000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9b4234d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9b421fe000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9b421e3000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9b421c0000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9b41fce000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f9b4271a000)

Interesting that on your machine, it tries to load /lib64/libm.so.6 instead of /lib/x86_64-linux-gnu/libm.so.6. /lib64/libm.so.6 does not exist on my system.

chausner-audeering commented 2 years ago

Can you try invoking it like this:

LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH bin/SMILExtract
yc-li20 commented 2 years ago

bin/SMILExtract: No such file or directory. Can I solve the problem with conda's virtual environment?

chausner-audeering commented 2 years ago

bin/SMILExtract: No such file or directory.

Please download the standalone version of openSMILE from the GitHub releases page and try to run the above command.

yc-li20 commented 2 years ago

Thanks. It works! ---update--- Turns out not working. The problem is I'm using opensmile on a gpu server, and the GLIBC version of the server is older than 2.27, not my local machine's problem. I do not have permission to upgrade gcc on server. The solution is to download the libm.so.6 file, and export the path to this file. So the server system will use this new version file instead of its old one.