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).