|
Fixed in rev fbf1db627030b49e2c2f30d3c21baebd3b68ffc3
|
|
Jeroen,
thanks for your bug report. Please note that the corrrect cmake parameter is
-DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=STATIC
|
|
|
Could you please give me a full cmake line to build all the plugins as static? Because I also noticed the documentation doesn't mention all plugin names.
|
|
I'm sorry but I don't think this fixed it. The bug is in cmake, but you only changed a line of C code?
I'm now building as follows:
cmake . -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mariadb-connector-c/HEAD-1059275_1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DHAVE_CLOCK_GETTIME:INTERNAL=0 -DOPENSSL_INCLUDE_DIR=/usr/local/opt/openssl@1.1/include -DAUTH_GSSAPI_PLUGIN_TYPE=STATIC -DCLIENT_PLUGIN_DIALOG=STATIC -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=STATIC -DCLIENT_PLUGIN_CLIENT_ED25519=STATIC -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=STATIC -DCLIENT_PLUGIN_REMOTE_IO=OFF
|
-- The C compiler identification is AppleClang 8.0.0.8000042
|
-- Check for working C compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang
|
-- Check for working C compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang -- works
|
-- Detecting C compiler ABI info
|
-- Detecting C compiler ABI info - done
|
-- Detecting C compile features
|
-- Detecting C compile features - done
|
-- Found GSSAPI: -dynamic -Wl,-search_paths_first -lkrb5
|
-- Found Git: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/git (found version "2.10.1 (Apple Git-78)")
|
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5")
|
...
|
Which eventually fails with:
[ 62%] Linking C shared library libmariadb.dylib
|
cd /tmp/mariadb-connector-c-20200315-28775-sex2lo/libmariadb && /usr/local/Cellar/cmake/3.12.2/bin/cmake -E cmake_link_script CMakeFiles/libmariadb.dir/link.txt --verbose=1
|
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang -DNDEBUG -DDBUG_OFF -dynamiclib -Wl,-headerpad_max_install_names -compatibility_version 3.0.0 -current_version 3.0.0 -o libmariadb.3.dylib -install_name /tmp/mariadb-connector-c-20200315-28775-sex2lo/libmariadb/libmariadb.3.dylib CMakeFiles/mariadb_obj.dir/__/plugins/auth/my_auth.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/dialog.c.o CMakeFiles/mariadb_obj.dir/get_password.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ed25519.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_0.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_isnegative.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_sub.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p1p1_to_p2.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p3_to_cached.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/open.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_1.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_isnonzero.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_tobytes.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p1p1_to_p3.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p3_to_p2.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/sc_muladd.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_add.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_mul.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_add.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p2_0.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_precomp_0.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/sc_reduce.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_cmov.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_neg.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_double_scalarmult.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p2_dbl.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_scalarmult_base.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/sign.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_copy.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_pow22523.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_frombytes.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p3_0.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_sub.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/verify.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_frombytes.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_sq2.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_madd.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p3_dbl.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_tobytes.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_invert.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/fe_sq.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_msub.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/ge_p3_tobytes.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/ref10/keypair.c.o CMakeFiles/mariadb_obj.dir/secure/openssl_crypt.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/caching_sha2_pw.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/auth_gssapi_client.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/gssapi_client.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/gssapi_errmsg.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/sha256_pw.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/old_password.c.o CMakeFiles/mariadb_obj.dir/__/plugins/auth/mariadb_cleartext.c.o CMakeFiles/mariadb_obj.dir/__/plugins/pvio/pvio_socket.c.o CMakeFiles/mariadb_obj.dir/ma_array.c.o CMakeFiles/mariadb_obj.dir/ma_charset.c.o CMakeFiles/mariadb_obj.dir/ma_hash.c.o CMakeFiles/mariadb_obj.dir/ma_net.c.o CMakeFiles/mariadb_obj.dir/mariadb_charset.c.o CMakeFiles/mariadb_obj.dir/ma_time.c.o CMakeFiles/mariadb_obj.dir/ma_default.c.o CMakeFiles/mariadb_obj.dir/ma_errmsg.c.o CMakeFiles/mariadb_obj.dir/mariadb_lib.c.o CMakeFiles/mariadb_obj.dir/ma_list.c.o CMakeFiles/mariadb_obj.dir/ma_pvio.c.o CMakeFiles/mariadb_obj.dir/ma_tls.c.o CMakeFiles/mariadb_obj.dir/ma_alloc.c.o CMakeFiles/mariadb_obj.dir/ma_compress.c.o CMakeFiles/mariadb_obj.dir/ma_init.c.o CMakeFiles/mariadb_obj.dir/ma_password.c.o CMakeFiles/mariadb_obj.dir/ma_ll2str.c.o CMakeFiles/mariadb_obj.dir/ma_sha1.c.o CMakeFiles/mariadb_obj.dir/mariadb_stmt.c.o CMakeFiles/mariadb_obj.dir/ma_loaddata.c.o CMakeFiles/mariadb_obj.dir/ma_stmt_codec.c.o CMakeFiles/mariadb_obj.dir/ma_string.c.o CMakeFiles/mariadb_obj.dir/ma_dtoa.c.o CMakeFiles/mariadb_obj.dir/mariadb_rpl.c.o CMakeFiles/mariadb_obj.dir/ma_client_plugin.c.o CMakeFiles/mariadb_obj.dir/ma_io.c.o CMakeFiles/mariadb_obj.dir/secure/openssl.c.o CMakeFiles/mariadb_obj.dir/mariadb_dyncol.c.o CMakeFiles/mariadb_obj.dir/mariadb_async.c.o CMakeFiles/mariadb_obj.dir/ma_context.c.o -dynamic -Wl,-search_paths_first -lkrb5 /usr/lib/libz.dylib /usr/lib/libiconv.dylib /usr/local/opt/openssl@1.1/lib/libssl.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.dylib -dynamic -Wl,-search_paths_first -lkrb5 /usr/local/opt/openssl@1.1/lib/libssl.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.dylib /usr/local/opt/openssl@1.1/lib/libssl.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.dylib -dynamic -Wl,-search_paths_first -lkrb5 /usr/local/opt/openssl@1.1/lib/libssl.dylib /usr/local/opt/openssl@1.1/lib/libcrypto.dylib
|
Undefined symbols for architecture x86_64:
|
"_auth_gssapi_client_client_plugin", referenced from:
|
_mysql_client_builtins in ma_client_plugin.c.o
|
"_client_ed25519_client_plugin", referenced from:
|
_mysql_client_builtins in ma_client_plugin.c.o
|
|
|
Did you remove your CMakeCache.txt before.
I just checked on Linux,
CFLAGS=-DMYSQL_CLIENT=1 cmake .. -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=STATIC -DCLIENT_PLUGIN_DIALOG=STATIC -DCLIENT_PLUGIN_CLIENT_ED25519=STATIC -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=STATIC -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC -DCLIENT_PLUGIN_MYSQL_OLD_PASSWORD=STATIC
|
works fine for me.
|
|
Your command still generates a shared plugin for io. Does
-DCLIENT_PLUGIN_REMOTE_IO=STATIC
|
work for you?
|
|
OK shit, all this time I was building from your master branch, but i now see that you are pushing to the 3.1 branch. That explains why I wasn't seeing your fix 
So when I build from the 3.1 branch I get the same result as you. That fixes the issue for the AUTH_GSSAPI plugin, but the same issue still persists for the REMOTE_IO plugin. Can you see if this if fixable as well?
|
Fixed in rev fbf1db627030b49e2c2f30d3c21baebd3b68ffc3
georg, you referenced this commit, but it doesn't exist in the Github MariaDB server repository (https://github.com/MariaDB/server/fbf1db627030b49e2c2f30d3c21baebd3b68ffc3).
Was it perhaps force-pushed-over? Or is it in a different repo, and never merged upstream?
UPDATE: Ah, found it (https://github.com/mariadb-corporation/mariadb-connector-c/commit/fbf1db627030b49e2c2f30d3c21baebd3b68ffc3).
|