Проблема, существующая (почти) во всех бинарных дистрибутивах та, что при установке приложений тянется много зависимостей, т.к. при компилировании мантайнеры выбрали поддержку каких-то библиотек, и их требуется установить тоже. Как, например, в дебиане mplayer скомпилирован с directfb и приходится этот libdirectfb тоже ставить, хотя он совсем не нужен.
Разработчики приложений об этой роблеме не могут не знать, т.к. большинство дистрибутивов - бинарные. Правда, дистрибутивы предлагают возможность перекомпилировать, но это неудобно, особенно на слабых системах.
Но ведь в libc есть возможность динамически подгружать shared library с помощью dlopen из библиотеки libdl, что позволяет разом избавиться от всех описанных выше проблем: при компилировании указываются только те библиотеки, которые всегда нужны и libdl, а опциональные подгружаются по мере необходимости и возможности.
я тут попробовал эту libdl, так никаких трудностей программисту она не создает. dlopen, dlsym, dlclose. Так почему она так мало используется?