[CONC-494] MariaDB-shared RHEL8 RPM installs invalid symlinks Created: 2020-09-08  Updated: 2021-04-19  Resolved: 2020-09-09

Status: Closed
Project: MariaDB Connector/C
Component/s: None
Affects Version/s: 3.1.9
Fix Version/s: 3.1.10

Type: Bug Priority: Major
Reporter: Hartmut Holzgraefe Assignee: Georg Richter
Resolution: Fixed Votes: 0
Labels: None


 Description   

MariaDB-shared RPM installs symlinks

/usr/lib64/libmysqlclient.a -> libmariadbclient.a
/usr/lib64/libmysqlclient_r.a -> libmariadbclient.a

but libmariadbclient.a is actually only present when MariaDB-devel is installed, which MariaDB-shared does not depend on.

The libmysqlclient static library symlinks should be in MariaDB-devel, not MariaDB-shared. There are not even links to shared, but to static library files.



 Comments   
Comment by Sergei Golubchik [ 2020-09-09 ]

indeed, cmake/symlink.cmake uses INSTALL(FILES ... COMPONENT SharedLibraries) for all symlinks, even for .a ones.

This is incorrect. libmysqlclient.so and libmysqlclient.a symlinks should go into Development. libmysqlcleint.<version>.so should be in SharedLibraries. Or, perhaps, all symlinks could be in Development, ldconfig doesn't care much about file names.

Comment by Georg Richter [ 2020-09-09 ]

commit 8581cafad41eeff315a70e51662f0fd367a1b33b
Author: Georg Richter <georg@mariadb.com>
Date: Wed Sep 9 10:24:55 2020 +0200

Fix for CONC-494:

Install all symlinks for shared and static libraries in
component Development instead of SharedLibraries.

Generated at Thu Feb 08 03:05:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.