From 46a2917c0fd287755d9e357a98d04ed2c8b1ba0a Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 20 Sep 2017 00:02:06 +0200 Subject: [PATCH] MDEV-13208 Cannot import libmariadbclient.so.18 from python libmariadbclient_18 version nodes, specially for debian builds --- libmysql/CMakeLists.txt | 11 +++++++++++ libmysql/libmysql_versions.ld.in | 2 ++ 2 files changed, 13 insertions(+) diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt index 8e60d267521..acbd80b4875 100644 --- a/libmysql/CMakeLists.txt +++ b/libmysql/CMakeLists.txt @@ -391,6 +391,10 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux") *; }; + libmariadbclient_18 { + /* empty here. aliases are added above */ + }; + libmysqlclient_16 { /* empty here. aliases are added above */ }; @@ -399,16 +403,23 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux") SET (CLIENT_API_5_1_LIST) SET (CLIENT_API_5_1_ALIASES) + SET (DEBIAN9_ALIASES) FOREACH (f ${CLIENT_API_FUNCTIONS_5_1} ${CLIENT_API_5_1_EXTRA}) SET(CLIENT_API_5_1_LIST "${CLIENT_API_5_1_LIST}\t${f};\n") SET(CLIENT_API_5_1_ALIASES "${CLIENT_API_5_1_ALIASES}\"${f}@libmysqlclient_16\" = ${f};\n") + SET(DEBIAN9_ALIASES "${DEBIAN9_ALIASES}\"${f}@libmariadbclient_18\" = ${f};\n") ENDFOREACH() SET (CLIENT_API_5_5_LIST) FOREACH (f ${CLIENT_API_FUNCTIONS_5_5} ${CLIENT_API_5_5_EXTRA}) SET(CLIENT_API_5_5_LIST "${CLIENT_API_5_5_LIST}\t${f};\n") + SET(DEBIAN9_ALIASES "${DEBIAN9_ALIASES}\"${f}@libmariadbclient_18\" = ${f};\n") ENDFOREACH() + IF(NOT DEB) + SET (DEBIAN9_ALIASES) + ENDIF() + ELSE (NOT DISABLE_LIBMYSQLCLIENT_SYMBOL_VERSIONING) SET (CLIENT_API_5_1_ALIASES "/* Versioning disabled per user request. MDEV-5982 */") ENDIF (NOT DISABLE_LIBMYSQLCLIENT_SYMBOL_VERSIONING) diff --git a/libmysql/libmysql_versions.ld.in b/libmysql/libmysql_versions.ld.in index 0cf5b45cc18..f3b27e1cd1f 100644 --- a/libmysql/libmysql_versions.ld.in +++ b/libmysql/libmysql_versions.ld.in @@ -16,6 +16,8 @@ @CLIENT_API_5_1_ALIASES@ +@DEBIAN9_ALIASES@ + /* On Fedora the following symbols are exported, but renamed into a mysql_ namespace. We export them as aliases, but keep original symbols too. See