ldconfig смотрит во всех общих объектах, которые он находит, для поиска soname. Это тогда создает ссылку с помощью этого soname в качестве названия ссылки. Это является стандартным (но далеким от универсально сделанного) для soname, чтобы быть именем и основной версией библиотеки, таким образом, Ваше нечто so.1.1 библиотеки будет иметь soname нечто so.1, и ldconfig сделает ссылку названной этим.
Никакая часть системы во время выполнения не ищет или знает что-либо об имени foo.so. Это используется, когда Вы связываете свои программы с библиотекой. Нет никакого смысла в наличии той ссылки, если у Вас также нет всех других файлов для разработчика (заголовки и т.д.) для библиотеки, таким образом, нет никакого смысла в ldconfig, автоматически создающем его. И так как название ссылки на использование является только другим соглашением, и в этом случае не хранится в файле вообще, нет никакого пути к ldconfig для знания что имя создать.
Обычно это было бы создано вручную в цели установки Make-файла; когда библиотека упаковывается для дистрибутива Linux, ссылка обычно живет в-dev пакете наряду с заголовочными файлами.
Просто сделайте символьную ссылку сами:
ln -s /usr/lib/foo.so.1.1.1 /usr/lib/foo.so
Примечание, что для приложений для пользований библиотеками этим способом они должны быть явно связаны против неимеющего версию общего объекта. IE: это - механизм для обхода системы соответствия версии динамического загрузчика полностью.