After upgrading taichi to version 0.6.12 through pip install --upgrade taichi on my Ubuntu 16.04 machine, I got the following error:
ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /xxxxx/envs/taichi/lib/python3.8/site-packages/taichi/core/../lib/taichi_core.so)
I looked a bit and apparently Ubuntu 16.04 supports glibc 2.23 only (see https://launchpad.net/ubuntu/xenial/+source/glibc).
Reverting to the previous version (pip install --upgrade==0.6.11) fixed the issue.
Do you still officially support Ubuntu 16.04?
Thanks for reporting. I took a look, and it seems that
>>> objdump -T libtaichi_core.so| grep GLIBC_2.27
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.27 log2f
It's probably a change between v0.6.12 and v0.6.11 that uses log2f (directly or indirectly.) The change is likely the upgrade from LLVM 8 to LLVM 10. @archibate when you get a chance, if you are still using LLVM 8, could you try to execute objdump -T libtaichi_core.so| grep GLIBC_2.27 and let me know if you get the GLIBC_2.27 log2f entry? Thanks for your help!
Ubuntu 16.04 is old but we still plan to support it for a while.
Yes, I'm using LLVM 8. Didn't find any entry about either GLIB_2.27 and log2f:
(depshapedimcall) [bate@archit taichi]$ objdump -T build/libtaichi_core.so | grep GLIBC_2.27
(depshapedimcall) [bate@archit taichi]$ objdump -T build/libtaichi_core.so | grep log2f
(depshapedimcall) [bate@archit taichi]$
But I did find them in the released version:
(depshapedimcall) [bate@archit taichi]$ objdump -T ~/.local/lib/python3.8/site-packages/taichi/lib/libtaichi_core.so | grep GLIBC_2.27
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.27 log2f
(depshapedimcall) [bate@archit taichi]$ objdump -T ~/.local/lib/python3.8/site-packages/taichi/lib/libtaichi_core.so | grep log2f
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.27 log2f
(depshapedimcall) [bate@archit taichi]$
I also found this symbol in my local libLLVM-10.so:
(depshapedimcall) [bate@archit taichi]$ objdump -T /lib/libLLVM-10.so | grep GLIBC_2.27
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.27 log2f
(depshapedimcall) [bate@archit taichi]$
Most helpful comment
Yes, I'm using LLVM 8. Didn't find any entry about either
GLIB_2.27andlog2f:But I did find them in the released version:
I also found this symbol in my local
libLLVM-10.so: