Hi! Attaching a proof-of-concept patch which fixes the issue for me.
The patch shouldn't be used as-is as it links against libatomic unconditionally while it should only link against it when necessary. A possible mechanism for conditional linking can be found in the hhvm package [1]. Adrian > [1] > https://sources.debian.org/src/hhvm/3.24.7+dfsg-2/hphp/hhvm/CMakeLists.txt/?hl=69#L54 -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Description: Link mysql components against libatomic Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> Last-Update: 2018-11-30 Index: mariadb-10.3-10.3.0/configure.cmake =================================================================== --- mariadb-10.3-10.3.0.orig/configure.cmake +++ mariadb-10.3-10.3.0/configure.cmake @@ -931,6 +931,7 @@ int main() return 0; }" HAVE_GCC_ATOMIC_BUILTINS) +SET(CMAKE_REQUIRED_LIBRARIES atomic) CHECK_CXX_SOURCE_COMPILES(" int main() { Index: mariadb-10.3-10.3.0/unittest/mysys/CMakeLists.txt =================================================================== --- mariadb-10.3-10.3.0.orig/unittest/mysys/CMakeLists.txt +++ mariadb-10.3-10.3.0/unittest/mysys/CMakeLists.txt @@ -15,7 +15,7 @@ MY_ADD_TESTS(bitmap base64 my_atomic my_rdtsc lf my_malloc my_getopt dynstring aes - LINK_LIBRARIES mysys) + LINK_LIBRARIES mysys atomic) MY_ADD_TESTS(my_vsnprintf LINK_LIBRARIES strings mysys) ADD_DEFINITIONS(${SSL_DEFINES}) Index: mariadb-10.3-10.3.0/storage/perfschema/unittest/CMakeLists.txt =================================================================== --- mariadb-10.3-10.3.0.orig/storage/perfschema/unittest/CMakeLists.txt +++ mariadb-10.3-10.3.0/storage/perfschema/unittest/CMakeLists.txt @@ -29,4 +29,4 @@ ADD_DEPENDENCIES(pfs_server_stubs GenErr MY_ADD_TESTS(pfs_instr_class pfs_instr_class-oom pfs_instr pfs_instr-oom pfs_account-oom pfs_host-oom pfs_timer pfs_user-oom pfs pfs_misc - EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs) + EXT "cc" LINK_LIBRARIES perfschema mysys pfs_server_stubs atomic) Index: mariadb-10.3-10.3.0/unittest/sql/CMakeLists.txt =================================================================== --- mariadb-10.3-10.3.0.orig/unittest/sql/CMakeLists.txt +++ mariadb-10.3-10.3.0/unittest/sql/CMakeLists.txt @@ -27,7 +27,7 @@ ELSE() ADD_EXECUTABLE(explain_filename-t explain_filename-t.cc) ENDIF() -TARGET_LINK_LIBRARIES(explain_filename-t sql mytap) +TARGET_LINK_LIBRARIES(explain_filename-t sql mytap atomic) MY_ADD_TEST(explain_filename) ADD_EXECUTABLE(mf_iocache-t mf_iocache-t.cc ../../sql/mf_iocache_encr.cc) Index: mariadb-10.3-10.3.0/sql/CMakeLists.txt =================================================================== --- mariadb-10.3-10.3.0.orig/sql/CMakeLists.txt +++ mariadb-10.3-10.3.0/sql/CMakeLists.txt @@ -174,7 +174,7 @@ ADD_DEPENDENCIES(sql GenServerSource) ADD_DEPENDENCIES(sql GenDigestServerSource) DTRACE_INSTRUMENT(sql) TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATIC_PLUGIN_LIBS} - mysys mysys_ssl dbug strings vio pcre + mysys mysys_ssl dbug strings vio pcre atomic ${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${WSREP_LIB} ${SSL_LIBRARIES} Index: mariadb-10.3-10.3.0/libmysqld/CMakeLists.txt =================================================================== --- mariadb-10.3-10.3.0.orig/libmysqld/CMakeLists.txt +++ mariadb-10.3-10.3.0/libmysqld/CMakeLists.txt @@ -140,7 +140,7 @@ ENDIF() SET(LIBS - dbug strings mysys mysys_ssl pcre vio + dbug strings mysys mysys_ssl pcre vio atomic ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIBWRAP} ${LIBCRYPT} ${LIBDL} ${MYSQLD_STATIC_PLUGIN_LIBS}