Из-за несоответствия ld-linux-x86-64.so.2 (man ld.so) и libc.so.
Если вы хотите запустить gdb под параметром LD_LIBRARY_PATH, выполните следующее:
export LD_LIBRARY_PATH=~/local/lib
/lib64/ld-linux-x86-64.so.2 --library-path /lib64 /usr/bin/gdb /bin/ls
Это запускает /usr/bin/gdb в старой библиотечной среде и /bin/ls в новой библиотечной среде. Аналогично, вы можете запустить только одну команду в новой библиотечной среде следующим образом:
export LD_LIBRARY_PATH=~/local/lib
~/local/lib/ld-linux-x86-64.so.2 /bin/echo
libmaodbc.so был статически связан с libmariadb.so.3. Теперь я динамически связал libmariadb.so.3, и это сработало.
Понятия не имею, была ли связана плохая/несоответствующая библиотека или какие-то другие настройки для связывания были неправильными (возможно, что-то не так в CMakeLists.txt? ). Так что я до сих пор не понимаю первопричину. Но симптом фиксируется.