Bug 1312578

Summary: gdal needs rebuilding against changed mysql client library
Product: [Fedora] Fedora Reporter: Tom Hughes <tom>
Component: gdalAssignee: Devrim Gündüz <devrim>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: alex, cristian.balint, devrim, mmahut, orion, pavel.lisy, pertusus, rdieter, volker27
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-11 19:03:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom Hughes 2016-02-27 14:55:28 UTC
It seems there was been a symbol versioning change in libmysqlclient that requires a rebuild of gdal:

rawhide [~] % psql -c 'CREATE EXTENSION postgis' template_postgis
ERROR:  could not load library "/usr/lib64/pgsql/rtpostgis-2.2.so": /lib64/libgdal.so.20: symbol mysql_use_result, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference

Comment 1 Tom Hughes 2016-02-27 14:56:00 UTC
Note that this likely needs doing in F24 as well.

Comment 2 Volker Fröhlich 2016-02-27 16:13:41 UTC
We had gdal builds on 2016-02-21. As far as I can see, that's after the latest update of mariadb.

Comment 3 Tom Hughes 2016-02-27 16:26:01 UTC
Well something seems to be broken...

I admit to being a bit confused because my examination of libmysqlclient.so.18 suggested it was exposing two versions of mysql_use_result, one versioned as libmysqlclient_18 and one versioned as libmysqlclient_16.

That ought to mean that either version is available to the dynamic linker for symbol resolution at run time even if only the newer one is available for new links.

Certainly ldd reports multiple problems if you ask it to check the relocations:

rawhide [~] % ldd -r /lib64/libgdal.so.20
symbol mysql_use_result, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_real_connect, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_errno, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_close, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_init, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_query, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_free_result, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_num_fields, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)
symbol mysql_field_seek, version libmysqlclient_16 not defined in file libmysqlclient.so.18 with link time reference	(/lib64/libgdal.so.20)


I seem to have the latest gdal and mariadb-libs (though I first saw this in koji anyway):

gdal-2.0.2-4.fc24.x86_64
mariadb-libs-10.1.11-8.fc24.x86_64

Comment 4 Jan Kurik 2016-07-26 04:13:22 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 5 Volker Fröhlich 2016-12-20 20:41:39 UTC
Whatever caused this situation, the problem appears to be resolved in F24 and F25. Can we close it?

Comment 6 Rex Dieter 2017-09-11 19:03:50 UTC
closing per comment #5