ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  @ 2009-05-17  6:12 ` Alexey Tourbin
  2009-05-17  7:30   ` Afanasov Dmitry
                     ` (3 more replies)
  0 siblings, 4 replies; 30+ messages in thread
From: Alexey Tourbin @ 2009-05-17  6:12 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1868 bytes --]

On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> http://git.altlinux.org/tasks/6576/task/log
> 
> 2009-May-16 22:14:01 :: task #6576 for sisyphus started:
> #1 build 1.0-alt35.29311.1 from /people/ender/packages/mplayer.git
> 2009-May-16 22:14:05 :: created pkg.tar for mplayer.git tag 1.0-alt35.29311.1
> 2009-May-16 22:14:06 :: [i586] mplayer.git 1.0-alt35.29311.1: build start
> 2009-May-16 22:14:06 :: [x86_64] mplayer.git 1.0-alt35.29311.1: build start
> TOOLS/bmovl-test.c:39: warning: ignoring return value of 'write', declared with attribute warn_unused_result
> /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_period_size_near@ALSA_0.9'
> /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_periods_near@ALSA_0.9'
> /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
> /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_get_channels@ALSA_0.9'
> collect2: ld returned 1 exit status

После обновления libalsa что-то сломалось в symbol versioning.

[at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
   231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
   233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
[at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
   493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
[at@altair ~]$ 

Похоже, что это связано не с изменениями в libalsa, а с изменениями
в binutils.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17  6:12 ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Alexey Tourbin
@ 2009-05-17  7:30   ` Afanasov Dmitry
  2009-05-17 12:54     ` Alexey Tourbin
  2009-05-17 13:07   ` Dmitry V. Levin
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 30+ messages in thread
From: Afanasov Dmitry @ 2009-05-17  7:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1342 bytes --]

On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
>    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ 
> 
> Похоже, что это связано не с изменениями в libalsa, а с изменениями
> в binutils.
причем:
1. только на x86_64
2. лечится добавлением -ldl -lasound -lm

эта проблема вплывала только при компиляции утилит bmovl-test и
fastmemcpybench. пробовал добавить к сборочной команде эти библиотеки, но
опять-таки на x86_64 -lSDL_image -ldl -lasound -lm почему-то раскрывалось
в полные пути a-la /usr/lib64/libSDL_image.so.

потому я пока выключил сборку этих утилит.

-- 
 С уважением
 Афанасов Дмитрий

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17  7:30   ` Afanasov Dmitry
@ 2009-05-17 12:54     ` Alexey Tourbin
  2009-05-17 14:21       ` Afanasov Dmitry
  0 siblings, 1 reply; 30+ messages in thread
From: Alexey Tourbin @ 2009-05-17 12:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 4222 bytes --]

On Sun, May 17, 2009 at 11:30:51AM +0400, Afanasov Dmitry wrote:
> On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> > On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> > [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
> >    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ 
> > 
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> причем:
> 1. только на x86_64
> 2. лечится добавлением -ldl -lasound -lm

Мне представляется, что проблема гораздо серьезнее, так что не надо её
лечить "по месту".  Проблема состоит в том, что нарушается сопоставление
между названиями ABI интерфейсов и входящими в них символами.  Такие
нарушения сейчас в явном виде никак не отлавливаются, и это может очень
плохо кончиться.

Собственно, это уже плохо кончилось: в сизифе появились пакеты со
сломанным ABI.  Вот ещё один такой пакет.

$ hsh --no-stuff --init && hsh-install bluez-alsa
...
<13>May 17 12:43:06 rpmi: libalsa-1.0.20-alt1 installed
<13>May 17 12:43:06 rpmi: libusb-1.0-alt2 installed
<13>May 17 12:43:06 rpmi: libusb-compat-0.1.0-alt2 installed
<13>May 17 12:43:06 rpmi: libnl-1.1-alt2 installed
<13>May 17 12:43:06 rpmi: libdbus-1.2.14-alt1 installed
<13>May 17 12:43:06 rpmi: setserial-1:2.17-alt1 installed
<13>May 17 12:43:06 rpmi: libbluez4-4.39-alt1 installed
<13>May 17 12:43:06 rpmi: bluez-4.39-alt1 installed
<13>May 17 12:43:06 rpmi: bluez-alsa-4.39-alt1 installed
$ hsh-run -- ldd -r /usr/lib64/alsa-lib/libasound_module_pcm_bluetooth.so
symbol snd_pcm_sw_params_get_start_threshold, version ALSA_0.9.0rc4 not defined in file libasound.so.2 with link time reference (/usr/lib64/alsa-lib/libasound_module_pcm_bluetooth.so)
        libasound.so.2 => /usr/lib64/libasound.so.2 (0x00002ae319e2c000)
        librt.so.1 => /lib64/librt.so.1 (0x00002ae31a110000)
        libc.so.6 => /lib64/libc.so.6 (0x00002ae31a318000)
        libm.so.6 => /lib64/libm.so.6 (0x00002ae31a665000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002ae31a8e7000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ae31aaeb000)
        /lib64/ld-linux-x86-64.so.2 (0x00002ae3199f9000)
$ 

Нужно сделать следующее:

1) Попытаться быстро понять, что именно изменилось в binutils (или где),
и какие пакеты пострадают в результате этих изменений.

2) Переделать проверку bad_elf_symbols, чтобы она дополнительно
проверяля совпадение интерфейсов, если у требуемого символа есть
требование на интерфейс.  Я уже очень давно собираюсь этим заняться,
но никак не могу понять, какой backend лучше всего использовать.

Грубо говоря, мне нужно сдампить секцию .dynsym со всякой дополнительной
информацией.  Точнее, к каждому символу мне нужно всего две информации.
Во-первых, является ли этот символ FUNC или OBJECT (то есть код или
данные), или же ни то ни другое (это будет ещё одна проверка, чтобы код
не разрешался в данные).  Во-вторых, есть ли у этого символа versioning.

Варианты backend'ов такие:
- objdump -T
- readelf --???
- преловая привязка к libelf

objdump -T дампит то что нужно, но у него запутанный вывод.

Для readelf я не понял как его попросить сдампить .dynsym.
Вывод readelf несколько проще.

Писать привязку к libelf -- это не настолько просто, как хотелось бы.

> эта проблема вплывала только при компиляции утилит bmovl-test и
> fastmemcpybench. пробовал добавить к сборочной команде эти библиотеки, но
> опять-таки на x86_64 -lSDL_image -ldl -lasound -lm почему-то раскрывалось
> в полные пути a-la /usr/lib64/libSDL_image.so.
> 
> потому я пока выключил сборку этих утилит.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17  6:12 ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Alexey Tourbin
  2009-05-17  7:30   ` Afanasov Dmitry
@ 2009-05-17 13:07   ` Dmitry V. Levin
  2009-05-17 13:27     ` Alexey Tourbin
  2009-05-17 13:28     ` Valery V. Inozemtsev
  2009-05-17 13:28   ` [devel] libalsa ABI breakage Dmitry V. Levin
  2009-05-17 14:07   ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Sergey Vlasov
  3 siblings, 2 replies; 30+ messages in thread
From: Dmitry V. Levin @ 2009-05-17 13:07 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2123 bytes --]

On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> > http://git.altlinux.org/tasks/6576/task/log
> > 
> > 2009-May-16 22:14:01 :: task #6576 for sisyphus started:
> > #1 build 1.0-alt35.29311.1 from /people/ender/packages/mplayer.git
> > 2009-May-16 22:14:05 :: created pkg.tar for mplayer.git tag 1.0-alt35.29311.1
> > 2009-May-16 22:14:06 :: [i586] mplayer.git 1.0-alt35.29311.1: build start
> > 2009-May-16 22:14:06 :: [x86_64] mplayer.git 1.0-alt35.29311.1: build start
> > TOOLS/bmovl-test.c:39: warning: ignoring return value of 'write', declared with attribute warn_unused_result
> > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_period_size_near@ALSA_0.9'
> > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_periods_near@ALSA_0.9'
> > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
> > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_get_channels@ALSA_0.9'
> > collect2: ld returned 1 exit status
> 
> После обновления libalsa что-то сломалось в symbol versioning.
> 
> [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
>    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ 
> 
> Похоже, что это связано не с изменениями в libalsa, а с изменениями
> в binutils.

У libalsa и раньше случались неприятности с symbol versioning, так что
надо сперва проверить предыдущую версию libalsa.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 13:07   ` Dmitry V. Levin
@ 2009-05-17 13:27     ` Alexey Tourbin
  2009-05-17 13:28     ` Valery V. Inozemtsev
  1 sibling, 0 replies; 30+ messages in thread
From: Alexey Tourbin @ 2009-05-17 13:27 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 4827 bytes --]

On Sun, May 17, 2009 at 05:07:52PM +0400, Dmitry V. Levin wrote:
> On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> > On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> > > http://git.altlinux.org/tasks/6576/task/log
> > > 
> > > 2009-May-16 22:14:01 :: task #6576 for sisyphus started:
> > > #1 build 1.0-alt35.29311.1 from /people/ender/packages/mplayer.git
> > > 2009-May-16 22:14:05 :: created pkg.tar for mplayer.git tag 1.0-alt35.29311.1
> > > 2009-May-16 22:14:06 :: [i586] mplayer.git 1.0-alt35.29311.1: build start
> > > 2009-May-16 22:14:06 :: [x86_64] mplayer.git 1.0-alt35.29311.1: build start
> > > TOOLS/bmovl-test.c:39: warning: ignoring return value of 'write', declared with attribute warn_unused_result
> > > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_period_size_near@ALSA_0.9'
> > > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_periods_near@ALSA_0.9'
> > > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
> > > /usr/lib64/libSDL-1.2.so.0: undefined reference to `snd_pcm_hw_params_get_channels@ALSA_0.9'
> > > collect2: ld returned 1 exit status
> > 
> > После обновления libalsa что-то сломалось в symbol versioning.
> > 
> > [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
> >    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ 
> > 
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> 
> У libalsa и раньше случались неприятности с symbol versioning, так что
> надо сперва проверить предыдущую версию libalsa.

Я немного проверил.  В libalsa не видно ничего такого, что должно
задевать ABI столь странным образом.  В частности, файл src/Versions.in
не изменился.

$ git clone git://git.altlinux.org/gears/l/libalsa.git
$ cd libalsa
$ git diff --stat 1.0.19-alt1..1.0.20-alt1
 .../tags/0f2005a18a1444d5ac93beac1581549bc9397007  |    8 +
 .../tags/b015ae2d51734e11d44d4f11f3d053a74f88041c  |    8 -
 .gear/tags/list                                    |    2 +-
 configure.in                                       |    4 +-
 include/sound/asound.h                             |    2 +-
 libalsa.spec                                       |    5 +-
 src/conf/cards/CMI8788.conf                        |   13 +-
 src/conf/cards/GUS.conf                            |   47 ----
 src/conf/cards/HDA-Intel.conf                      |    3 +
 src/control/control_ext.c                          |   18 ++-
 src/mixer/simple_none.c                            |    7 +
 src/pcm/pcm.c                                      |   58 +++--
 src/pcm/pcm_file.c                                 |  266 ++++++++++++++++----
 src/pcm/pcm_hw.c                                   |    4 +
 src/pcm/pcm_plug.c                                 |   35 ++-
 src/seq/seq.c                                      |   44 ++--
 src/seq/seqmid.c                                   |    4 +-
 17 files changed, 349 insertions(+), 179 deletions(-)
$

А результат сборки изменился очень странно.  Было
GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4

Стало
WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4

Заметь что дефолтного символа теперь нет, а тот который остался стал weak.
Там ещё много символов стало weak.

$ rpmsodiff /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm  /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm
        common sonames:
libasound.so.2  /usr/lib64/libasound.so.2.0.0   /usr/lib64/libasound.so.2.0.0
--- libalsa-1.0.19-alt1/libasound.so.2  2009-01-19 22:38:13 +0300
+++ libalsa-1.0.20-alt1/libasound.so.2  2009-05-15 15:31:37 +0400
@@ -243,4 +243,4 @@
 snd_ctl_elem_info_get_device   T
-snd_ctl_elem_info_get_dimension        T
-snd_ctl_elem_info_get_dimensions       T
+snd_ctl_elem_info_get_dimension        W
+snd_ctl_elem_info_get_dimensions       W
 snd_ctl_elem_info_get_id       T
@@ -760,3 +760,3 @@
 snd_pcm_format_width   T
-snd_pcm_forward        T
+snd_pcm_forward        W
 snd_pcm_forwardable    T
...

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 13:07   ` Dmitry V. Levin
  2009-05-17 13:27     ` Alexey Tourbin
@ 2009-05-17 13:28     ` Valery V. Inozemtsev
  1 sibling, 0 replies; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 13:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

[...]

> > 
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> 
> У libalsa и раньше случались неприятности с symbol versioning, так что
> надо сперва проверить предыдущую версию libalsa.

т.к.
$ git diff v1.0.19..v1.0.20 src/Versions.in
ничего не дает, то все же это не в libalsa

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17  6:12 ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Alexey Tourbin
  2009-05-17  7:30   ` Afanasov Dmitry
  2009-05-17 13:07   ` Dmitry V. Levin
@ 2009-05-17 13:28   ` Dmitry V. Levin
  2009-05-17 13:32     ` Dmitry V. Levin
  2009-05-17 13:33     ` Valery V. Inozemtsev
  2009-05-17 14:07   ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Sergey Vlasov
  3 siblings, 2 replies; 30+ messages in thread
From: Dmitry V. Levin @ 2009-05-17 13:28 UTC (permalink / raw)
  To: ALT Devel discussion list; +Cc: Valery V. Inozemtsev

[-- Attachment #1: Type: text/plain, Size: 1017 bytes --]

On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
[...]
> Похоже, что это связано не с изменениями в libalsa, а с изменениями
> в binutils.

Судя по ошибкам в /tasks/6474/build/1/*/log, сломалась проверка 
"checking for versioned symbols" (вероятно, из-за обновления libtool),
в результате у библиотеки сменился versioning, но мантейнер этого
просто не заметил.

В старом логе это выглядит так:
checking for versioned symbols... yes

В новом логе это выглядит так:
checking for versioned symbols... grep: libtool: No such file or directory
./configure: line 12212: test: too many arguments
./configure: line 12215: test: -gt: unary operator expected
broken libtool - use libtool v1.4+; no versions

Насколько я понимаю, после того, как сборка libalsa будет исправлена, и
зафиксенная libalsa попадёт в Сизиф, придётся пересобрать те пакеты,
которые уже успели собрать с кривособранной libalsa.

P.S. Валера, читай логи сборки своих пакетов внимательнее, пожалуйста.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 13:28   ` [devel] libalsa ABI breakage Dmitry V. Levin
@ 2009-05-17 13:32     ` Dmitry V. Levin
  2009-05-17 14:11       ` Valery V. Inozemtsev
  2009-05-17 13:33     ` Valery V. Inozemtsev
  1 sibling, 1 reply; 30+ messages in thread
From: Dmitry V. Levin @ 2009-05-17 13:32 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 937 bytes --]

On Sun, May 17, 2009 at 05:28:45PM +0400, Dmitry V. Levin wrote:
> On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> [...]
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> 
> Судя по ошибкам в /tasks/6474/build/1/*/log, сломалась проверка 
> "checking for versioned symbols" (вероятно, из-за обновления libtool),
> в результате у библиотеки сменился versioning, но мантейнер этого
> просто не заметил.
> 
> В старом логе это выглядит так:
> checking for versioned symbols... yes
> 
> В новом логе это выглядит так:
> checking for versioned symbols... grep: libtool: No such file or directory
> ./configure: line 12212: test: too many arguments
> ./configure: line 12215: test: -gt: unary operator expected
> broken libtool - use libtool v1.4+; no versions

Оно пытается узнать версию файла libtool, который на этой стадии сборки
ещё не создан.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 13:28   ` [devel] libalsa ABI breakage Dmitry V. Levin
  2009-05-17 13:32     ` Dmitry V. Levin
@ 2009-05-17 13:33     ` Valery V. Inozemtsev
  2009-05-24 10:32       ` Michael Shigorin
  1 sibling, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 13:33 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1594 bytes --]

В Вск, 17/05/2009 в 17:28 +0400, Dmitry V. Levin пишет:
> On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> [...]
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> 
> Судя по ошибкам в /tasks/6474/build/1/*/log, сломалась проверка 
> "checking for versioned symbols" (вероятно, из-за обновления libtool),
> в результате у библиотеки сменился versioning, но мантейнер этого
> просто не заметил.
> 
> В старом логе это выглядит так:
> checking for versioned symbols... yes
> 
> В новом логе это выглядит так:
> checking for versioned symbols... grep: libtool: No such file or directory
> ./configure: line 12212: test: too many arguments
> ./configure: line 12215: test: -gt: unary operator expected
> broken libtool - use libtool v1.4+; no versions
> 
> Насколько я понимаю, после того, как сборка libalsa будет исправлена, и
> зафиксенная libalsa попадёт в Сизиф, придётся пересобрать те пакеты,
> которые уже успели собрать с кривособранной libalsa.
> 
> P.S. Валера, читай логи сборки своих пакетов внимательнее, пожалуйста.

ага... я еще и виноват

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17  6:12 ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Alexey Tourbin
                     ` (2 preceding siblings ...)
  2009-05-17 13:28   ` [devel] libalsa ABI breakage Dmitry V. Levin
@ 2009-05-17 14:07   ` Sergey Vlasov
  2009-05-17 15:20     ` Sergey Vlasov
  3 siblings, 1 reply; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 14:07 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1254 bytes --]

On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> После обновления libalsa что-то сломалось в symbol versioning.
> 
> [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
>    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
>    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> [at@altair ~]$ 
> 
> Похоже, что это связано не с изменениями в libalsa, а с изменениями
> в binutils.

Скорее как раз в libalsa или libtool:

http://git.altlinux.org/tasks/6474/build/1/x86_64/log

checking for versioned symbols... grep: libtool: No such file or directory
./configure: line 12212: test: too many arguments
./configure: line 12215: test: -gt: unary operator expected
broken libtool - use libtool v1.4+; no versions

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 13:32     ` Dmitry V. Levin
@ 2009-05-17 14:11       ` Valery V. Inozemtsev
  2009-05-17 14:26         ` Dmitry V. Levin
  0 siblings, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 14:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

> > checking for versioned symbols... grep: libtool: No such file or directory
> > ./configure: line 12212: test: too many arguments
> > ./configure: line 12215: test: -gt: unary operator expected
> > broken libtool - use libtool v1.4+; no versions
> 
> Оно пытается узнать версию файла libtool, который на этой стадии сборки
> ещё не создан.

это я тоже заметил
task #6630 с исправленной 1.0.20-alt2
осталось выявить пострадавших

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 12:54     ` Alexey Tourbin
@ 2009-05-17 14:21       ` Afanasov Dmitry
  2009-05-17 14:26         ` Valery V. Inozemtsev
  0 siblings, 1 reply; 30+ messages in thread
From: Afanasov Dmitry @ 2009-05-17 14:21 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1718 bytes --]

On Sun, May 17, 2009 at 04:54:07PM +0400, Alexey Tourbin wrote:
> On Sun, May 17, 2009 at 11:30:51AM +0400, Afanasov Dmitry wrote:
> > On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> > > On Sat, May 16, 2009 at 10:34:22PM +0400, Girar Builder robot wrote:
> > > [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> > >    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
> > >    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > > [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> > >    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > > [at@altair ~]$ 
> > > 
> > > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > > в binutils.
> > причем:
> > 1. только на x86_64
> > 2. лечится добавлением -ldl -lasound -lm
> 
> Мне представляется, что проблема гораздо серьезнее, так что не надо её
> лечить "по месту".  Проблема состоит в том, что нарушается сопоставление
> между названиями ABI интерфейсов и входящими в них символами.  Такие
> нарушения сейчас в явном виде никак не отлавливаются, и это может очень
> плохо кончиться.
интересно, значит я правильно просто выключил сборку пострадавших утилит.

освежится alsa, или кто сломался, отправлю на пересборку, мне как раз с
yasm'ом новым собрать надо.
-- 
 С уважением
 Афанасов Дмитрий

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 14:21       ` Afanasov Dmitry
@ 2009-05-17 14:26         ` Valery V. Inozemtsev
  2009-05-17 15:16           ` Afanasov Dmitry
  0 siblings, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 14:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 273 bytes --]

[...]
> освежится alsa,

освежилась. цветет и пахнет

>  или кто сломался, отправлю на пересборку, мне как раз с
> yasm'ом новым собрать надо.

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 14:11       ` Valery V. Inozemtsev
@ 2009-05-17 14:26         ` Dmitry V. Levin
  2009-05-17 14:33           ` Valery V. Inozemtsev
  0 siblings, 1 reply; 30+ messages in thread
From: Dmitry V. Levin @ 2009-05-17 14:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 936 bytes --]

On Sun, May 17, 2009 at 06:11:09PM +0400, Valery V. Inozemtsev wrote:
> > > checking for versioned symbols... grep: libtool: No such file or directory
> > > ./configure: line 12212: test: too many arguments
> > > ./configure: line 12215: test: -gt: unary operator expected
> > > broken libtool - use libtool v1.4+; no versions
> > 
> > Оно пытается узнать версию файла libtool, который на этой стадии сборки
> > ещё не создан.
> 
> это я тоже заметил
> task #6630 с исправленной 1.0.20-alt2
> осталось выявить пострадавших

Слинкованные с libasound.so.2, собранные после libalsa-1.0.20-alt1.src.rpm:

May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
May 16 15:25 gimp-2.6.6-alt3.src.rpm
May 15 18:50 vice-2.1-alt2.src.rpm
May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 14:26         ` Dmitry V. Levin
@ 2009-05-17 14:33           ` Valery V. Inozemtsev
  2009-05-17 15:05             ` Alexey Tourbin
  0 siblings, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 14:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 689 bytes --]

> > task #6630 с исправленной 1.0.20-alt2
> > осталось выявить пострадавших
> 
> Слинкованные с libasound.so.2, собранные после libalsa-1.0.20-alt1.src.rpm:
> 
> May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> May 16 15:25 gimp-2.6.6-alt3.src.rpm
> May 15 18:50 vice-2.1-alt2.src.rpm
> May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm

3 последних работают. как проверить неработоспособность?

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 14:33           ` Valery V. Inozemtsev
@ 2009-05-17 15:05             ` Alexey Tourbin
  2009-05-17 15:08               ` Valery V. Inozemtsev
  2009-05-17 16:33               ` Sergey Vlasov
  0 siblings, 2 replies; 30+ messages in thread
From: Alexey Tourbin @ 2009-05-17 15:05 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 791 bytes --]

On Sun, May 17, 2009 at 06:33:43PM +0400, Valery V. Inozemtsev wrote:
> > > task #6630 с исправленной 1.0.20-alt2
> > > осталось выявить пострадавших
> > 
> > Слинкованные с libasound.so.2, собранные после libalsa-1.0.20-alt1.src.rpm:
> > 
> > May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> > May 16 15:25 gimp-2.6.6-alt3.src.rpm
> > May 15 18:50 vice-2.1-alt2.src.rpm
> > May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> > May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> > May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> > May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm
> 
> 3 последних работают. как проверить неработоспособность?

Если с новым (исправленным) пакетом libalsa команда 'ldd -r'
не ругается (на все файлы из этих пакетов), то в принципе можно
не пересобирать.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 15:05             ` Alexey Tourbin
@ 2009-05-17 15:08               ` Valery V. Inozemtsev
  2009-05-17 15:52                 ` Max Ivanov
  2009-05-17 16:33               ` Sergey Vlasov
  1 sibling, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 15:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]

В Вск, 17/05/2009 в 19:05 +0400, Alexey Tourbin пишет:
> On Sun, May 17, 2009 at 06:33:43PM +0400, Valery V. Inozemtsev wrote:
> > > > task #6630 с исправленной 1.0.20-alt2
> > > > осталось выявить пострадавших
> > > 
> > > Слинкованные с libasound.so.2, собранные после libalsa-1.0.20-alt1.src.rpm:
> > > 
> > > May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> > > May 16 15:25 gimp-2.6.6-alt3.src.rpm
> > > May 15 18:50 vice-2.1-alt2.src.rpm
> > > May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> > > May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> > > May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> > > May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm
> > 
> > 3 последних работают. как проверить неработоспособность?
> 
> Если с новым (исправленным) пакетом libalsa команда 'ldd -r'
> не ругается (на все файлы из этих пакетов), то в принципе можно
> не пересобирать.

нет, не ругается

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 14:26         ` Valery V. Inozemtsev
@ 2009-05-17 15:16           ` Afanasov Dmitry
  0 siblings, 0 replies; 30+ messages in thread
From: Afanasov Dmitry @ 2009-05-17 15:16 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

On Sun, May 17, 2009 at 06:26:13PM +0400, Valery V. Inozemtsev wrote:
> [...]
> > освежится alsa,
> 
> освежилась. цветет и пахнет
как жешь вы ж быстро ж жешь :)

понял, отправляю на пересборку.

-- 
 С уважением
 Афанасов Дмитрий

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 14:07   ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Sergey Vlasov
@ 2009-05-17 15:20     ` Sergey Vlasov
  2009-05-17 15:43       ` Valery V. Inozemtsev
  0 siblings, 1 reply; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 15:20 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 3998 bytes --]

On Sun, May 17, 2009 at 06:07:08PM +0400, Sergey Vlasov wrote:
> On Sun, May 17, 2009 at 10:12:09AM +0400, Alexey Tourbin wrote:
> > После обновления libalsa что-то сломалось в symbol versioning.
> > 
> > [at@altair ~]$ rpmpeek /ALT/archive/Sisyphus/2009/05/01/files/x86_64/RPMS/libalsa-1.0.19-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    231: 00000000000519d0    31 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@ALSA_0.9
> >    233: 00000000000519c0    15 FUNC    GLOBAL DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ rpmpeek /ALT/Sisyphus/files/x86_64/RPMS/libalsa-1.0.20-alt1.x86_64.rpm readelf -aW ./usr/lib64/libasound.so.2 |grep -w snd_pcm_hw_params_get_channels
> >    493: 0000000000051080    15 FUNC    WEAK   DEFAULT   12 snd_pcm_hw_params_get_channels@@ALSA_0.9.0rc4
> > [at@altair ~]$ 
> > 
> > Похоже, что это связано не с изменениями в libalsa, а с изменениями
> > в binutils.
> 
> Скорее как раз в libalsa или libtool:
> 
> http://git.altlinux.org/tasks/6474/build/1/x86_64/log
> 
> checking for versioned symbols... grep: libtool: No such file or directory
> ./configure: line 12212: test: too many arguments
> ./configure: line 12215: test: -gt: unary operator expected
> broken libtool - use libtool v1.4+; no versions

На самом деле там несколько ошибок, одна из которых (сломавшаяся
проверка версии libtool) вызвала проявление второй (неверная
информация в Versions.in).

Проверка в configure.in сейчас выглядит следующим образом:

dnl Check for versioned symbols
AC_MSG_CHECKING(for versioned symbols)
AC_ARG_WITH(versioned,
  AS_HELP_STRING([--with-versioned],
    [shared library will be compiled with versioned symbols (default = yes)]),
  versioned="$withval", versioned="yes")
if test "$versioned" = "yes"; then
  # it seems that GNU ld versions since 2.10 are not broken
  xres=$macro_version
  major=`echo $xres | cut -d . -f 1`
  minor=`echo $xres | cut -d . -f 2`
  pass=0
  if test $major -eq 1 -a $minor -gt 3; then
    pass=1
  else
    if test $major -gt 1; then
      pass=1
    fi
  fi
  if test $pass -eq 1; then
    AC_DEFINE(VERSIONED_SYMBOLS,,[compiled with versioned symbols])
    AC_MSG_RESULT(yes)
  else
    AC_MSG_RESULT(broken libtool - use libtool v1.4+; no versions)
  fi
else
  AC_MSG_RESULT(no)
fi
AM_CONDITIONAL(VERSIONED_SYMBOLS, test x$versioned = xyes)


(раньше xres=... был другой, там и происходили ошибки).  При этом,
если тест версии libtool не проходил, получалось, что
AC_DEFINE(VERSIONED_SYMBOLS) не определялся, но на
AM_CONDITIONAL(VERSIONED_SYMBOLS) это не влияло; в результате в
src/Makefile.am в любом случае ставилось
VSYMS = -Wl,--version-script=Versions

При отсутствии AC_DEFINE(VERSIONED_SYMBOLS) в коде libalsa версии
символов не назначаются при компиляции (см. include/alsa-symbols.h), в
этом случае для каждого символа может существовать только одна версия,
которая назначается в файле src/Versions.in при сборке разделяемой
библиотеки.  Однако для некоторых символов snd_pcm_sw_params_* (список
в src/pcm/pcm.c, для них используется макрос OBSOLETE1) в
src/Versions.in не прописана версия ALSA_0.9.0rc4, в результате при
такой сборке для них по умолчанию назначается версия ALSA_0.9, что
неправильно.  Других изменений в ABI существовавших ранее функций в
libalsa не было (только добавления новых функций), поэтому, если бы не
эта ошибка в Versions.in, сборка без поддержки symbol versioning никак
бы не проявилась (перестали бы работать только очень старые бинарники,
собранные с древними версиями libalsa до 0.9.0rc4).  В нормальной
ситуации эта ошибка не проявляется, поскольку версии назначаются при
компиляции через asm(".symver ...").

Пересобирать бинарники, собранные с неправильной версией libalsa,
необходимо, иначе при вызовах функций snd_pcm_sw_params_*, для которых
была установлена неправильная версия, они будут падать.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 15:20     ` Sergey Vlasov
@ 2009-05-17 15:43       ` Valery V. Inozemtsev
  2009-05-17 16:39         ` Sergey Vlasov
  0 siblings, 1 reply; 30+ messages in thread
From: Valery V. Inozemtsev @ 2009-05-17 15:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 731 bytes --]

[..]
> Пересобирать бинарники, собранные с неправильной версией libalsa,
> необходимо, иначе при вызовах функций snd_pcm_sw_params_*, для которых
> была установлена неправильная версия, они будут падать.

$ readelf -a /usr/bin/aplay | grep snd_pcm_info_get_name@
     3: 00000000     0 FUNC    GLOBAL DEFAULT  UND
snd_pcm_info_get_name@ALSA_0.9 (3)

$ readelf -a /usr/lib/libasound.so.2 | grep snd_pcm_info_get_name@
  1137: 00042e40    76 FUNC    GLOBAL DEFAULT   12
snd_pcm_info_get_name@@ALSA_0.9

как оно при этом работает?

-- 
Valery V. Inozemtsev

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 15:08               ` Valery V. Inozemtsev
@ 2009-05-17 15:52                 ` Max Ivanov
  2009-05-17 17:31                   ` Sergey Vlasov
  0 siblings, 1 reply; 30+ messages in thread
From: Max Ivanov @ 2009-05-17 15:52 UTC (permalink / raw)
  To: ALT Linux Team development discussions

еще timidity в список на пересборку занесите. С вновь приплывшей
libalsa не работает.

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 15:05             ` Alexey Tourbin
  2009-05-17 15:08               ` Valery V. Inozemtsev
@ 2009-05-17 16:33               ` Sergey Vlasov
  2009-05-17 16:47                 ` Alexey Tourbin
  1 sibling, 1 reply; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 16:33 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]

On Sun, May 17, 2009 at 07:05:16PM +0400, Alexey Tourbin wrote:
> On Sun, May 17, 2009 at 06:33:43PM +0400, Valery V. Inozemtsev wrote:
> > > > task #6630 с исправленной 1.0.20-alt2
> > > > осталось выявить пострадавших
> > > 
> > > Слинкованные с libasound.so.2, собранные после libalsa-1.0.20-alt1.src.rpm:
> > > 
> > > May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> > > May 16 15:25 gimp-2.6.6-alt3.src.rpm
> > > May 15 18:50 vice-2.1-alt2.src.rpm
> > > May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> > > May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> > > May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> > > May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm
> > 
> > 3 последних работают. как проверить неработоспособность?
> 
> Если с новым (исправленным) пакетом libalsa команда 'ldd -r'
> не ругается (на все файлы из этих пакетов), то в принципе можно
> не пересобирать.

В данном случае это не показатель - для некоторых символов назначалась
неверная, но при этом существующая, версия, в результате ldd -r
ругаться не будет, но при выполнении будет вызываться функция со
старым ABI.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1)
  2009-05-17 15:43       ` Valery V. Inozemtsev
@ 2009-05-17 16:39         ` Sergey Vlasov
  0 siblings, 0 replies; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 16:39 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1084 bytes --]

On Sun, May 17, 2009 at 07:43:41PM +0400, Valery V. Inozemtsev wrote:
> [..]
> > Пересобирать бинарники, собранные с неправильной версией libalsa,
> > необходимо, иначе при вызовах функций snd_pcm_sw_params_*, для которых
> > была установлена неправильная версия, они будут падать.
> 
> $ readelf -a /usr/bin/aplay | grep snd_pcm_info_get_name@
>      3: 00000000     0 FUNC    GLOBAL DEFAULT  UND
> snd_pcm_info_get_name@ALSA_0.9 (3)
> 
> $ readelf -a /usr/lib/libasound.so.2 | grep snd_pcm_info_get_name@
>   1137: 00042e40    76 FUNC    GLOBAL DEFAULT   12
> snd_pcm_info_get_name@@ALSA_0.9
> 
> как оно при этом работает?

Тут как раз всё правильно. "@@" обозначает версию, используемую по
умолчанию при сборке с этой библиотекой; у snd_pcm_info_get_name
только одна реализация, с которой проблем вроде бы нет.

Сравнивать в данном случае нужно вывод

  readelf -s $FILE | sed -ne '4,$p' | grep -v UNDEF | cut -c32- | LC_ALL=C sort -k5

для старой и новой libasound.so.2; различия GLOBAL/WEAK при этом не
особо важны, а вот изменение версий существенно.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 16:33               ` Sergey Vlasov
@ 2009-05-17 16:47                 ` Alexey Tourbin
  2009-05-17 17:22                   ` Sergey Vlasov
  0 siblings, 1 reply; 30+ messages in thread
From: Alexey Tourbin @ 2009-05-17 16:47 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1002 bytes --]

On Sun, May 17, 2009 at 08:33:04PM +0400, Sergey Vlasov wrote:
> > > > May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> > > > May 16 15:25 gimp-2.6.6-alt3.src.rpm
> > > > May 15 18:50 vice-2.1-alt2.src.rpm
> > > > May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> > > > May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> > > > May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> > > > May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm
> > > 
> > > 3 последних работают. как проверить неработоспособность?
> > 
> > Если с новым (исправленным) пакетом libalsa команда 'ldd -r'
> > не ругается (на все файлы из этих пакетов), то в принципе можно
> > не пересобирать.
> 
> В данном случае это не показатель - для некоторых символов назначалась
> неверная, но при этом существующая, версия, в результате ldd -r
> ругаться не будет, но при выполнении будет вызываться функция со
> старым ABI.

Увы.  А что значит "неверная"?  Там разные прототипы у реализаций или
в чем ещё несовместимость заключается?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 16:47                 ` Alexey Tourbin
@ 2009-05-17 17:22                   ` Sergey Vlasov
  2009-05-18  0:25                     ` Dmitry V. Levin
  0 siblings, 1 reply; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 17:22 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1892 bytes --]

On Sun, May 17, 2009 at 08:47:46PM +0400, Alexey Tourbin wrote:
> On Sun, May 17, 2009 at 08:33:04PM +0400, Sergey Vlasov wrote:
> > > > > May 17 03:22 mplayer-1.0-alt35.29311.1.src.rpm
> > > > > May 16 15:25 gimp-2.6.6-alt3.src.rpm
> > > > > May 15 18:50 vice-2.1-alt2.src.rpm
> > > > > May 15 17:52 qmmp-0.3.0-alt0.1.svn949.src.rpm
> > > > > May 15 15:39 alsa-tools-1.0.20-alt1.src.rpm
> > > > > May 15 15:32 alsa-utils-1.0.20-alt1.src.rpm
> > > > > May 15 15:32 alsa-plugins-1.0.20-alt1.src.rpm
> > > > 
> > > > 3 последних работают. как проверить неработоспособность?
> > > 
> > > Если с новым (исправленным) пакетом libalsa команда 'ldd -r'
> > > не ругается (на все файлы из этих пакетов), то в принципе можно
> > > не пересобирать.
> > 
> > В данном случае это не показатель - для некоторых символов назначалась
> > неверная, но при этом существующая, версия, в результате ldd -r
> > ругаться не будет, но при выполнении будет вызываться функция со
> > старым ABI.
> 
> Увы.  А что значит "неверная"?  Там разные прототипы у реализаций или
> в чем ещё несовместимость заключается?

Разные прототипы (в основном переход на передачу значения по
указателю, а сама функция возвращает код ошибки - в первоначальном
варианте не было возможности вернуть этот код).

Старый вариант:

snd_pcm_tstamp_t snd_pcm_sw_params_get_tstamp_mode(const snd_pcm_sw_params_t *params);

Новый вариант:

int snd_pcm_sw_params_get_tstamp_mode(const snd_pcm_sw_params_t *params, snd_pcm_tstamp_t *val);

(это как раз одна из сломанных функций).

Кстати, нашёл там ещё одну опечатку - в include/pcm_old.h:

asm(".symver snd_pcm_sw_params_get_stop_threshold,snd_pcm_sw_params_set_stop_threshold@ALSA_0.9");

(этот кусок используется только в #ifdef ALSA_PCM_OLD_SW_PARAMS_API -
т.е., при сборке программ, которые так и не были переведены на
использование нового API).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 15:52                 ` Max Ivanov
@ 2009-05-17 17:31                   ` Sergey Vlasov
  2009-05-24 10:30                     ` Michael Shigorin
  0 siblings, 1 reply; 30+ messages in thread
From: Sergey Vlasov @ 2009-05-17 17:31 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 457 bytes --]

On Sun, May 17, 2009 at 07:52:04PM +0400, Max Ivanov wrote:
> еще timidity в список на пересборку занесите. С вновь приплывшей
> libalsa не работает.

libalsa-1.0.20-alt1 - это как раз сломанная.  А TiMidity++ до сих пор
использует #define ALSA_PCM_OLD_HW_PARAMS_API; #define
ALSA_PCM_OLD_SW_PARAMS_API - вот эти старые функции и отвалились в той
сборке libalsa (а пересборка TiMidity++ со сломанной таким образом
libalsa вообще не должна пройти).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 17:22                   ` Sergey Vlasov
@ 2009-05-18  0:25                     ` Dmitry V. Levin
  0 siblings, 0 replies; 30+ messages in thread
From: Dmitry V. Levin @ 2009-05-18  0:25 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 540 bytes --]

On Sun, May 17, 2009 at 09:22:35PM +0400, Sergey Vlasov wrote:
[...]
> Кстати, нашёл там ещё одну опечатку - в include/pcm_old.h:
> 
> asm(".symver snd_pcm_sw_params_get_stop_threshold,snd_pcm_sw_params_set_stop_threshold@ALSA_0.9");

При вызове "set" будет вызван "get"?  Чем ты находишь такие опечатки?

> (этот кусок используется только в #ifdef ALSA_PCM_OLD_SW_PARAMS_API -
> т.е., при сборке программ, которые так и не были переведены на
> использование нового API).

Может быть, ещё не поздно исправить? :)


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 17:31                   ` Sergey Vlasov
@ 2009-05-24 10:30                     ` Michael Shigorin
  0 siblings, 0 replies; 30+ messages in thread
From: Michael Shigorin @ 2009-05-24 10:30 UTC (permalink / raw)
  To: devel

On Sun, May 17, 2009 at 09:31:22PM +0400, Sergey Vlasov wrote:
> > еще timidity в список на пересборку занесите. С вновь
> > приплывшей libalsa не работает.
> libalsa-1.0.20-alt1 - это как раз сломанная.  А TiMidity++ до
> сих пор использует #define ALSA_PCM_OLD_HW_PARAMS_API; #define
> ALSA_PCM_OLD_SW_PARAMS_API - вот эти старые функции и
> отвалились в той сборке libalsa (а пересборка TiMidity++ со
> сломанной таким образом libalsa вообще не должна пройти).

TiMidity++ отдам в хорошие руки -- давненько не пользовался,
хотя рассылку пользовательскую и сейчас порой читаю.

vice проверил -- по крайней мере не упал:

Sound: Opened device `alsa', speed 22050Hz, fragment size 21ms, buffer size 170ms
reSID: MOS6581, filter on, sampling rate 22050Hz - fast
Drive 8: RESET.
Sound: Warning - Buffer drained
Sound: Warning - Buffer drained

Exiting...
Sound: Closing device `alsa'

на всякий отправил пересобраться.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-17 13:33     ` Valery V. Inozemtsev
@ 2009-05-24 10:32       ` Michael Shigorin
  2009-05-24 12:17         ` Damir Shayhutdinov
  0 siblings, 1 reply; 30+ messages in thread
From: Michael Shigorin @ 2009-05-24 10:32 UTC (permalink / raw)
  To: ALT Devel discussion list

On Sun, May 17, 2009 at 05:33:39PM +0400, Valery V. Inozemtsev wrote:
> > В новом логе это выглядит так:
> > checking for versioned symbols... grep: libtool: No such file or directory
[...]
> > P.S. Валера, читай логи сборки своих пакетов внимательнее, пожалуйста.
> ага... я еще и виноват

Не знаю, кто виноват, но я бы тоже не заметил.

Можно ли что-либо предпринять для автоматизации чтения логов
на предмет типичных ошибок?  Придумали же logwatch :)

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [devel] libalsa ABI breakage
  2009-05-24 10:32       ` Michael Shigorin
@ 2009-05-24 12:17         ` Damir Shayhutdinov
  0 siblings, 0 replies; 30+ messages in thread
From: Damir Shayhutdinov @ 2009-05-24 12:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> Не знаю, кто виноват, но я бы тоже не заметил.
>
> Можно ли что-либо предпринять для автоматизации чтения логов
> на предмет типичных ошибок?  Придумали же logwatch :)

Наверное нужны diff-ы логов, особенно интересуют диффы вывода ./configure

Я бы не отказался от того, что при прохождении свежего пакета в Сизиф
мне бы на почту скидывался diff процесса сборки между новой версией и
старой.

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2009-05-24 12:17 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-17  6:12 ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Alexey Tourbin
2009-05-17  7:30   ` Afanasov Dmitry
2009-05-17 12:54     ` Alexey Tourbin
2009-05-17 14:21       ` Afanasov Dmitry
2009-05-17 14:26         ` Valery V. Inozemtsev
2009-05-17 15:16           ` Afanasov Dmitry
2009-05-17 13:07   ` Dmitry V. Levin
2009-05-17 13:27     ` Alexey Tourbin
2009-05-17 13:28     ` Valery V. Inozemtsev
2009-05-17 13:28   ` [devel] libalsa ABI breakage Dmitry V. Levin
2009-05-17 13:32     ` Dmitry V. Levin
2009-05-17 14:11       ` Valery V. Inozemtsev
2009-05-17 14:26         ` Dmitry V. Levin
2009-05-17 14:33           ` Valery V. Inozemtsev
2009-05-17 15:05             ` Alexey Tourbin
2009-05-17 15:08               ` Valery V. Inozemtsev
2009-05-17 15:52                 ` Max Ivanov
2009-05-17 17:31                   ` Sergey Vlasov
2009-05-24 10:30                     ` Michael Shigorin
2009-05-17 16:33               ` Sergey Vlasov
2009-05-17 16:47                 ` Alexey Tourbin
2009-05-17 17:22                   ` Sergey Vlasov
2009-05-18  0:25                     ` Dmitry V. Levin
2009-05-17 13:33     ` Valery V. Inozemtsev
2009-05-24 10:32       ` Michael Shigorin
2009-05-24 12:17         ` Damir Shayhutdinov
2009-05-17 14:07   ` [devel] libalsa (FAILED mplayer.git=1.0-alt35.29311.1) Sergey Vlasov
2009-05-17 15:20     ` Sergey Vlasov
2009-05-17 15:43       ` Valery V. Inozemtsev
2009-05-17 16:39         ` Sergey Vlasov

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