Я недавно настроил новый сервер с последним Debian 9, и мне нужно запустить неофициальное приложение. Проблема в том, что для этого приложения требуется более старая версия общей библиотеки:
$ ./myapp
./myapp: error while loading shared library: libmicrohttpd.so.10: cannot open shared object file: No such file or directory
Действительно, у меня не установлена эта версия libmicrohttpd:
$ ls /usr/lib/x86_64-linux-gnu/libmicrohttpd.so*
/usr/lib/x86_64-linux-gnu/libmicrohttpd.so.12
/usr/lib/x86_64-linux-gnu/libmicrohttpd.so.12.39.0
В соответствии с политикой моей компании, я не могу изменить список источников apt, чтобы получить предыдущую версию libmicrohttpd. Итак, я хочу знать, безопасно ли создавать символическую ссылку, подобную этой:
# ln -s /usr/lib/x86_64-linux-gnu/libmicrohttpd.so.12.39.0 /usr/lib/x86_64-linux-gnu/libmicrohttpd.so.10
Я просмотрел обзор изменений ABI / API для этой библиотеки и каждой версии, если только она не имеет обратной совместимости. Для единственной версии без полной обратной совместимости это связано с тем, что libmicrospdy.so.0.0.0
был удален из пакета.
Итак, как вы думаете, это безопасно или мне следует ожидать каких-то нежелательных поступков? Если это рискованно, что я могу сделать без установки каких-либо новых неофициальных пакетов в моей системе?