Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 697044

Summary: dev-db/mariadb-connector-c - !!! existing preserved libs: /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libssl.so.1.0.0 used by /usr/lib64/libmariadb.so.3
Product: Gentoo Linux Reporter: Simon Levermann (sonOfRa) <simon-bgo>
Component: Current packagesAssignee: Gentoo Linux MySQL bugs team <mysql-bugs>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info dev-db/mariadb-connector-c

Description Simon Levermann (sonOfRa) 2019-10-09 06:52:55 UTC
After upgrading openssl from 1.0 to 1.1.1 (recently stabilized),
mariadb-connector-c-3.0.6-r1 left behind some libraries depending on the old openssl version:



Reproducible: Always

Steps to Reproduce:
1. Install mariadb-connector-c
2. Upgrade openssl from 1.0 to 1.1.1
Actual Results:  
!!! existing preserved libs:
>>> package: dev-libs/openssl-1.1.1d-r2
 *  - /usr/lib64/libcrypto.so.1.0.0
 *      used by /usr/lib64/libmariadb.so.3 (dev-db/mariadb-connector-c-3.0.6-r1)
 *      used by /usr/lib64/mariadb/plugin/sha256_password.so (dev-db/mariadb-connector-c-3.0.6-r1)
 *  - /usr/lib64/libssl.so.1.0.0
 *      used by /usr/lib64/libmariadb.so.3 (dev-db/mariadb-connector-c-3.0.6-r1)
Use emerge @preserved-rebuild to rebuild packages using these libraries


Expected Results:  
mariadb-connector-c should have been rebuilt in the world update that also rebuilt openssl
Comment 1 Thomas Deutschmann (RETIRED) gentoo-dev 2019-10-09 13:07:50 UTC
Can you show us `emerge --info dev-db/mariadb-connector-c` output? 

We are already subscribed to dev-libs/openssl subslot...

> ssl? (
> 	gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] )
> 	!gnutls? (
> 		libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
> 		!libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] )
> 	)
> )

So you either didn't use USE=ssl and we have an automagic problem, you have installed this package manually (i.e. `emerge -1...`) which will make emerge skip this package for auto-rebuild or something else.
Comment 2 Simon Levermann (sonOfRa) 2019-10-09 13:11:14 UTC
Created attachment 592286 [details]
emerge --info dev-db/mariadb-connector-c
Comment 3 Simon Levermann (sonOfRa) 2019-10-09 13:12:55 UTC
emerge -c mariadb-connector-c wants to *remove* the package, as it is not in @world, and nothing seems to depend on it. I can't remember installing it manually via emerge -1, but... I guess I must have?!
Comment 4 Brian Evans (RETIRED) gentoo-dev 2019-10-09 13:15:36 UTC
(In reply to Simon Levermann (sonOfRa) from comment #3)
> emerge -c mariadb-connector-c wants to *remove* the package, as it is not in
> @world, and nothing seems to depend on it. I can't remember installing it
> manually via emerge -1, but... I guess I must have?!

You should issue 'emerge -ac' to clean up packages before looking at preserved libraries.  This can also clean up unused packages which will not be automatically rebuilt.
Comment 5 Simon Levermann (sonOfRa) 2019-10-09 13:23:36 UTC
Looks like it was installed as part of

>    mysql? ( || (
>        dev-db/mariadb-connector-c
>        dev-db/mysql-connector-c
>    ) )

in dev-libs/apr-util. Since mysql-connector-c is apparently also installed on the system, emerge -c happily obliged to depclean mariadb-connector-c. But shouldn't it have been rebuilt if it was installed as a dependency of another package? Or is the rebuild skipped for if that dependency is also satisfied by another package on the system?