Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 341661 - Openssl problem shared library duplicate
Summary: Openssl problem shared library duplicate
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-18 17:05 UTC by Przemysław Borkowski
Modified: 2010-10-24 09:13 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Przemysław Borkowski 2010-10-18 17:05:25 UTC
I don't know it's only libssl or libcrypto problem. I have system with openssl < 1.0.0 and I updated it to 1.0.0a, every program works normally because libssl.so.0.9.8 was still in /usr/lib, I ignored notice about revdep-rebuild against those two libraries. One day I noticed that after next rebuild of php (amd64 and i686 hardened gentoo) I have Segfault when I type php from console, after investigation I found that problem was php binary itself because when i tried
# ldd /usr/bin/php my output was:
	linux-vdso.so.1 =>  (0x00007fff457ff000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x000000300e800000)
	libsqlite.so.0 => /usr//lib/libsqlite.so.0 (0x0000003063400000)
	libreadline.so.6 => /lib/libreadline.so.6 (0x000000301da00000)
	libncurses.so.5 => /lib/libncurses.so.5 (0x0000003011800000)
	libpanel.so.5 => /usr//lib/libpanel.so.5 (0x0000003052c00000)
	libm.so.6 => /lib/libm.so.6 (0x0000003001c00000)
	libz.so.1 => /lib/libz.so.1 (0x0000003002800000)
	libssl.so.1.0.0 => /usr//lib/libssl.so.1.0.0 (0x00007faba1e2b000)
	libcrypto.so.1.0.0 => /usr//lib/libcrypto.so.1.0.0 (0x00007faba1a84000)
	libmcrypt.so.4 => /usr//lib/libmcrypt.so.4 (0x00007faba1852000)
	libdl.so.2 => /lib/libdl.so.2 (0x0000003002000000)
	libpng14.so.14 => /usr//lib/libpng14.so.14 (0x0000003007000000)
	libjpeg.so.8 => /usr//lib/libjpeg.so.8 (0x00007faba1617000)
	libdb-4.8.so => /usr//lib/libdb-4.8.so (0x0000003027000000)
	libgdbm.so.3 => /usr//lib/libgdbm.so.3 (0x000000302a400000)
	libbz2.so.1 => /lib/libbz2.so.1 (0x00007faba1406000)
	libpcre.so.0 => /lib/libpcre.so.0 (0x0000003018e00000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x0000003005400000)
	libmysqlclient_r.so.16 => /usr/lib64/mysql/libmysqlclient_r.so.16 (0x00007faba1080000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x0000003002400000)
	libxml2.so.2 => /usr//lib/libxml2.so.2 (0x0000003011c00000)
	libc.so.6 => /lib/libc.so.6 (0x0000003001800000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003000000000)
	libssl.so.0.9.8 => /usr//lib/libssl.so.0.9.8 (0x00007faba1e2b000)
	libcrypto.so.0.9.8 => /usr//lib/libcrypto.so.0.9.8 (0x00007faba1a84000)

So there are duplicated entries for one binary and two libraries
	libssl.so.0.9.8 => /usr//lib/libssl.so.0.9.8 (0x00007faba1e2b000)
	libcrypto.so.0.9.8 => /usr//lib/libcrypto.so.0.9.8 (0x00007faba1a84000)
	libssl.so.1.0.0 => /usr//lib/libssl.so.1.0.0 (0x00007faba1e2b000)
	libcrypto.so.1.0.0 => /usr//lib/libcrypto.so.1.0.0 (0x00007faba1a84000)

Library adresses for duplicates were different it's copy and paste because I needed to repair problem now. When I tried to recomplie php with simply emerge php still both libraries remain in ldd output. After rebuilding all other programs dependent on openssl-0.9.8 and unmerge php and merge it in problem was solved. On other system with gui problem was with mysql-workbench too.

Reproducible: Sometimes

Steps to Reproduce:
1. Build system with openssl-0.9.8
2. update system to openssl-1.0.0a
3. ignore notice about revdep-rebuild --library 
4. rebuild some applications such php or mysql-workbench which are using openssl
4. sometimes it links against two versions of openssl libraries and crashes at startup

Actual Results:  
sometimes it links against two versions of openssl libraries and crashes at startup

Expected Results:  
link against newest openssl library only
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2010-10-19 14:20:22 UTC
Packages link to where libssl.so and libcrypto.so are symlink to, which is 1.0.0a when it's installed. And you need to run the postinst message's revdep-rebuild to accomplish this.

NOTABUG
Comment 2 Przemysław Borkowski 2010-10-24 09:13:36 UTC
I did it... didn't help at first time... when I rebuild all other packages and removed libssl.0.9.8 and libcrypto.0.9.8 and then recompiled again php and mysql-workbench it worked