* [devel] soname change @ 2004-05-18 12:11 Nick S. Grechukh 2004-05-18 11:31 ` Anton Farygin 0 siblings, 1 reply; 4+ messages in thread From: Nick S. Grechukh @ 2004-05-18 12:11 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 228 bytes --] неужели смену soname нельзя отработать симлинками, предоставить и новое и старое имя? не пришлось бы пересобирать кучу софта. -- ------------------------- WBR, Nick S. Grechukh Refractory Trading House network administrator [-- Attachment #2: signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] soname change 2004-05-18 12:11 [devel] soname change Nick S. Grechukh @ 2004-05-18 11:31 ` Anton Farygin 2004-05-18 12:15 ` Nick S. Grechukh 2004-05-26 11:19 ` [devel] " Alexey Tourbin 0 siblings, 2 replies; 4+ messages in thread From: Anton Farygin @ 2004-05-18 11:31 UTC (permalink / raw) To: ALT Devel discussion list Nick S. Grechukh пишет: > неужели смену soname нельзя отработать симлинками, предоставить и новое и > старое имя? не пришлось бы пересобирать кучу софта. Нельзя. Смена soname как правило означает смену API, т.е. - библиотека с более старшим soname не совместима с библиотекой с более младщим soname. Rgds, Rider ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [devel] soname change 2004-05-18 11:31 ` Anton Farygin @ 2004-05-18 12:15 ` Nick S. Grechukh 2004-05-26 11:19 ` [devel] " Alexey Tourbin 1 sibling, 0 replies; 4+ messages in thread From: Nick S. Grechukh @ 2004-05-18 12:15 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 512 bytes --] В сообщении от Вторник 18 Май 2004 14:31 Anton Farygin написал(a): > Nick S. Grechukh пишет: > > неужели смену soname нельзя отработать симлинками, предоставить и новое и > > старое имя? не пришлось бы пересобирать кучу софта. > > Нельзя. Смена soname как правило означает смену API, т.е. - библиотека с > более старшим soname не совместима с библиотекой с более младщим soname. понял. спасибо за разъяснение. -- ------------------------- WBR, Nick S. Grechukh Refractory Trading House network administrator [-- Attachment #2: signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* [devel] Re: soname change 2004-05-18 11:31 ` Anton Farygin 2004-05-18 12:15 ` Nick S. Grechukh @ 2004-05-26 11:19 ` Alexey Tourbin 1 sibling, 0 replies; 4+ messages in thread From: Alexey Tourbin @ 2004-05-26 11:19 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1955 bytes --] On Tue, May 18, 2004 at 03:31:22PM +0400, Anton Farygin wrote: > Nick S. Grechukh пишет: > >неужели смену soname нельзя отработать симлинками, предоставить и новое и > >старое имя? не пришлось бы пересобирать кучу софта. > > Нельзя. Смена soname как правило означает смену API, т.е. - библиотека с > более старшим soname не совместима с библиотекой с более младщим soname. Более подробный ответ: ----- Forwarded message from Alexey Tourbin <at@altlinux> ----- ... > Насчёт soname можно подробнее? > Что это такое? Это касается разделяемых библиотек. API -- это фиксация интерфейса на уровне исходного кода при компиляции. Например, int myfunc(x,y) -- это часть API. ABI -- это фиксация бинарного интерфейса на уровне экспортируемых символов библиотеки. Например, если в новой версии библиотеки будет int myfunc_new(x,y,z); #define myfunc(x,y) myfunc_new(x,y,0) /* compatibility */ То API для myfunc(x,y) "как бы" останется, но на самом деле бинарный интерфейс "поедет", т.к. символа myfunc в библиотеке уже не будет. Бинарный интерфейс касается не только сигнатур функций, но и, например, типов данных. Иными словами, речь идет о том, что программа, слинкованная с новой версией разделяемой библиотеки, может на самом деле работать и с более старой версией библиотеки, если у библиотеки не изменился бинарный интерфейс. И наоборот. В смысле репозитария пакетов это означает возможность частичного обновления, а также отказ от необходимости пересборки всех пакетов, которые слинкованы с разделяемой библиотекой, при обновлении этой библиотеки, если бинарный интерфейс не изменился. А технически это просто: ld -soname=lib%name.so.%version ... gcc -Wl,-soname=lib%name.so.%version ... В первом случае линкер вызывается напрямую, во втором -- через gcc. Другое дело, что в данном случае должно означать %version. Я подумаю. ... ----- End forwarded message ----- > Rgds, > Rider [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-05-26 11:19 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-05-18 12:11 [devel] soname change Nick S. Grechukh 2004-05-18 11:31 ` Anton Farygin 2004-05-18 12:15 ` Nick S. Grechukh 2004-05-26 11:19 ` [devel] " Alexey Tourbin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git