* 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
* [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 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