Bug 22077 - a library version used depends on whether libssl-devel is installed
Summary: a library version used depends on whether libssl-devel is installed
Status: CLOSED NOTABUG
Alias: None
Product: Branch 5.1
Classification: Distributions
Component: kdebase-konqueror (show other bugs)
Version: unspecified
Hardware: all Linux
: P3 normal
Assignee: Sergey V Turchin
QA Contact: QA 5.1
URL:
Keywords:
: 22110 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-26 22:59 MSK by Ivan Zakharyaschev
Modified: 2011-08-04 19:12 MSK (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2009-10-26 22:59:58 MSK
kdebase-konqueror-3.5.10-alt10

Look at two cases: with libssl-devel-0.9.8d-alt4 installed and without:

1) 

$ konqueror https://bugzilla.altlinux.org/ 
kbuildsycoca running...
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms_conf
kioslave: ####### CRASH ###### protocol = https pid = 10428 signal = 11

Let's examine /usr/lib/libcrypto.so, which is obviously used (follows from these error messages):

$ rpm -qf /usr/lib/libcrypto.so
libssl-devel-0.9.8d-alt4
$ readlink /usr/lib/libcrypto.so
../../lib/libcrypto.so.6
$ rpm -qf /usr/lib/../../lib/libcrypto.so.6
libssl6-0.9.8d-alt4
$ 

So, in this case libcrypto.so.6 from libssl6-0.9.8d-alt4 is ultimately used.

2) After removing libssl-devel-0.9.8d-alt4:

$ rpm -qa 'libssl*'
libssl7-0.9.8h-alt3
libssl6-0.9.8d-alt4
libssl4-0.9.7g-alt6
$ konqueror https://bugzilla.altlinux.org/ 
kbuildsycoca running...
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf


Obviously, now libcrypto.so.0.9.8h from libssl7-0.9.8h-alt3 is used:

$ rpm -qf /lib/libcrypto.so.0.9.8h
libssl7-0.9.8h-alt3
$ 

Isn't it an unexpected and bad thing -- that the behavior (the library used) of an end-user's program depends on whether a developer's package (libssl-devel) is installed?

$ rpm -qa 'kde*' | fgrep -v kde4
kdebase-konqueror-3.5.10-alt10
kdebase-common-3.5.10-alt10
kdepim-libs-3.5.10-alt2
kdemultimedia-libs-3.5.10-alt3
kde-settings-3.5.8-alt4
kdebase-wm-3.5.10-alt10
kde-common-4.2.4-alt3.M50.1
kdemultimedia-common-3.5.10-alt3
kdeaddons-common-3.5.10-alt1
kdelibs-3.5.10-alt3
kdebase-libkonq-3.5.10-alt10
kdeutils-laptop-3.5.10-alt3
kdebase-libs-3.5.10-alt10
kdepim-common-3.5.10-alt2
kdeutils-ksim-3.5.10-alt3
kdeutils-kcalc-3.5.10-alt3
kdeutils-common-3.5.10-alt3
$
Comment 1 Ivan Zakharyaschev 2009-10-26 23:04:29 MSK
(In reply to comment #0)

BTW, I haven't yet understood whose undefined symbols these undefined symbols are (konqueror's or libssl's) and whether they are worth reporting as a separate bug.

> $ konqueror https://bugzilla.altlinux.org/ 
> kbuildsycoca running...
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: PKCS7_content_free
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OPENSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms_conf
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: PKCS7_content_free
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OPENSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms_conf
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: PKCS7_content_free
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OPENSSL_add_all_algorithms
> kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> symbol: OpenSSL_add_all_algorithms_conf
> kioslave: ####### CRASH ###### protocol = https pid = 10428 signal = 11
Comment 2 Ivan Zakharyaschev 2009-10-26 23:10:36 MSK
(In reply to comment #1)
> (In reply to comment #0)
> 
> BTW, I haven't yet understood whose undefined symbols these undefined symbols
> are (konqueror's or libssl's) and whether they are worth reporting as a
> separate bug.

Here is some discussion of similar warnings: https://bugs.kde.org/show_bug.cgi?id=55102 .

> 
> > $ konqueror https://bugzilla.altlinux.org/ 
> > kbuildsycoca running...
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: PKCS7_content_free
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OPENSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms_conf
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: PKCS7_content_free
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OPENSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms_conf
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: PKCS7_content_free
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OPENSSL_add_all_algorithms
> > kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined
> > symbol: OpenSSL_add_all_algorithms_conf
> > kioslave: ####### CRASH ###### protocol = https pid = 10428 signal = 11
Comment 3 Sergey V Turchin 2009-10-27 15:24:00 MSK
> undefined symbol
это нормально

P.S.
На "5.0 Branch" вешать что-то на мои пакеты не имеет смысла.
Обновляйтесь до P5
Comment 4 Ivan Zakharyaschev 2009-10-29 19:04:36 MSK
(В ответ на комментарий №3)
> > undefined symbol
> это нормально

Хорошо, спасибо за ответ. По моему опыту тоже: важно только чтобы libssl была не совсем старая, и тогда оно вроде работает несмотря на на эти undefined symbols.

> 
> P.S.
> На "5.0 Branch" вешать что-то на мои пакеты не имеет смысла.
> Обновляйтесь до P5

Ok, обновился в том, что касается kdebase-konqueror, до p5. Проблема осталась: суть моего замечания в том, что наличие (левой) libssl-devel влияет на то, какая библиотека используется в konqueror, пользовательской программе. После обновления всё так же:

[ivan@dell ~]$ /usr/bin/konqueror https://ihelper.mts.ru/selfcare/
kbuildsycoca running...
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /lib/libcrypto.so.0.9.8h: undefined symbol: OpenSSL_add_all_algorithms_conf
[ivan@dell ~]$ rpm -qf /lib/libcrypto.so.0.9.8h 
libssl7-0.9.8h-alt3
[ivan@dell ~]$ sudo rpm -Uhv /var/cache/apt/archives/libssl-devel_0.9.8d-alt4_i586.rpm 
Preparing...                                                     ####################################################################################################
libssl-devel                                                     ####################################################################################################
Running /usr/lib/rpm/posttrans-filetriggers
[ivan@dell ~]$ /usr/bin/konqueror https://ihelper.mts.ru/selfcare/
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: PKCS7_content_free
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OPENSSL_add_all_algorithms
kdecore (KLibLoader): WARNING: KLibrary: /usr/lib/libcrypto.so: undefined symbol: OpenSSL_add_all_algorithms_conf
kioslave: ####### CRASH ###### protocol = https pid = 14661 signal = 11
[ivan@dell ~]$ rpm -qf /usr/lib/libcrypto.soDCOP Cleaning up dead connections.

libssl-devel-0.9.8d-alt4
[ivan@dell ~]$ 

Использование не той libssl приводит к неприятным последствиям:
https://bugzilla.altlinux.org/show_bug.cgi?id=22110 .
Comment 5 Ivan Zakharyaschev 2009-10-29 19:06:58 MSK
*** Bug 22110 has been marked as a duplicate of this bug. ***
Comment 6 Sergey V Turchin 2009-10-29 19:09:18 MSK
(В ответ на комментарий №4)
> Использование не той libssl
Это исправлю
Comment 7 Sergey V Turchin 2009-10-30 19:11:58 MSK
У вас что-то с настройками. Возможно, путь поиска libssl не "/lib/" в kcontrol
Comment 8 Ivan Zakharyaschev 2011-08-04 17:43:22 MSK
(In reply to comment #7)
> У вас что-то с настройками. Возможно, путь поиска libssl не "/lib/" в kcontrol

kcontrol у меня вообще не стоял. Сейчас поставлю посмотрю, что там за путь.
Comment 9 Ivan Zakharyaschev 2011-08-04 17:49:43 MSK
Воспроизводится на текущем kdebase-konqueror-3.5.10-alt20.M51.2 из p5; на последней версии из Сизифа не проверял. (В kcontrol ещё не посмотрел.)
Comment 10 Ivan Zakharyaschev 2011-08-04 18:20:52 MSK
(In reply to comment #7)
> У вас что-то с настройками. Возможно, путь поиска libssl не "/lib/" в kcontrol

Спасибо за ответ! Действительно, что-то не так с настройками у этого пользователя, потому что под другим пользователям выбирается библиотека по правильному пути (/lib/libcrypto.so.0.9.8h), а не .so из -devel-пакета...

Какая настройка может быть испорчена, я пока не понял (в kcontrol ничего такого не нашёл). Возможно, удалю просто ~/.kde/ .
Comment 11 Ivan Zakharyaschev 2011-08-04 19:12:35 MSK
(In reply to comment #10)
> (In reply to comment #7)
> > У вас что-то с настройками. Возможно, путь поиска libssl не "/lib/" в kcontrol

> не нашёл). Возможно, удалю просто ~/.kde/ .

После удаления ~/.kde/ этой проблемы нет.

Возврат обратно старых ~/.kde/share/apps/ и ~/.kde/share/config/konq* и ~/.kde/share/config/amarokrc не влияет на правильный поиск библиотеки, а вот возврат всего ~/.kde/share/config/ опять приводит к старому неправильному поведению. На этом, я думаю, я закончу своё расследование причин.