On Mon, May 02, 2005 at 05:09:43PM +0300, Michael Shigorin wrote: > On Sun, May 01, 2005 at 05:59:12PM +0400, Alexey Tourbin wrote: > > А зачем знать, с какой версией был собран пакет? SONAME для > > того и существует, что если интерфейс не изменился, то > > пересобирать ничего не надо > > Вот только не все апстримы это знают (и применяют с умом). У pg апстрим вроде вменяемый. На всякий случай можно проверить хедеры -- посмотреть, не изменились ли структуры и прототипы. При добавлении в библиотеку новых функций их лучше повесить на отдельный интерфейс. Для этого в файле lib%name.def делается запись вроде следующей (liblua.def): LUA_5.1 { lua_createtable; lua_gc; lua_getallocf; lua_getfield; lua_newstate; lua_objsize; lua_pushinteger; lua_pushthread; lua_setfield; lua_status; lua_tointeger; }; И линковаться через gcc -Wl,--version-script=liblua.def. Тогда если при линковке с этой библиотекой используются новые функции, то появится характерная зависимость типа liblua.so.5(LUA_5.1). К сожалению, это дело широко не используется, хотя есть библиотеки, которые из версии в версию прямо-таки напрашиваются на учёт. :)