Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1871503

Summary: F34FailsToInstall: mysql-connector-odbc
Product: [Fedora] Fedora Reporter: Igor Raits <igor.raits>
Component: mysql-connector-odbcAssignee: Lukas Javorsky <ljavorsk>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bugzilla_acct_1959, fjanus, hhorak, ljavorsk, mschorm, tgl
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-27 05:35:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1868279    

Description Igor Raits 2020-08-23 17:24:35 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (ignatenkobrain).

Your package (mysql-connector-odbc) Fails To Install in Fedora 34:

can't install mysql-connector-odbc:
  - nothing provides libmysql_strings.so()(64bit) needed by mysql-connector-odbc-8.0.21-1.fc33.x86_64
  - nothing provides libmysql_sys.so()(64bit) needed by mysql-connector-odbc-8.0.21-1.fc33.x86_64
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.

P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors.

P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/rawhide-gating/multi-builds/

Thanks!

Comment 1 Lukas Javorsky 2020-08-25 11:11:23 UTC
This is caused by the new way of building packages using CMake macros.

When switched back to the old way of building, it builds correctly.

Somehow the libraries (libmysql_strings and libmysql_sys) are expected as dynamically linked, however they are built statically during the build phase.
Linking expects them to be *.so but they are *.a so it fails to install.

I'm going to investigate where this behaviour differs, and causes this problem.

Comment 2 Lukas Javorsky 2020-08-25 12:04:00 UTC
Problem found.

The %cmake macro contains one CMake option '-DBUILD_SHARED_LIBS:BOOL=ON' which forces the libraries to be dynamic (https://cmake.org/cmake/help/v3.0/variable/BUILD_SHARED_LIBS.html)

However, in order to install this package, they need to be built statically, what was the case until the cmake-build change.

This can be easily reverted with '-DBUILD_SHARED_LIBS:BOOL=OFF' option in spec.

The main question is... Why the 'ON' option is default? And, if we should consider building it as dynamic libraries?

Comment 3 Jonathan S 2020-08-26 14:37:07 UTC
This also affects Fedora 31 and 32, as you probably realize.

Comment 4 Igor Raits 2020-08-27 05:35:09 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (ignatenkobrain).

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 34.

Thanks for taking care of it!