[MDEV-12763] 10.2 uses deprecated openssl 1.0 apis even with 1.1 Created: 2017-05-09  Updated: 2017-09-18  Resolved: 2017-09-18

Status: Closed
Project: MariaDB Server
Component/s: Compiling, SSL
Affects Version/s: 10.1.6
Fix Version/s: 10.2.9

Type: Bug Priority: Critical
Reporter: Sergei Golubchik Assignee: Sergei Golubchik
Resolution: Fixed Votes: 1
Labels: None

Attachments: File MDEV-12763.patch    

 Description   

If openssl is compiled with the --api=1.1.0 switch, it no longer exports deprecated 1.0 apis.

With such openssl MariaDB does not compile at all — it still uses openssl 1.0 api even when compiled with openssl 1.1. It should not.



 Comments   
Comment by pgnd [ 2017-05-09 ]

Building 10.2 branch head

	git log | head
		commit 588a6a186a870e6fe42b16fff39ffea7bd431371
		Author: Marko Mäkelä <marko.makela@mariadb.com>
		Date:   Tue May 9 17:23:08 2017 +0300
 
		    MDEV-12750 Fix crash recovery of key rotation
 
		    When MySQL 5.7.9 was merged to MariaDB 10.2.2, an important
		    debug assertion was omitted from mlog_write_initial_log_record_low().
 
		    mlog_write_initial_log_record_low(): Put back the assertion

with

	grep -i ssl CMakeCache.txt | sort
	//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY
	//ADVANCED property for variable: OPENSSL_INCLUDE_DIR
	//ADVANCED property for variable: OPENSSL_SSL_LIBRARY
	CONC_WITH_SSL:BOOL=OFF
	//Details about finding OpenSSL
	//Enables use of TLS/SSL library
	FIND_PACKAGE_MESSAGE_DETAILS_OpenSSL:INTERNAL=[/usr/local/openssl11/lib64/libssl.so][/usr/local/openssl11/lib64/libcrypto.so][/usr/local/openssl11/include][v1.1.0e()]
	HAVE_LIBRESSL:INTERNAL=FALSE
	_OPENSSL_CFLAGS_I:INTERNAL=
	_OPENSSL_CFLAGS:INTERNAL=-I/usr/local/openssl11/include
	_OPENSSL_CFLAGS_OTHER:INTERNAL=
	OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1
	OPENSSL_CRYPTO_LIBRARY:FILEPATH=/usr/local/openssl11/lib64/libcrypto.so
	_OPENSSL_FOUND:INTERNAL=1
	OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1
	_OPENSSL_INCLUDEDIR:INTERNAL=/usr/local/openssl11/include
	OPENSSL_INCLUDE_DIR:PATH=/usr/local/openssl11/include
	_OPENSSL_INCLUDE_DIRS:INTERNAL=/usr/local/openssl11/include
	_OPENSSL_LDFLAGS:INTERNAL=-L/usr/local/openssl11/lib64;-lssl;-lcrypto
	_OPENSSL_LDFLAGS_OTHER:INTERNAL=
	_OPENSSL_LIBDIR:INTERNAL=/usr/local/openssl11/lib64
	_OPENSSL_LIBRARIES:INTERNAL=ssl;crypto
	_OPENSSL_LIBRARY_DIRS:INTERNAL=/usr/local/openssl11/lib64
	_OPENSSL_LIBS:INTERNAL=
	_OPENSSL_LIBS_L:INTERNAL=
	_OPENSSL_LIBS_OTHER:INTERNAL=
	_OPENSSL_LIBS_PATHS:INTERNAL=
	_OPENSSL_openssl_INCLUDEDIR:INTERNAL=
	_OPENSSL_openssl_LIBDIR:INTERNAL=
	_OPENSSL_openssl_PREFIX:INTERNAL=
	_OPENSSL_openssl_VERSION:INTERNAL=
	_OPENSSL_PREFIX:INTERNAL=/usr/local/openssl11
	OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1
	OPENSSL_SSL_LIBRARY:FILEPATH=/usr/local/openssl11/lib64/libssl.so
	_OPENSSL_VERSION:INTERNAL=1.1.0e
	//path to custom SSL installation
	__pkg_config_arguments__OPENSSL:INTERNAL=QUIET;openssl
	__pkg_config_checked__OPENSSL:INTERNAL=1
	WITH_MYSQLD_LDFLAGS:STRING= -L/usr/local/openssl11/lib64  -Wl,-rpath,/usr/local/openssl11/lib64   -lssl -lcrypto
	WITH_SSL_PATH:PATH=/usr/local/openssl11
	WITH_SSL:UNINITIALIZED=/usr/local/openssl11

config's ok, but make fails

	[  0%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/pvio/pvio_socket.c.o
	[  0%] Built target abi_check
	Scanning dependencies of target auth_gssapi_client
	[  0%] Built target dialog
	Scanning dependencies of target mysql_clear_password
	[  0%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/auth_gssapi_client.c.o
	Scanning dependencies of target aurora
	[  0%] Building C object libmariadb/plugins/auth/CMakeFiles/mysql_clear_password.dir/mariadb_cleartext.c.o
	[  1%] Building C object libmariadb/plugins/connection/CMakeFiles/aurora.dir/aurora.c.o
	[  1%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/gssapi_client.c.o
	[  2%] Building C object extra/readline/CMakeFiles/readline.dir/keymaps.c.o
	/usr/local/src/mariadb_10_2/libmariadb/plugins/connection/aurora.c: In function ‘aurora_command’:
	/usr/local/src/mariadb_10_2/libmariadb/plugins/connection/aurora.c:761:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
	         aurora_switch_connection(mysql, aurora, AURORA_PRIMARY);
	         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	/usr/local/src/mariadb_10_2/libmariadb/plugins/connection/aurora.c:764:5: note: here
	     default:
	     ^~~~~~~
	/usr/local/src/mariadb_10_2/libmariadb/plugins/auth/gssapi_client.c: In function ‘auth_client’:
	/usr/local/src/mariadb_10_2/libmariadb/plugins/auth/gssapi_client.c:79:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
	   gss_buffer_desc input= {0,0};
	   ^~~~~~~~~~~~~~~
	/usr/local/src/mariadb_10_2/libmariadb/plugins/auth/gssapi_client.c:57:45: warning: unused parameter ‘mech’ [-Wunused-parameter]
	 int auth_client(char *principal_name, char *mech, MYSQL *mysql, MYSQL_PLUGIN_VIO *vio)
	                                             ^~~~
	[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/auth/my_auth.c.o
	[  2%] Linking C shared module mysql_clear_password.so
	[  2%] Building C object extra/readline/CMakeFiles/readline.dir/vi_mode.c.o
	[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/gssapi_errmsg.c.o
	[  2%] Built target mysql_clear_password
	[  2%] Building C object libmariadb/plugins/connection/CMakeFiles/aurora.dir/__/__/libmariadb/ma_errmsg.c.o
	Scanning dependencies of target replication
	[  2%] Linking C shared module auth_gssapi_client.so
	[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/auth/old_password.c.o
	[  2%] Building C object libmariadb/plugins/connection/CMakeFiles/replication.dir/replication.c.o
	[  2%] Linking C shared module libaurora.so
	[  2%] Built target auth_gssapi_client
	[  3%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_array.c.o
	[  3%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_charset.c.o
	[  3%] Building C object extra/readline/CMakeFiles/readline.dir/parens.c.o
	[  3%] Building C object libmariadb/plugins/connection/CMakeFiles/replication.dir/__/__/libmariadb/ma_errmsg.c.o
	[  3%] Built target aurora
	Scanning dependencies of target trace_example
	[  3%] Linking C shared module libreplication.so
	[  3%] Building C object libmariadb/plugins/trace/CMakeFiles/trace_example.dir/trace_example.c.o
	[  3%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_hash.c.o
	[  3%] Building C object extra/readline/CMakeFiles/readline.dir/rltty.c.o
	[  3%] Built target replication
	Scanning dependencies of target mariadb_config
	[  3%] Building C object libmariadb/mariadb_config/CMakeFiles/mariadb_config.dir/mariadb_config.c.o
	[  4%] Linking C shared module trace_example.so
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c: In function ‘hash_insert’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:383:18: warning: ‘gpos2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	       gpos2->next=NO_RECORD;
	                  ^
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:378:17: warning: ‘gpos’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	       gpos->next=NO_RECORD;
	                 ^
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:382:18: warning: ‘ptr_to_rec2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	       gpos2->data=ptr_to_rec2;
	       ~~~~~~~~~~~^~~~~~~~~~~~
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:377:17: warning: ‘ptr_to_rec’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	       gpos->data=ptr_to_rec;
	       ~~~~~~~~~~^~~~~~~~~~~
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_net.c.o
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/bind.c.o
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/complete.c.o
	[  4%] Linking C executable mariadb_config
	[  4%] Built target trace_example
	Scanning dependencies of target cctap
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_charset.c.o
	[  4%] Built target mariadb_config
	[  4%] Building C object libmariadb/unittest/mytap/CMakeFiles/cctap.dir/tap.c.o
	Scanning dependencies of target ma_getopt
	[  4%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/ma_getopt.dir/ma_getopt.c.o
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_time.c.o
	[  4%] Linking C shared library libcctap.so
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/isearch.c.o
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/display.c.o
	[  4%] Linking C shared library libma_getopt.so
	[  4%] Built target cctap
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_default.c.o
	Scanning dependencies of target JdbcInterface
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/signals.c.o
	[  4%] Building Java objects for JdbcInterface.jar
	[  4%] Built target ma_getopt
	Picked up JAVA_TOOL_OPTIONS:  -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Xmx1024M
	Picked up _JAVA_OPTIONS:  -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Xmx1024M
	Scanning dependencies of target strings
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_errmsg.c.o
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_lib.c.o
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_list.c.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c: In function ‘mariadb_get_infov’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:3821:30: warning: this statement may fall through [-Wimplicit-fallthrough=]
	       *((unsigned long *)arg)= mysql->client_flag;
	       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:3824:3: note: here
	   default:
	   ^~~~~~~
	[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_pvio.c.o
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/util.c.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c: In function ‘ma_pvio_read’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c:264:10: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	   return r;
	          ^
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c: In function ‘ma_pvio_write’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c:341:11: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
	   ssize_t r;
	           ^
	[  4%] Building C object strings/CMakeFiles/strings.dir/bchange.c.o
	[  4%] Building C object extra/readline/CMakeFiles/readline.dir/kill.c.o
	[  4%] Building C object strings/CMakeFiles/strings.dir/bmove_upp.c.o
	[  5%] Building C object strings/CMakeFiles/strings.dir/ctype-big5.c.o
	[  5%] Building C object strings/CMakeFiles/strings.dir/ctype-bin.c.o
	[  5%] Building C object extra/readline/CMakeFiles/readline.dir/undo.c.o
	[  6%] Building C object extra/readline/CMakeFiles/readline.dir/macro.c.o
	[  6%] Building C object strings/CMakeFiles/strings.dir/ctype-cp932.c.o
	[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_tls.c.o
	[  6%] Building C object extra/readline/CMakeFiles/readline.dir/callback.c.o
	[  6%] Building C object extra/readline/CMakeFiles/readline.dir/input.c.o
	[  6%] Building C object extra/readline/CMakeFiles/readline.dir/terminal.c.o
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_alloc.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/xmalloc.c.o
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_compress.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/history.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histsearch.c.o
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_init.c.o
	[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-czech.c.o
	[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-euc_kr.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histexpand.c.o
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_password.c.o
	[  7%] Generating CMakeFiles/JdbcInterface.dir/java_class_filelist
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_ll2str.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histfile.c.o
	[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-eucjpms.c.o
	[  7%] Creating Java archive JdbcInterface.jar
	Picked up JAVA_TOOL_OPTIONS:  -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Xmx1024M
	Picked up _JAVA_OPTIONS:  -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Xmx1024M
	[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_sha1.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/nls.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/search.c.o
	[  7%] Building C object extra/readline/CMakeFiles/readline.dir/shell.c.o
	[  8%] Building C object extra/readline/CMakeFiles/readline.dir/tilde.c.o
	[  8%] Building C object extra/readline/CMakeFiles/readline.dir/misc.c.o
	[  8%] Built target JdbcInterface
	Scanning dependencies of target mysqlservices
	[  8%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_stmt.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/base64_service.c.o
	[  9%] Building C object extra/readline/CMakeFiles/readline.dir/text.c.o
	[  9%] Building C object extra/readline/CMakeFiles/readline.dir/mbutil.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/debug_sync_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/encryption_scheme_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/encryption_service.c.o
	[  9%] Building C object extra/readline/CMakeFiles/readline.dir/compat.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/kill_statement_service.c.o
	[  9%] Building C object extra/readline/CMakeFiles/readline.dir/savestring.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/logger_service.c.o
	[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-gb2312.c.o
	[  9%] Linking C static library libreadline.a
	[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-extra.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_crypt_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_md5_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_print_error_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_sha1_service.c.o
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_sha2_service.c.o
	[  9%] Built target readline
	[  9%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_snprintf_service.c.o
	[  9%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_loaddata.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/progress_report_service.c.o
	Scanning dependencies of target gen_lex_hash
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_alloc_service.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_autoinc_service.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_error_context_service.c.o
	[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-gbk.c.o
	[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_stmt_codec.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_rnd_service.c.o
	[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_string.c.o
	[ 10%] Building CXX object sql/CMakeFiles/gen_lex_hash.dir/gen_lex_hash.cc.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_specifics_service.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_timezone_service.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_wait_service.c.o
	[ 10%] Building C object libservices/CMakeFiles/mysqlservices.dir/wsrep_service.c.o
	Scanning dependencies of target ref10
	[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-latin1.c.o
	[ 10%] Linking C static library libmysqlservices.a
	[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_dtoa.c.o
	[ 10%] Linking CXX executable gen_lex_hash
	[ 10%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_0.c.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c: In function ‘dtoa’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1465:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
	     leftright= 0;
	     ~~~~~~~~~^~~
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1467:3: note: here
	   case 4:
	   ^~~~
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1473:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
	     leftright= 0;
	     ~~~~~~~~~^~~
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1475:3: note: here
	   case 5:
	   ^~~~
	At top level:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1161:21: warning: ‘tinytens’ defined but not used [-Wunused-const-variable=]
	 static const double tinytens[]=
	                     ^~~~~~~~
	[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-mb.c.o
	[ 10%] Built target mysqlservices
	[ 10%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_1.c.o
	[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-simple.c.o
	[ 10%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_add.c.o
	[ 10%] Built target gen_lex_hash
	Scanning dependencies of target hsclient
	[ 10%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_cmov.c.o
	[ 11%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/config.cpp.o
	[ 11%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_copy.c.o
	[ 12%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_frombytes.c.o
	[ 13%] Building C object strings/CMakeFiles/strings.dir/ctype-sjis.c.o
	[ 13%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_client_plugin.c.o
	[ 13%] Building C object strings/CMakeFiles/strings.dir/ctype-tis620.c.o
	[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_invert.c.o
	[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_isnegative.c.o
	[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_isnonzero.c.o
	[ 13%] Building C object strings/CMakeFiles/strings.dir/ctype-uca.c.o
	[ 14%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_io.c.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_mul.c.o
	[ 14%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/secure/openssl.c.o
	[ 14%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/escape.cpp.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_neg.c.o
	[ 14%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_dyncol.c.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c: In function ‘ma_tls_start’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:304:3: warning: implicit declaration of function ‘SSL_load_error_strings’; did you mean ‘ERR_lib_error_string’? [-Wimplicit-function-declaration]
	   SSL_load_error_strings();
	   ^~~~~~~~~~~~~~~~~~~~~~
	   ERR_lib_error_string
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:306:3: warning: implicit declaration of function ‘OpenSSL_add_all_algorithms’; did you mean ‘OpenSSL_add_ssl_algorithms’? [-Wimplicit-function-declaration]
	   OpenSSL_add_all_algorithms();
	   ^~~~~~~~~~~~~~~~~~~~~~~~~~
	   OpenSSL_add_ssl_algorithms
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c: In function ‘ma_tls_end’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:354:7: warning: implicit declaration of function ‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
	       EVP_cleanup();
	       ^~~~~~~~~~~
	       EVP_PBE_cleanup
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:355:7: warning: implicit declaration of function ‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’? [-Wimplicit-function-declaration]
	       CRYPTO_cleanup_all_ex_data();
	       ^~~~~~~~~~~~~~~~~~~~~~~~~~
	       CRYPTO_dup_ex_data
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:356:7: warning: implicit declaration of function ‘ERR_free_strings’; did you mean ‘ERR_load_strings’? [-Wimplicit-function-declaration]
	       ERR_free_strings();
	       ^~~~~~~~~~~~~~~~
	       ERR_load_strings
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:357:7: warning: implicit declaration of function ‘CONF_modules_free’; did you mean ‘CONF_modules_load’? [-Wimplicit-function-declaration]
	       CONF_modules_free();
	       ^~~~~~~~~~~~~~~~~
	       CONF_modules_load
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_pow22523.c.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c: In function ‘mariadb_dyncol_val_double’:
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4044:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
	       {
	       ^
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4060:5: note: here
	     case DYN_COL_DATETIME:
	     ^~~~
	[ 14%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_async.c.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sq.c.o
	[ 14%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/fatal.cpp.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sq2.c.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sub.c.o
	[ 14%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/hstcpcli.cpp.o
	/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4050:15: warning: argument 1 null where non-null expected [-Wnonnull]
	         *dbl= strtod(str, &end);
	               ^~~~~~~~~~~~~~~~~
	In file included from /usr/local/src/mariadb_10_2/libmariadb/include/ma_global.h:168:0,
	                 from /usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:64:
	/usr/include/stdlib.h:164:15: note: in a call to function ‘strtod’ declared here
	 extern double strtod (const char *__restrict __nptr,
	               ^~~~~~
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_tobytes.c.o
	[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_add.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_double_scalarmult.c.o
	In file included from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:0:
	/usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.hpp:33:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
	 typedef std::auto_ptr<hstcpcli_i> hstcpcli_ptr;
	              ^~~~~~~~
	In file included from /usr/include/c++/7/memory:80:0,
	                 from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.hpp:15,
	                 from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:
	/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
	   template<typename> class auto_ptr;
	                            ^~~~~~~~
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_frombytes.c.o
	[ 15%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_context.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_madd.c.o
	[ 15%] Building C object strings/CMakeFiles/strings.dir/ctype-ucs2.c.o
	[ 15%] Building C object strings/CMakeFiles/strings.dir/ctype-ujis.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_msub.c.o
	[ 15%] Built target mariadb_obj
	[ 15%] Building C object strings/CMakeFiles/strings.dir/ctype-utf8.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p1p1_to_p2.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p1p1_to_p3.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p2_0.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p2_dbl.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_0.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_dbl.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_to_cached.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_to_p2.c.o
	[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_tobytes.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_precomp_0.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_scalarmult_base.c.o
	[ 16%] Building C object strings/CMakeFiles/strings.dir/ctype-win1250ch.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_sub.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_tobytes.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/keypair.c.o
	[ 16%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/socket.cpp.o
	[ 16%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/string_util.cpp.o
	[ 16%] Building C object strings/CMakeFiles/strings.dir/ctype.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/open.c.o
	[ 16%] Building C object strings/CMakeFiles/strings.dir/decimal.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sc_muladd.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sc_reduce.c.o
	[ 16%] Building C object strings/CMakeFiles/strings.dir/dtoa.c.o
	[ 16%] Linking CXX static library libhsclient.a
	[ 16%] Building C object strings/CMakeFiles/strings.dir/int2str.c.o
	[ 16%] Built target hsclient
	[ 16%] Building C object strings/CMakeFiles/strings.dir/is_prefix.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sign.c.o
	[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/verify.c.o
	[ 17%] Building C object strings/CMakeFiles/strings.dir/llstr.c.o
	[ 17%] Building C object strings/CMakeFiles/strings.dir/longlong2str.c.o
	[ 17%] Linking C static library libref10.a
	[ 17%] Building C object strings/CMakeFiles/strings.dir/my_strtoll10.c.o
	[ 17%] Building C object strings/CMakeFiles/strings.dir/my_vsnprintf.c.o
	[ 17%] Built target ref10
	Scanning dependencies of target dbug-unit-tests
	[ 17%] Building C object strings/CMakeFiles/strings.dir/str2int.c.o
	[ 17%] Generating dbug-t
	[ 17%] Built target dbug-unit-tests
	Scanning dependencies of target vio
	[ 17%] Building C object strings/CMakeFiles/strings.dir/str_alloc.c.o
	[ 17%] Building C object strings/CMakeFiles/strings.dir/strcend.c.o
	[ 17%] Building C object vio/CMakeFiles/vio.dir/vio.c.o
	[ 17%] Building C object strings/CMakeFiles/strings.dir/strend.c.o
	[ 18%] Building C object vio/CMakeFiles/vio.dir/viosocket.c.o
	[ 18%] Building C object vio/CMakeFiles/vio.dir/viopipe.c.o
	[ 18%] Building C object vio/CMakeFiles/vio.dir/viossl.c.o
	/usr/local/src/mariadb_10_2/vio/vio.c: In function ‘vio_end’:
	/usr/local/src/mariadb_10_2/vio/vio.c:394:3: warning: implicit declaration of function ‘ERR_free_strings’; did you mean ‘ERR_load_strings’? [-Wimplicit-function-declaration]
	   ERR_free_strings();
	   ^~~~~~~~~~~~~~~~
	   ERR_load_strings
	/usr/local/src/mariadb_10_2/vio/vio.c:395:3: warning: implicit declaration of function ‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
	   EVP_cleanup();
	   ^~~~~~~~~~~
	   EVP_PBE_cleanup
	/usr/local/src/mariadb_10_2/vio/vio.c:396:3: warning: implicit declaration of function ‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’? [-Wimplicit-function-declaration]
	   CRYPTO_cleanup_all_ex_data();
	   ^~~~~~~~~~~~~~~~~~~~~~~~~~
	   CRYPTO_dup_ex_data
	[ 18%] Building C object strings/CMakeFiles/strings.dir/strfill.c.o
	[ 18%] Building C object vio/CMakeFiles/vio.dir/vioshm.c.o
	[ 18%] Building C object strings/CMakeFiles/strings.dir/strmake.c.o
	[ 18%] Building C object vio/CMakeFiles/vio.dir/viosslfactories.c.o
	Scanning dependencies of target comp_sql
	Scanning dependencies of target wsrep
	[ 18%] Building C object strings/CMakeFiles/strings.dir/strmov.c.o
	Scanning dependencies of target my_safe_process
	[ 19%] Building C object scripts/CMakeFiles/comp_sql.dir/comp_sql.c.o
	[ 19%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_gtid.c.o
	/usr/local/src/mariadb_10_2/vio/viosslfactories.c: In function ‘check_ssl_init’:
	/usr/local/src/mariadb_10_2/vio/viosslfactories.c:165:5: warning: implicit declaration of function ‘SSL_load_error_strings’; did you mean ‘ERR_lib_error_string’? [-Wimplicit-function-declaration]
	     SSL_load_error_strings();
	     ^~~~~~~~~~~~~~~~~~~~~~
	     ERR_lib_error_string
	[ 19%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o
	[ 19%] Building C object strings/CMakeFiles/strings.dir/strnmov.c.o
	[ 19%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_uuid.c.o
	[ 19%] Linking C static library libvio.a
	[ 19%] Linking C executable comp_sql
	[ 20%] Linking CXX executable my_safe_process
	[ 20%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_loader.c.o
	[ 20%] Built target vio
	[ 21%] Building C object strings/CMakeFiles/strings.dir/strxmov.c.o
	[ 21%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_dummy.c.o
	[ 21%] Building C object strings/CMakeFiles/strings.dir/strxnmov.c.o
	[ 21%] Built target comp_sql
	[ 21%] Building C object strings/CMakeFiles/strings.dir/xml.c.o
	[ 21%] Building C object strings/CMakeFiles/strings.dir/strmov_overlapp.c.o
	[ 21%] Linking C static library libwsrep.a
	[ 21%] Built target my_safe_process
	[ 21%] Building C object strings/CMakeFiles/strings.dir/my_strchr.c.o
	Scanning dependencies of target mariadbclient
	[ 21%] Linking C static library libmariadbclient.a
	Scanning dependencies of target libmariadb
	[ 21%] Built target wsrep
	[ 22%] Linking C shared library libmariadb.so
	[ 22%] Built target mariadbclient
	[ 22%] Building C object strings/CMakeFiles/strings.dir/strcont.c.o
	Scanning dependencies of target GenServerSource
	[ 22%] Generating sql_yacc.cc, sql_yacc.h
	Scanning dependencies of target GenFixPrivs
	[ 22%] Building C object strings/CMakeFiles/strings.dir/strappend.c.o
	[ 22%] Building C object strings/CMakeFiles/strings.dir/json_lib.c.o
	[ 22%] Generating mysql_fix_privilege_tables_sql.c
	CMakeFiles/mariadb_obj.dir/secure/openssl.c.o: In function `ma_tls_start':
	openssl.c:(.text+0x14d): undefined reference to `SSL_load_error_strings'
	openssl.c:(.text+0x154): undefined reference to `OpenSSL_add_all_algorithms'
	CMakeFiles/mariadb_obj.dir/secure/openssl.c.o: In function `ma_tls_end':
	openssl.c:(.text+0x1ab): undefined reference to `EVP_cleanup'
	openssl.c:(.text+0x1b2): undefined reference to `CRYPTO_cleanup_all_ex_data'
	openssl.c:(.text+0x1b9): undefined reference to `ERR_free_strings'
	openssl.c:(.text+0x1c0): undefined reference to `CONF_modules_free'
	collect2: error: ld returned 1 exit status
	libmariadb/libmariadb/CMakeFiles/libmariadb.dir/build.make:136: recipe for target 'libmariadb/libmariadb/libmariadb.so.3' failed
	make[2]: *** [libmariadb/libmariadb/libmariadb.so.3] Error 1
	CMakeFiles/Makefile2:507: recipe for target 'libmariadb/libmariadb/CMakeFiles/libmariadb.dir/all' failed
	make[1]: *** [libmariadb/libmariadb/CMakeFiles/libmariadb.dir/all] Error 2
	make[1]: *** Waiting for unfinished jobs....
	[ 22%] Generating lex_hash.h
	[ 22%] Built target GenFixPrivs
	[ 22%] Linking C static library libstrings.a
	[ 22%] Built target strings
	[ 22%] Built target GenServerSource
	Makefile:151: recipe for target 'all' failed
	make: *** [all] Error 2

Comment by pgnd [ 2017-05-09 ]

for reference, this^ is with openssl config:

./config \
 --api=1.1.0 \
 --prefix=/usr/local/openssl11 \
 --openssldir=/usr/local/openssl11 \
 --libdir=lib64 \
 -D_GNU_SOURCE \
 -DOPENSSL_NO_BUF_FREELISTS \
 -DOPENSSL_NO_HEARTBEAT \
 -DPURIFY \
 -DSSL_FORBID_ENULL \
 -DTERMIO \
 -Wa,--noexecstack \
 -Wl,-z,relro,-z,now \
 -Wall \
 -Wl,-rpath=/usr/local/openssl11/lib64 \
 -fno-common \
threads shared \
no-comp no-zlib no-zlib-dynamic \
enable-ec_nistp_64_gcc_128 \
enable-rfc3779 \
enable-ecdsa \
no-sctp \
no-idea \
no-mdc2 \
no-rc2 \
no-rc5 \
no-ssl3 \
no-weak-ssl-ciphers

Comment by pgnd [ 2017-05-10 ]

fyi, with patch applied

patch -p1 < ../MDEV-12763.patch
	patching file include/ssl_compat.h
	patching file mysql-test/t/openssl_6975.test
	patching file mysys_ssl/openssl.c
	patching file sql/sys_vars.cc
	patching file vio/vio.c
	patching file vio/viosslfactories.c

to 10.2/head

git log | head
commit 535f4892108861ab71de2805d8dd2914b62a1d38
Author: Sergei Golubchik <serg@mariadb.org>
Date:   Wed May 10 14:03:59 2017 +0200
 
    update to the latest C/C to fix failures on Windows

build -->

...
[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/secure/openssl.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c: In function ‘ma_tls_start’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:304:3: warning: implicit declaration of function ‘SSL_load_error_strings’; did you mean ‘ERR_lib_error_string’? [-Wimplicit-function-declaration]
   SSL_load_error_strings();
   ^~~~~~~~~~~~~~~~~~~~~~
   ERR_lib_error_string
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:306:3: warning: implicit declaration of function ‘OpenSSL_add_all_algorithms’; did you mean ‘OpenSSL_add_ssl_algorithms’? [-Wimplicit-function-declaration]
   OpenSSL_add_all_algorithms();
   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   OpenSSL_add_ssl_algorithms
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c: In function ‘ma_tls_end’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:354:7: warning: implicit declaration of function ‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
       EVP_cleanup();
       ^~~~~~~~~~~
       EVP_PBE_cleanup
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:355:7: warning: implicit declaration of function ‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’? [-Wimplicit-function-declaration]
       CRYPTO_cleanup_all_ex_data();
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
       CRYPTO_dup_ex_data
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:356:7: warning: implicit declaration of function ‘ERR_free_strings’; did you mean ‘ERR_load_strings’? [-Wimplicit-function-declaration]
       ERR_free_strings();
       ^~~~~~~~~~~~~~~~
       ERR_load_strings
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/secure/openssl.c:357:7: warning: implicit declaration of function ‘CONF_modules_free’; did you mean ‘CONF_modules_load’? [-Wimplicit-function-declaration]
       CONF_modules_free();
       ^~~~~~~~~~~~~~~~~
       CONF_modules_load
[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_dyncol.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c: In function ‘mariadb_dyncol_val_double’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4044:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       {
       ^
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4060:5: note: here
     case DYN_COL_DATETIME:
     ^~~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4050:15: warning: argument 1 null where non-null expected [-Wnonnull]
         *dbl= strtod(str, &end);
               ^~~~~~~~~~~~~~~~~
In file included from /usr/local/src/mariadb_10_2/libmariadb/include/ma_global.h:168:0,
                 from /usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:64:
/usr/include/stdlib.h:164:15: note: in a call to function ‘strtod’ declared here
 extern double strtod (const char *__restrict __nptr,
               ^~~~~~
[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_async.c.o
[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_context.c.o
[  6%] Built target mariadb_obj
Scanning dependencies of target mariadbclient
[  6%] Linking C static library libmariadbclient.a
[  6%] Built target mariadbclient
Scanning dependencies of target libmariadb
[  7%] Linking C shared library libmariadb.so
CMakeFiles/mariadb_obj.dir/secure/openssl.c.o: In function `ma_tls_start':
openssl.c:(.text+0x14d): undefined reference to `SSL_load_error_strings'
openssl.c:(.text+0x154): undefined reference to `OpenSSL_add_all_algorithms'
CMakeFiles/mariadb_obj.dir/secure/openssl.c.o: In function `ma_tls_end':
openssl.c:(.text+0x1ab): undefined reference to `EVP_cleanup'
openssl.c:(.text+0x1b2): undefined reference to `CRYPTO_cleanup_all_ex_data'
openssl.c:(.text+0x1b9): undefined reference to `ERR_free_strings'
openssl.c:(.text+0x1c0): undefined reference to `CONF_modules_free'
collect2: error: ld returned 1 exit status
libmariadb/libmariadb/CMakeFiles/libmariadb.dir/build.make:136: recipe for target 'libmariadb/libmariadb/libmariadb.so.3' failed
make[2]: *** [libmariadb/libmariadb/libmariadb.so.3] Error 1
CMakeFiles/Makefile2:507: recipe for target 'libmariadb/libmariadb/CMakeFiles/libmariadb.dir/all' failed
make[1]: *** [libmariadb/libmariadb/CMakeFiles/libmariadb.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

Comment by Georg Richter [ 2017-05-10 ]

You need to pull latest changes from MariaDB Connector/C

cd mariadb_10_2/libmariadb
git checkout master
git pull

then try again

Comment by pgnd [ 2017-05-10 ]

looks good. builds & execs ok. NOT tested (yet) in use, or downstream lib usage/linking ...

cd src/mariadb_10_2
 
cd ./libmariadb
git checkout master
git pull
cd ../
 
patch -p1 < ../MDEV-12763.patch
 
mkdir build
cd    build
 
cmake ...
make V=1
 
cd /usr/local/mariadb
./bin/mysqld -V
	./bin/mysqld  Ver 10.2.6-MariaDB-log for Linux on x86_64 (Source distribution)
 
ldd ./bin/mysqld ./lib64/*so | egrep -i "ssl|crypto"
        libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007f3af0eef000)
        libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007f3af0a45000)
        libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007f0f125f3000)
        libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007f0f12149000)
 
systemctl status mariadb.service -l
● mariadb.service - MariaDB database server
   Loaded: loaded (/etc/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-05-10 08:36:53 PDT; 371ms ago
  Process: 12399 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 12296 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 512)
   CGroup: /system.slice/mariadb.service
           └─12296 /usr/local/mariadb/bin/mysqld --defaults-file=/usr/local/etc/mariadb/my.cnf

Comment by pgnd [ 2017-05-23 ]

I've seen/detected no problems in use of this patched build, to date.

Is this reviewed for merge to 10.2 branch yet?

Comment by Sergei Golubchik [ 2017-06-22 ]

review comments:

  • why #undef's ?
  • why casts?
  • no #idef's in the code
Comment by pgnd [ 2017-07-13 ]

Building today's 10.2 branch,

git log
	  1 commit a76c05bba060f4da5ec7c56e5634eaafb6d2ebfe (HEAD -> 10.2, origin/10.2)
	  2 Author: Sergei Golubchik <serg@mariadb.org>
	  3 Date:   Wed Jul 12 22:40:43 2017 +0200
	  4
	  5     Require either OpenSSL 1.0 or 1.1 on Debian
	  6
	  7 commit 7fc75c420a47fd29a399468b920641ebb43fa75c
	  8 Author: Sergei Golubchik <serg@mariadb.org>
	  9 Date:   Wed Jul 12 22:39:58 2017 +0200
	 10
	 11     fix compilation with OpenSSL 1.1
	 12
	...

noting

"fix compilation with OpenSSL 1.1"
^^^

building with UNPATCHED source

'make' still fails @ OpenSSL 1.1 incompatibility

Scanning dependencies of target mariadb_obj
Scanning dependencies of target readline
Scanning dependencies of target abi_check
Scanning dependencies of target INFO_BIN
Scanning dependencies of target INFO_SRC
[  0%] Building C object extra/readline/CMakeFiles/readline.dir/readline.c.o
[  0%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/pvio/pvio_socket.c.o
[  0%] Built target INFO_BIN
[  0%] Built target INFO_SRC
[  1%] Building C object extra/readline/CMakeFiles/readline.dir/keymaps.c.o
[  1%] Building C object extra/readline/CMakeFiles/readline.dir/funmap.c.o
Scanning dependencies of target auth_gssapi_client
Scanning dependencies of target dialog
[  1%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/auth_gssapi_client.c.o
[  1%] Building C object libmariadb/plugins/auth/CMakeFiles/dialog.dir/dialog.c.o
[  1%] Building C object extra/readline/CMakeFiles/readline.dir/vi_mode.c.o
[  1%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/auth/my_auth.c.o
[  1%] Built target abi_check
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/__/plugins/auth/old_password.c.o
[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/gssapi_client.c.o
[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/dialog.dir/__/__/libmariadb/get_password.c.o
Scanning dependencies of target sha256_password
[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/auth_gssapi_client.dir/gssapi_errmsg.c.o
[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/sha256_password.dir/sha256_pw.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_array.c.o
[  2%] Linking C shared module dialog.so
[  2%] Linking C shared module auth_gssapi_client.so
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_charset.c.o
[  2%] Built target dialog
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_hash.c.o
[  2%] Built target auth_gssapi_client
[  2%] Linking C shared module sha256_password.so
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_net.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c: In function ‘hash_insert’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:383:18: warning: ‘gpos2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       gpos2->next=NO_RECORD;
                  ^
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:378:17: warning: ‘gpos’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       gpos->next=NO_RECORD;
                 ^
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:382:18: warning: ‘ptr_to_rec2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       gpos2->data=ptr_to_rec2;
       ~~~~~~~~~~~^~~~~~~~~~~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_hash.c:377:17: warning: ‘ptr_to_rec’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       gpos->data=ptr_to_rec;
       ~~~~~~~~~~^~~~~~~~~~~
[  2%] Built target sha256_password
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/parens.c.o
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/rltty.c.o
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/complete.c.o
Scanning dependencies of target mariadb_config
Scanning dependencies of target mysql_clear_password
[  2%] Building C object libmariadb/mariadb_config/CMakeFiles/mariadb_config.dir/mariadb_config.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_charset.c.o
[  2%] Building C object libmariadb/plugins/auth/CMakeFiles/mysql_clear_password.dir/mariadb_cleartext.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_time.c.o
[  2%] Linking C executable mariadb_config
[  2%] Linking C shared module mysql_clear_password.so
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/bind.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_default.c.o
[  2%] Built target mariadb_config
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_errmsg.c.o
[  2%] Built target mysql_clear_password
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_lib.c.o
Scanning dependencies of target cctap
Scanning dependencies of target ma_getopt
[  2%] Building C object libmariadb/unittest/mytap/CMakeFiles/cctap.dir/tap.c.o
[  2%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/ma_getopt.dir/ma_getopt.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c: In function ‘mthd_my_real_connect’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:1312:29: warning: pointer targets in passing argument 2 of ‘ma_pvio_write’ differ in signedness [-Wpointer-sign]
     if (ma_pvio_write(pvio, hdr, len) <= 0)
                             ^~~
In file included from /usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:66:0:
/usr/local/src/mariadb_10_2/libmariadb/include/ma_pvio.h:118:9: note: expected ‘const uchar * {aka const unsigned char *}’ but argument is of type ‘char *’
 ssize_t ma_pvio_write(MARIADB_PVIO *pvio, const uchar *buffer, size_t length);
         ^~~~~~~~~~~~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c: In function ‘mariadb_get_infov’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:3842:30: warning: this statement may fall through [-Wimplicit-fallthrough=]
       *((unsigned long *)arg)= mysql->client_flag;
       ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_lib.c:3845:3: note: here
   default:
   ^~~~~~~
Scanning dependencies of target JdbcInterface
[  2%] Linking C shared library libma_getopt.so
[  2%] Linking C shared library libcctap.so
[  2%] Building Java objects for JdbcInterface.jar
Picked up _JAVA_OPTIONS: -Xmx512M
[  2%] Built target cctap
[  2%] Built target ma_getopt
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_list.c.o
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/isearch.c.o
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/display.c.o
Scanning dependencies of target strings
Scanning dependencies of target mysqlservices
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/base64_service.c.o
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/debug_sync_service.c.o
[  2%] Building C object strings/CMakeFiles/strings.dir/bchange.c.o
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/encryption_scheme_service.c.o
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/encryption_service.c.o
[  2%] Building C object strings/CMakeFiles/strings.dir/bmove_upp.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_pvio.c.o
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/kill_statement_service.c.o
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/logger_service.c.o
[  2%] Building C object strings/CMakeFiles/strings.dir/ctype-big5.c.o
[  2%] Building C object extra/readline/CMakeFiles/readline.dir/signals.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c: In function ‘ma_pvio_read’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c:264:10: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   return r;
          ^
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c: In function ‘ma_pvio_write’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_pvio.c:341:11: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   ssize_t r;
           ^
[  2%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_crypt_service.c.o
[  2%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_tls.c.o
[  3%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_md5_service.c.o
[  3%] Building C object extra/readline/CMakeFiles/readline.dir/util.c.o
[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_alloc.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_print_error_service.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_sha1_service.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_sha2_service.c.o
[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_compress.c.o
[  4%] Building C object extra/readline/CMakeFiles/readline.dir/kill.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/my_snprintf_service.c.o
[  4%] Building C object strings/CMakeFiles/strings.dir/ctype-bin.c.o
[  4%] Generating CMakeFiles/JdbcInterface.dir/java_class_filelist
[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_init.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/progress_report_service.c.o
[  4%] Creating Java archive JdbcInterface.jar
Picked up _JAVA_OPTIONS: -Xmx512M
[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_password.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_alloc_service.c.o
[  4%] Building C object extra/readline/CMakeFiles/readline.dir/undo.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_autoinc_service.c.o
[  4%] Building C object strings/CMakeFiles/strings.dir/ctype-cp932.c.o
[  4%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_ll2str.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_error_context_service.c.o
[  4%] Built target JdbcInterface
[  4%] Building C object extra/readline/CMakeFiles/readline.dir/macro.c.o
[  4%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_rnd_service.c.o
[  5%] Building C object extra/readline/CMakeFiles/readline.dir/input.c.o
[  5%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_specifics_service.c.o
[  5%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_sha1.c.o
[  5%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_timezone_service.c.o
[  5%] Building C object strings/CMakeFiles/strings.dir/ctype-czech.c.o
[  6%] Building C object libservices/CMakeFiles/mysqlservices.dir/thd_wait_service.c.o
[  6%] Building C object extra/readline/CMakeFiles/readline.dir/callback.c.o
[  6%] Building C object libservices/CMakeFiles/mysqlservices.dir/wsrep_service.c.o
[  6%] Linking C static library libmysqlservices.a
[  6%] Building C object extra/readline/CMakeFiles/readline.dir/terminal.c.o
[  6%] Built target mysqlservices
Scanning dependencies of target crc
[  6%] Building C object extra/readline/CMakeFiles/readline.dir/xmalloc.c.o
[  6%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_stmt.c.o
[  6%] Building C object extra/mariabackup/crc/CMakeFiles/crc.dir/crc_glue.c.o
[  6%] Building C object strings/CMakeFiles/strings.dir/ctype-euc_kr.c.o
[  7%] Building C object extra/mariabackup/crc/CMakeFiles/crc.dir/crc-intel-pclmul.c.o
[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-eucjpms.c.o
[  7%] Building C object extra/readline/CMakeFiles/readline.dir/history.c.o
[  7%] Linking C static library libcrc.a
[  7%] Built target crc
[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histsearch.c.o
[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histexpand.c.o
[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_loaddata.c.o
[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-extra.c.o
[  7%] Building C object strings/CMakeFiles/strings.dir/ctype-gb2312.c.o
[  7%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_stmt_codec.c.o
Scanning dependencies of target wsrep
[  7%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_gtid.c.o
[  7%] Building C object extra/readline/CMakeFiles/readline.dir/histfile.c.o
[  7%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_uuid.c.o
[  8%] Building C object strings/CMakeFiles/strings.dir/ctype-gbk.c.o
[  8%] Building C object extra/readline/CMakeFiles/readline.dir/nls.c.o
[  8%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_loader.c.o
[  8%] Building C object wsrep/CMakeFiles/wsrep.dir/wsrep_dummy.c.o
[  8%] Building C object extra/readline/CMakeFiles/readline.dir/search.c.o
[  8%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_string.c.o
[  8%] Building C object extra/readline/CMakeFiles/readline.dir/shell.c.o
[  8%] Linking C static library libwsrep.a
[  8%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_dtoa.c.o
[  8%] Building C object extra/readline/CMakeFiles/readline.dir/tilde.c.o
[  9%] Building C object extra/readline/CMakeFiles/readline.dir/misc.c.o
[  9%] Built target wsrep
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c: In function ‘dtoa’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1465:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
     leftright= 0;
     ~~~~~~~~~^~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1467:3: note: here
   case 4:
   ^~~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1473:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
     leftright= 0;
     ~~~~~~~~~^~~
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1475:3: note: here
   case 5:
   ^~~~
[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-latin1.c.o
At top level:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/ma_dtoa.c:1161:21: warning: ‘tinytens’ defined but not used [-Wunused-const-variable=]
 static const double tinytens[]=
                     ^~~~~~~~
[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-mb.c.o
[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-simple.c.o
[  9%] Building C object extra/readline/CMakeFiles/readline.dir/text.c.o
[  9%] Building C object strings/CMakeFiles/strings.dir/ctype-sjis.c.o
[  9%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_client_plugin.c.o
[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_io.c.o
[ 10%] Building C object extra/readline/CMakeFiles/readline.dir/mbutil.c.o
[ 10%] Building C object extra/readline/CMakeFiles/readline.dir/compat.c.o
[ 10%] Building C object extra/readline/CMakeFiles/readline.dir/savestring.c.o
[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/secure/openssl.c.o
[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_dyncol.c.o
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-tis620.c.o
[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/mariadb_async.c.o
[ 10%] Linking C static library libreadline.a
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c: In function ‘mariadb_dyncol_val_double’:
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4044:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
       {
       ^
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4060:5: note: here
     case DYN_COL_DATETIME:
     ^~~~
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-uca.c.o
[ 10%] Built target readline
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-ucs2.c.o
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-ujis.c.o
/usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:4050:15: warning: argument 1 null where non-null expected [-Wnonnull]
         *dbl= strtod(str, &end);
               ^~~~~~~~~~~~~~~~~
In file included from /usr/local/src/mariadb_10_2/libmariadb/include/ma_global.h:168:0,
                 from /usr/local/src/mariadb_10_2/libmariadb/libmariadb/mariadb_dyncol.c:64:
/usr/include/stdlib.h:164:15: note: in a call to function ‘strtod’ declared here
 extern double strtod (const char *__restrict __nptr,
               ^~~~~~
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-utf8.c.o
[ 10%] Building C object libmariadb/libmariadb/CMakeFiles/mariadb_obj.dir/ma_context.c.o
Scanning dependencies of target gen_lex_hash
[ 10%] Building CXX object sql/CMakeFiles/gen_lex_hash.dir/gen_lex_hash.cc.o
Scanning dependencies of target vio
[ 10%] Generating sql_yacc.cc, sql_yacc.h
[ 10%] Built target mariadb_obj
[ 10%] Building C object strings/CMakeFiles/strings.dir/ctype-win1250ch.c.o
[ 10%] Building C object vio/CMakeFiles/vio.dir/vio.c.o
[ 10%] Linking CXX executable gen_lex_hash
[ 11%] Building C object vio/CMakeFiles/vio.dir/viosocket.c.o
/usr/local/src/mariadb_10_2/vio/vio.c: In function ‘vio_end’:
/usr/local/src/mariadb_10_2/vio/vio.c:394:3: warning: implicit declaration of function ‘ERR_free_strings’; did you mean ‘ERR_load_strings’? [-Wimplicit-function-declaration]
   ERR_free_strings();
   ^~~~~~~~~~~~~~~~
   ERR_load_strings
/usr/local/src/mariadb_10_2/vio/vio.c:395:3: warning: implicit declaration of function ‘EVP_cleanup’; did you mean ‘EVP_PBE_cleanup’? [-Wimplicit-function-declaration]
   EVP_cleanup();
   ^~~~~~~~~~~
   EVP_PBE_cleanup
/usr/local/src/mariadb_10_2/vio/vio.c:396:3: warning: implicit declaration of function ‘CRYPTO_cleanup_all_ex_data’; did you mean ‘CRYPTO_dup_ex_data’? [-Wimplicit-function-declaration]
   CRYPTO_cleanup_all_ex_data();
   ^~~~~~~~~~~~~~~~~~~~~~~~~~
   CRYPTO_dup_ex_data
[ 11%] Built target gen_lex_hash
[ 11%] Building C object strings/CMakeFiles/strings.dir/ctype.c.o
[ 12%] Building C object strings/CMakeFiles/strings.dir/decimal.c.o
Scanning dependencies of target ref10
[ 12%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_0.c.o
[ 12%] Building C object vio/CMakeFiles/vio.dir/viossl.c.o
[ 12%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_1.c.o
Scanning dependencies of target gen_lex_token
[ 12%] Building CXX object sql/CMakeFiles/gen_lex_token.dir/gen_lex_token.cc.o
Scanning dependencies of target hsclient
[ 12%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/config.cpp.o
[ 12%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_add.c.o
[ 12%] Building C object vio/CMakeFiles/vio.dir/viopipe.c.o
[ 12%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_cmov.c.o
[ 13%] Linking CXX executable gen_lex_token
[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_copy.c.o
[ 13%] Building C object vio/CMakeFiles/vio.dir/vioshm.c.o
[ 13%] Built target gen_lex_token
[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_frombytes.c.o
[ 13%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/escape.cpp.o
[ 13%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/fatal.cpp.o
[ 13%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_invert.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_isnegative.c.o
[ 14%] Building C object vio/CMakeFiles/vio.dir/viosslfactories.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_isnonzero.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_mul.c.o
[ 14%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/hstcpcli.cpp.o
[ 14%] Building C object strings/CMakeFiles/strings.dir/dtoa.c.o
[ 14%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/socket.cpp.o
/usr/local/src/mariadb_10_2/vio/viosslfactories.c: In function ‘check_ssl_init’:
/usr/local/src/mariadb_10_2/vio/viosslfactories.c:165:5: warning: implicit declaration of function ‘SSL_load_error_strings’; did you mean ‘ERR_lib_error_string’? [-Wimplicit-function-declaration]
     SSL_load_error_strings();
     ^~~~~~~~~~~~~~~~~~~~~~
     ERR_lib_error_string
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_neg.c.o
[ 14%] Linking C static library libvio.a
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_pow22523.c.o
[ 14%] Built target vio
In file included from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:0:
/usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.hpp:33:14: warning: ‘template<class> class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]
 typedef std::auto_ptr<hstcpcli_i> hstcpcli_ptr;
              ^~~~~~~~
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.hpp:15,
                 from /usr/local/src/mariadb_10_2/plugin/handler_socket/libhsclient/hstcpcli.cpp:13:
/usr/include/c++/7/bits/unique_ptr.h:51:28: note: declared here
   template<typename> class auto_ptr;
                            ^~~~~~~~
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sq.c.o
[ 14%] Building C object strings/CMakeFiles/strings.dir/int2str.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sq2.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_sub.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/fe_tobytes.c.o
Scanning dependencies of target dbug-unit-tests
[ 14%] Building C object strings/CMakeFiles/strings.dir/is_prefix.c.o
[ 14%] Generating dbug-t
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_add.c.o
[ 14%] Built target dbug-unit-tests
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_double_scalarmult.c.o
[ 14%] Building C object strings/CMakeFiles/strings.dir/llstr.c.o
[ 14%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_frombytes.c.o
[ 14%] Building C object strings/CMakeFiles/strings.dir/longlong2str.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_madd.c.o
Scanning dependencies of target comp_sql
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p1p1_to_p2.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_msub.c.o
[ 15%] Building C object scripts/CMakeFiles/comp_sql.dir/comp_sql.c.o
Scanning dependencies of target my_safe_process
[ 15%] Building C object strings/CMakeFiles/strings.dir/my_strtoll10.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p1p1_to_p3.c.o
[ 15%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p2_0.c.o
[ 15%] Linking C executable comp_sql
[ 15%] Building C object strings/CMakeFiles/strings.dir/my_vsnprintf.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p2_dbl.c.o
[ 15%] Built target comp_sql
[ 15%] Linking CXX executable my_safe_process
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_0.c.o
[ 15%] Building C object strings/CMakeFiles/strings.dir/str2int.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_dbl.c.o
[ 15%] Built target my_safe_process
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_to_cached.c.o
Scanning dependencies of target mariadbclient
[ 15%] Linking C static library libmariadbclient.a
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_to_p2.c.o
[ 15%] Building C object strings/CMakeFiles/strings.dir/str_alloc.c.o
[ 15%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_p3_tobytes.c.o
[ 16%] Building CXX object plugin/handler_socket/CMakeFiles/hsclient.dir/libhsclient/string_util.cpp.o
[ 16%] Building C object strings/CMakeFiles/strings.dir/strcend.c.o
[ 16%] Built target mariadbclient
[ 16%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_precomp_0.c.o
[ 17%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_scalarmult_base.c.o
[ 17%] Building C object strings/CMakeFiles/strings.dir/strend.c.o
[ 17%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_sub.c.o
[ 17%] Building C object strings/CMakeFiles/strings.dir/strfill.c.o
[ 17%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/ge_tobytes.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/strmake.c.o
Scanning dependencies of target libmariadb
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/keypair.c.o
[ 18%] Linking C shared library libmariadb.so
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/open.c.o
Scanning dependencies of target view
[ 18%] Building C object strings/CMakeFiles/strings.dir/strmov.c.o
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/view.dir/view.c.o
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sc_muladd.c.o
[ 18%] Built target libmariadb
[ 18%] Building C object strings/CMakeFiles/strings.dir/strnmov.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/strxmov.c.o
[ 18%] Linking CXX static library libhsclient.a
Scanning dependencies of target sqlite3
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sc_reduce.c.o
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/sqlite3.dir/sqlite3.c.o
[ 18%] Built target hsclient
[ 18%] Building C object strings/CMakeFiles/strings.dir/strxnmov.c.o
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/sign.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/xml.c.o
[ 18%] Building C object plugin/auth_ed25519/CMakeFiles/ref10.dir/ref10/verify.c.o
[ 18%] Linking C executable view
[ 18%] Linking C static library libref10.a
Scanning dependencies of target errors
[ 18%] Linking C executable sqlite3
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/errors.dir/errors.c.o
[ 18%] Built target view
[ 18%] Built target ref10
[ 18%] Building C object strings/CMakeFiles/strings.dir/strmov_overlapp.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/my_strchr.c.o
[ 18%] Built target sqlite3
[ 18%] Building C object strings/CMakeFiles/strings.dir/strcont.c.o
Scanning dependencies of target cursor
Scanning dependencies of target performance
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/cursor.dir/cursor.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/strappend.c.o
[ 18%] Linking C executable errors
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/performance.dir/performance.c.o
[ 18%] Building C object strings/CMakeFiles/strings.dir/json_lib.c.o
Scanning dependencies of target charset
[ 18%] Built target errors
[ 18%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/charset.dir/charset.c.o
Scanning dependencies of target t_aurora
[ 18%] Linking C executable performance
[ 19%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/t_aurora.dir/t_aurora.c.o
[ 19%] Built target performance
/usr/local/src/mariadb_10_2/libmariadb/unittest/libmariadb/t_aurora.c: In function ‘test_reconnect’:
/usr/local/src/mariadb_10_2/libmariadb/unittest/libmariadb/t_aurora.c:100:3: warning: ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result]
   system("/usr/local/aws/bin/aws rds failover-db-cluster --db-cluster-identifier instance-1-cluster");
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Scanning dependencies of target thread
[ 20%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/thread.dir/thread.c.o
[ 20%] Linking C static library libstrings.a
[ 20%] Linking C executable t_aurora
[ 20%] Built target strings
[ 20%] Linking C executable cursor
[ 21%] Linking C executable charset
Scanning dependencies of target async
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/async.dir/async.c.o
[ 21%] Linking C executable thread
[ 21%] Built target t_aurora
[ 21%] Built target cursor
Scanning dependencies of target fetch
Scanning dependencies of target connection
[ 21%] Built target charset
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/connection.dir/connection.c.o
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/fetch.dir/fetch.c.o
Scanning dependencies of target t_conc173
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/t_conc173.dir/t_conc173.c.o
[ 21%] Built target thread
[ 21%] Linking C executable async
Scanning dependencies of target basic-t
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/basic-t.dir/basic-t.c.o
[ 21%] Linking C executable t_conc173
[ 21%] Built target async
Scanning dependencies of target logs
[ 21%] Linking C executable connection
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/logs.dir/logs.c.o
[ 21%] Linking C executable fetch
[ 21%] Built target t_conc173
Scanning dependencies of target bulk1
[ 21%] Built target connection
Scanning dependencies of target ps
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/bulk1.dir/bulk1.c.o
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/ps.dir/ps.c.o
[ 21%] Linking C executable basic-t
[ 21%] Built target fetch
Scanning dependencies of target ps_bugs
[ 21%] Linking C executable logs
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/ps_bugs.dir/ps_bugs.c.o
[ 21%] Built target basic-t
Scanning dependencies of target result
[ 21%] Built target logs
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/result.dir/result.c.o
Scanning dependencies of target sp
[ 21%] Linking C executable bulk1
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/sp.dir/sp.c.o
[ 21%] Built target bulk1
Scanning dependencies of target misc
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/misc.dir/misc.c.o
[ 21%] Linking C executable sp
[ 21%] Linking C executable result
[ 21%] Built target sp
Scanning dependencies of target ps_new
[ 21%] Built target result
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/ps_new.dir/ps_new.c.o
Scanning dependencies of target features-10_2
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/features-10_2.dir/features-10_2.c.o
[ 21%] Linking C executable misc
[ 21%] Linking C executable ps_new
[ 21%] Built target misc
[ 21%] Linking C executable ps_bugs
Scanning dependencies of target dyncol
[ 21%] Building C object libmariadb/unittest/libmariadb/CMakeFiles/dyncol.dir/dyncol.c.o
[ 21%] Linking C executable features-10_2
[ 21%] Built target ps_new
Scanning dependencies of target mysys_ssl
[ 21%] Built target ps_bugs
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_sha1.cc.o
Scanning dependencies of target GenServerSource
[ 21%] Built target features-10_2
[ 21%] Generating lex_hash.h
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_sha224.cc.o
[ 21%] Built target GenServerSource
[ 21%] Linking C executable dyncol
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_sha256.cc.o
[ 21%] Linking C executable ps
Scanning dependencies of target GenDigestServerSource
[ 21%] Generating lex_token.h
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_sha384.cc.o
[ 21%] Built target GenDigestServerSource
[ 21%] Built target ps
[ 21%] Built target dyncol
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_sha512.cc.o
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_md5.cc.o
Scanning dependencies of target GenFixPrivs
[ 21%] Building C object mysys_ssl/CMakeFiles/mysys_ssl.dir/openssl.c.o
[ 21%] Generating mysql_fix_privilege_tables_sql.c
[ 21%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o
In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:33:0:
/usr/local/openssl11/include/openssl/evp.h:501:0: warning: "EVP_MD_CTX_init" redefined
 # define EVP_MD_CTX_init(ctx)    EVP_MD_CTX_reset((ctx))
 
In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:18:0:
/usr/local/src/mariadb_10_2/include/ssl_compat.h:33:0: note: this is the location of the previous definition
 #define EVP_MD_CTX_init(X) do { bzero((X), EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
 
[ 21%] Built target GenFixPrivs
/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc: In destructor ‘virtual MyCTX::~MyCTX()’:
/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc:46:5: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this scope
     EVP_CIPHER_CTX_cleanup(ctx);
     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc:46:5: note: suggested alternative: ‘EVP_CIPHER_CTX_set_num’
     EVP_CIPHER_CTX_cleanup(ctx);
     ^~~~~~~~~~~~~~~~~~~~~~
     EVP_CIPHER_CTX_set_num
mysys_ssl/CMakeFiles/mysys_ssl.dir/build.make:230: recipe for target 'mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o' failed
make[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o] Error 1
CMakeFiles/Makefile2:5661: recipe for target 'mysys_ssl/CMakeFiles/mysys_ssl.dir/all' failed
make[1]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

building, instead, with PATCHED source, per

"10.2 uses deprecated openssl 1.0 apis even with 1.1"
https://jira.mariadb.org/browse/MDEV-12763

which had been recently building successfully,

wget https://jira.mariadb.org/secure/attachment/43633/MDEV-12763.patch
patch -p1 < ../MDEV-12763.patch
 
	patching file include/ssl_compat.h
	patching file mysql-test/t/openssl_6975.test
	patching file mysys_ssl/openssl.c
	Hunk #1 succeeded at 15 with fuzz 1.
	Hunk #2 succeeded at 35 with fuzz 2 (offset 6 lines).
	patching file sql/sys_vars.cc
	patching file vio/vio.c
	patching file vio/viosslfactories.c

now, again, fails to build, with a new set of errors

...
[ 95%] Built target async_example
[ 95%] Built target mysqlslap
[ 95%] Building CXX object client/CMakeFiles/mysqltest.dir/mysqltest.cc.o
In file included from /usr/local/src/mariadb_10_2/client/client_priv.h:27:0,
                 from /usr/local/src/mariadb_10_2/client/mysqltest.cc:38:
/usr/local/src/mariadb_10_2/build/include/mysql_version.h:19:0: warning: "MYSQL_VERSION_ID" redefined
 #define MYSQL_VERSION_ID  100208
 
In file included from /usr/local/src/mariadb_10_2/libmariadb/include/mysql.h:60:0,
                 from /usr/local/src/mariadb_10_2/client/client_priv.h:24,
                 from /usr/local/src/mariadb_10_2/client/mysqltest.cc:38:
/usr/local/src/mariadb_10_2/build/libmariadb/include/mariadb_version.h:15:0: note: this is the location of the previous definition
 #define MYSQL_VERSION_ID  100205
 
/usr/local/src/mariadb_10_2/client/mysqltest.cc: In function ‘bool is_escape_char(char, char)’:
/usr/local/src/mariadb_10_2/client/mysqltest.cc:6511:28: error: ‘SERVER_STATUS_ANSI_QUOTES’ was not declared in this scope
   return !(server_status & SERVER_STATUS_ANSI_QUOTES && in_string == '"');
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/mariadb_10_2/client/mysqltest.cc:6511:28: note: suggested alternative: ‘SERVER_STATUS_IN_TRANS’
   return !(server_status & SERVER_STATUS_ANSI_QUOTES && in_string == '"');
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
                            SERVER_STATUS_IN_TRANS
client/CMakeFiles/mysqltest.dir/build.make:62: recipe for target 'client/CMakeFiles/mysqltest.dir/mysqltest.cc.o' failed
make[2]: *** [client/CMakeFiles/mysqltest.dir/mysqltest.cc.o] Error 1
CMakeFiles/Makefile2:5821: recipe for target 'client/CMakeFiles/mysqltest.dir/all' failed
make[1]: *** [client/CMakeFiles/mysqltest.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

Comment by Sergei Golubchik [ 2017-07-13 ]

My commit a76c05bba0 was fixing a specific error, the code didn't compile with OpenSSL 1.1 at all (and that was because our OpenSSL 1.1 stretch builder was broken and didn't build). Now 10.2 compiles and stretch builder is fixed, so every push is tested with OpenSSL 1.1 again.

But OpenSSL 1.1 with --api=1.1.0 isn't working yet. I'll increase the priority of this issue, should be in the next release.

Your last error is because libmariadb submodule is out of sync. Run git submodule update. I have a commit that makes cmake to run git submodule update automatically, but need to test it a bit more before pushing in the main branch.

Comment by pgnd [ 2017-07-13 ]

> Your last error is because libmariadb submodule is out of sync. Run git submodule update.

yep – missed that!

> I have a commit that makes cmake to run git submodule update automatically, but need to test it a bit more before pushing in the main branch.

noted

with

git clean -xfd
git reset --hard HEAD
git pull
git submodule update
	Submodule path 'libmariadb': checked out 'eb058204233863f1b949209e5c4649489174d299'
	Submodule path 'storage/rocksdb/rocksdb': checked out 'd616ebea23fa88cb9c2c8588533526a566d9cfab'

then

patch -p1 < ../MDEV-12763.patch

and

cmake ..  \
 -DWITH_SSL=/usr/local/openssl11 \
 -DWITH_SSL_PATH=/usr/local/openssl11 \
 ... etc etc ...

now, back in business

make V=1 -j4
	...
	[100%] Linking CXX executable mariabackup
	[100%] Built target mariabackup
 
ldd sql/mysqld libmariadb/libmariadb/*so | egrep -i "ssl|crypto"
	libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007f8228cf5000)
	libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007f8228849000)
	libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007faf443ea000)
	libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007faf43f3e000)
	libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007fc4e3bd8000)
	libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007fc4e372c000)
	libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007fac25be4000)
	libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007fac25738000)
 
sql/mysqld -V
	sql/mysqld  Ver 10.2.8-MariaDB-log for Linux on x86_64 (Source distribution)

Comment by pgnd [ 2017-08-24 ]

@serg

> I'll increase the priority of this issue, should be in the next release.

Although,

	https://downloads.mariadb.org/mariadb/+releases/
	  10.2
	    Name    Release Date  Release Status
	    10.2.8  2017-08-18    Stable

this bug's still open.

Has the issue been fixed & merged, and this bug just not updated accordingly?

Or is this, in fact, still unaddressed & unresolved?

Comment by Sergei Golubchik [ 2017-08-25 ]

It seems that it has been fixed. The patch is pushed. Compilation with --api=1.1.0 openssl works.

Comment by pgnd [ 2017-08-25 ]

pushed to ... 10.2 branch, or master?

With,

	git branch -a
		* 10.2
		remotes/origin/10.2
 
	git log | head
		commit a544225d0a772bd4b67c96f5861ecc0ef7e69bba
		Author: Kenny John Jacob <johnjacobkenny@gmail.com>
		Date:   Thu Aug 24 12:51:05 2017 +0530
 
		    Update README.md
 
		    Fix minor typo.
 
		commit e7bf8bca2fca1f0794485d8cb78b816f3ba6b142
		Author: Marko Mäkelä <marko.makela@mariadb.com>

and NOT applying the patch

	https://jira.mariadb.org/secure/attachment/43633/MDEV-12763.patch

after OK config, the build still fails at

	...
	[ 23%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o
	In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:33:0:
	/usr/local/openssl11/include/openssl/evp.h:501:0: warning: "EVP_MD_CTX_init" redefined
	 # define EVP_MD_CTX_init(ctx)    EVP_MD_CTX_reset((ctx))
 
	In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:18:0:
	/usr/local/src/mariadb_10_2/include/ssl_compat.h:33:0: note: this is the location of the previous definition
	 #define EVP_MD_CTX_init(X) do { bzero((X), EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
 
	/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc: In destructor ‘virtual MyCTX::~MyCTX()’:
	/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc:46:5: error: ‘EVP_CIPHER_CTX_cleanup’ was not declared in this scope
	     EVP_CIPHER_CTX_cleanup(ctx);
	     ^~~~~~~~~~~~~~~~~~~~~~
	/usr/local/src/mariadb_10_2/mysys_ssl/my_crypt.cc:46:5: note: suggested alternative: ‘EVP_CIPHER_CTX_set_num’
	     EVP_CIPHER_CTX_cleanup(ctx);
	     ^~~~~~~~~~~~~~~~~~~~~~
	     EVP_CIPHER_CTX_set_num
	[ 23%] Built target dyncol
	mysys_ssl/CMakeFiles/mysys_ssl.dir/build.make:230: recipe for target 'mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o' failed
	make[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/my_crypt.cc.o] Error 1
	CMakeFiles/Makefile2:5817: recipe for target 'mysys_ssl/CMakeFiles/mysys_ssl.dir/all' failed
	make[1]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/all] Error 2
	Makefile:151: recipe for target 'all' failed
	make: *** [all] Error 2

whereas, the patch DOES still cleanly apply to sources, and with it, the build completes OK

Comment by pgnd [ 2017-09-18 ]

comfirming ...

building

	git log | head
		commit 55c5448ab7030f458f6e06f380c9f605c1d8d3ba
		Author: Sergei Golubchik <serg@mariadb.org>
		Date:   Fri Sep 15 16:43:06 2017 +0200
 
		    MDEV-13751 Interrupted SELECT fails with 1030: 'Got error 1 "Operation not permitted" from storage engine MyISAM'
 
		    quick select returns 1, not proper HA_ERR_xxx error code,
		    so don't send it to handler::print_error().
 
		commit 6670b4e58ca1c97b6f35277fc2aef93ee7367b89

with NO additional patch,

apart from one ssl-related warning

	make V=1 -j4
		...
		[ 23%] Building C object mysys_ssl/CMakeFiles/mysys_ssl.dir/openssl.c.o
		In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:33:0:
		/usr/local/openssl11/include/openssl/evp.h:501:0: warning: "EVP_MD_CTX_init" redefined
		 # define EVP_MD_CTX_init(ctx)    EVP_MD_CTX_reset((ctx))
 
		In file included from /usr/local/src/mariadb_10_2/mysys_ssl/openssl.c:18:0:
		/usr/local/src/mariadb_10_2/include/ssl_compat.h:33:0: note: this is the location of the previous definition
		 #define EVP_MD_CTX_init(X) do { bzero((X), EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
 
		[ 23%] Built target dyncol
		[ 23%] Linking CXX static library libmysys_ssl.a
		[ 23%] Built target mysys_ssl
		...

looks good

	mysqld -V
		mysqld  Ver 10.2.9-MariaDB-log for Linux on x86_64 (Source distribution)
 
	ldd `which mysqld` | egrep "ssl|crypto"
	        libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007fc33c16c000)
	        libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007fc33bcc1000)
 
 
	ldd /usr/local/mariadb/{bin/*,lib64/*so} | egrep "ssl|crypto"
		...
		libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 (0x00007fc99d507000)
		libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 (0x00007fc99d05c000)
		...
 
	ldd /usr/local/mariadb/{bin/*,lib64/*so} | egrep "ssl|crypto" | grep -v openssl11
		(empty)

+1 !

Generated at Thu Feb 08 08:00:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.