Bug 18654

Summary: not strict enough formal deps on libgcrypt: symbol gcry_cipher_setkey, version GCRYPT_1.2 not defined in file libgcrypt.so.11 with link time reference
Product: Branch 5.0 Reporter: Ivan Zakharyaschev <imz>
Component: libgnutls26Assignee: Afanasov Dmitry <ender>
Status: CLOSED FIXED QA Contact: qa-5.0 <qa-5.0>
Severity: normal    
Priority: P2 CC: zerg
Version: unspecified   
Hardware: all   
OS: Linux   
Bug Depends on: 15079    
Bug Blocks: 18702    

Description Ivan Zakharyaschev 2009-01-26 18:41:35 MSK
libgnutls26-2.6.2-alt2

I have an old libgcrypt installed in my system: 
$ rpm -qf /usr/lib/libgcrypt.so.11
libgcrypt-1.2.4-alt1
$ 

and libgnutls26 allows this in its formal deps (APT sees no problem), but in practice, there is a problem:

$ ldd -r /usr/lib/libgnutls.so.26
symbol gcry_cipher_setkey, version GCRYPT_1.2 not defined in file libgcrypt.so.11 with link time reference	(/usr/lib/libgnutls.so.26)
symbol gcry_cipher_setiv, version GCRYPT_1.2 not defined in file libgcrypt.so.11 with link time reference	(/usr/lib/libgnutls.so.26)
	linux-gate.so.1 =>  (0xb7fe2000)
	libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb7f0b000)
	libz.so.1 => /lib/libz.so.1 (0xb7ef7000)
	libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb7ea6000)
	libc.so.6 => /lib/libc.so.6 (0xb7d55000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb7d50000)
	/lib/ld-linux.so.2 (0x80000000)
$ 

and this causes some crashes, for example:

$ kazehakase 
...
/usr/bin/kazehakase: relocation error: /usr/lib/libgnutls.so.26: symbol gcry_cipher_setkey, version GCRYPT_1.2 not defined in file libgcrypt.so.11 with link time reference
$ 

Probably, it's because of a too old libgcrypt.

Please add a stricter requirement on the new libgcrypt to the package, so that "apt-get install" knows it should update that library, too.
Comment 1 Afanasov Dmitry 2009-01-27 09:56:55 MSK
хмм, обычно это исправляется через version-script. одна проблема - version-script надо делать для libgcrypt, и под новый релиз libgcrypt пересобрать gnutls.

zerg@?

а пока временно могу проставить прямое Reauires: libgcrypt >= 1.4.3-alt1
Comment 2 Sergey V Turchin 2009-01-27 11:57:21 MSK
(В ответ на комментарий №1)
> а пока временно могу проставить прямое Reauires: libgcrypt >= 1.4.3-alt1
Можно пока
Reauires: libgcrypt >= %{get_version libgcrypt}
Comment 3 Sergey V Turchin 2009-01-27 12:04:54 MSK
(В ответ на комментарий №1)
> хмм, обычно это исправляется через version-script.
Не поможет. Символ gcry_cipher_setkey исчез.

> одна проблема -
> version-script надо делать для libgcrypt
Он есть там.
Comment 4 Afanasov Dmitry 2009-01-27 13:00:36 MSK
2.6.3-alt2 улетел в сизиф. под 5.0 пересоберу чуток попозже.
Comment 5 Afanasov Dmitry 2009-01-28 16:12:39 MSK
git.alt отчитался, что в 5.0 2.6.3-alt2 принят.
недельку подожду, потом закрою, если вопросов не будет.
Comment 6 Ivan Zakharyaschev 2009-01-28 19:53:08 MSK
(In reply to comment #3)
> (В ответ на комментарий №1)
> > хмм, обычно это исправляется через version-script.
> Не поможет. Символ gcry_cipher_setkey исчез.

Тогда должен поменяться soname? (Записал в https://bugzilla.altlinux.org/show_bug.cgi?id=18686 .)
Comment 7 Ivan Zakharyaschev 2009-01-30 17:15:35 MSK
(In reply to comment #5)
> git.alt отчитался, что в 5.0 2.6.3-alt2 принят.
> недельку подожду, потом закрою, если вопросов не будет.

Спасибо!  libgnutls26-2.6.3-alt2 вытащил новое libgcrypt. (И kazehakase больше не падает.)