There is a debug tool on linux: "strace"
In blender directory:
strace ./blender-softwaregl --background
or
strace ./blender --background
You can watch the system calls, e.g. the "open" calls too. It will show the path in "open" calls.
example:
user$ strace ./blender-softwaregl --background
..
..
open("/lib/libmvec.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/tls/x86_64/libmvec.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64", 0x7ffe99686660) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libmvec.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls", 0x7ffe99686660) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64/libmvec.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64", 0x7ffe99686660) = -1 ENOENT (No such file or directory)
open("/usr/lib/libmvec.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
writev(2, [{"./blender", 9}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libmvec.so.1", 12}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./blender: error while loading shared libraries: libmvec.so.1: cannot open shared object file: No such file or directory
) = 121
exit_group(127) = ?
+++ exited with 127 +++
-- UPDATE2 --
You can see the paths where "blender" tries to open the libmvec.so.1 file. Pick a path and you could try to add a symlink to the compiled glibc directory.
I don't have a CentOS 7 box, but I have an old Ubuntu machine
-- The whole operation on Ubuntu --
Compile glibc-2.24 on Ubuntu 14.04:
cd ~
wget https://ftp.gnu.org/gnu/libc/glibc-2.24.tar.gz
tar -xvzf ./glibc-2.24.tar.gz
cd glibc-2.24
mkdir _build
cd _build
Your kernel version on CentOs may be different. My kernel version is 3.13. You can get your kernel version by uname -a command on linux.
../configure --enable-kernel=3.13 --prefix=/usr
make
If there is no error on compile, you are done.
Symlinking
Download blender 2.80 beta from https://builder.blender.org/download/ and extract it. Navigate to blender's main folder and:
cd lib
ln -s ~/glibc-2.24/_build/mathvec/libmvec.so ./libmvec.so.1
ln -s ~/glibc-2.24/_build/math/libm.so ./libm.so.6
GO
Navigate to blender's main folder.
headless version:
./blender-softwaregl --background --python-console
gui version:
./blender
It works for me on Ubuntu 14.04
/usr/lib,/usr/lib64and even in Blender's ownlibdirectory and it still didn't work. I am not sure if Blender is looking for it in a different folder. $\endgroup$