Версия библиотеки времени выполнения отличается от версии сборки
Поэтому я создаю простую программу на C с -libconfig
а также -L /usr/lib64/
что-то вроде:clang *.c -o app -L /usr/lib64/ -lconfig
Я использую centos6 и получил библиотеку здесь /usr/lib64/libconfig.so.8
Он все прекрасно строит, но когда я запускаю его, я получаю это:error while loading shared libraries: libconfig.so.9: cannot open shared object file: No such file or directory
Очевидно, он ищет большую версию библиотеки, но я не могу объяснить, почему. Просто установка / обновление libconfig.so.9 также не вариант.
Обновить
Я воспользовался советом из комментариев и удалил ненужное -L
параметр, но это ничего не изменило. Я все еще получаю ту же ошибку.$ ll -s /usr/lib64/libconf*
0 lrwxrwxrwx. 1 root root 18 Dec 15 2015 /usr/lib64/libconfig.so -> libconfig.so.8.0.0
0 lrwxrwxrwx. 1 root root 20 Dec 15 2015 /usr/lib64/libconfig++.so -> libconfig++.so.8.0.0
0 lrwxrwxrwx. 1 root root 18 Dec 15 2015 /usr/lib64/libconfig.so.8 -> libconfig.so.8.0.0
0 lrwxrwxrwx. 1 root root 20 Dec 15 2015 /usr/lib64/libconfig++.so.8 -> libconfig++.so.8.0.0
44 -rwxr-xr-x. 1 root root 41960 Aug 19 2010 /usr/lib64/libconfig.so.8.0.0
88 -rwxr-xr-x. 1 root root 87408 Aug 19 2010 /usr/lib64/libconfig++.so.8.0.0
ldconfig -v | grep libconfig
libconfig.so.8 -> libconfig.so.8.0.0
libconfig++.so.8 -> libconfig++.so.8.0.0
Эти строки выглядят очень обычными и хорошо для меня. До сих пор нет понятия.