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 - F34FailsToInstall: mysql-connector-odbc
Summary: F34FailsToInstall: mysql-connector-odbc
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: mysql-connector-odbc
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Lukas Javorsky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F34FailsToInstall
TreeView+ depends on / blocked
 
Reported: 2020-08-23 17:24 UTC by Igor Raits
Modified: 2020-08-27 05:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-27 05:35:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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!


Note You need to log in before you can comment on or make changes to this bug.