Skip to content

Instantly share code, notes, and snippets.

@junaruga
Created April 11, 2021 17:51
Show Gist options
  • Save junaruga/762ae48c0128f075ded9d2509aa25ad8 to your computer and use it in GitHub Desktop.
Save junaruga/762ae48c0128f075ded9d2509aa25ad8 to your computer and use it in GitHub Desktop.
$ which ruby
/usr/local/ruby-3.0.0/bin/ruby
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
$ cat /etc/fedora-release
Fedora release 33 (Thirty Three)
$ MAKE="make V=1" bundle exec rake clean
$ MAKE="make V=1" bundle exec rake compile
mkdir -p tmp/x86_64-linux/mysql2/3.0.0
cd tmp/x86_64-linux/mysql2/3.0.0
/usr/local/ruby-3.0.0/bin/ruby -I. ../../../../ext/mysql2/extconf.rb
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for rb_wait_for_single_fd()... yes
-----
Using mysql_config at /usr/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... no
checking for MYSQL_OPT_SSL_ENFORCE in mysql.h... yes
checking for MYSQL.net.vio in mysql.h... no
checking for MYSQL.net.pvio in mysql.h... yes
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
checking for SERVER_QUERY_NO_GOOD_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_NO_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_WAS_SLOW in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_ON in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_OFF in mysql.h... yes
checking for my_bool in mysql.h... yes
-----
Setting libpath to /usr/lib64/
-----
creating Makefile
cd -
cd tmp/x86_64-linux/mysql2/3.0.0
make V=1
gcc -I. -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/x86_64-linux -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/ruby/backward -I/usr/local/ruby-3.0.0/include/ruby-3.0.0 -I../../../../ext/mysql2 -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_RB_ABSINT_SIZE -DHAVE_RB_ABSINT_SINGLEBIT_P -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_CONST_MYSQL_OPT_SSL_ENFORCE -DHAVE_MYSQL_NET_PVIO -DHAVE_ST_NET_PVIO -DHAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN -DHAVE_CONST_SERVER_QUERY_NO_GOOD_INDEX_USED -DHAVE_CONST_SERVER_QUERY_NO_INDEX_USED -DHAVE_CONST_SERVER_QUERY_WAS_SLOW -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_ON -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_OFF -DHAVE_TYPE_MY_BOOL -fPIC -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC -Wno-bad-function-cast -Wno-conditional-uninitialized -Wno-covered-switch-default -Wno-declaration-after-statement -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-padded -Wno-reserved-id-macro -Wno-sign-conversion -Wno-static-in-inline -Wno-switch-enum -Wno-undef -Wno-unreachable-code -Wno-used-but-marked-unused -o client.o -c ../../../../ext/mysql2/client.c
gcc -I. -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/x86_64-linux -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/ruby/backward -I/usr/local/ruby-3.0.0/include/ruby-3.0.0 -I../../../../ext/mysql2 -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_RB_ABSINT_SIZE -DHAVE_RB_ABSINT_SINGLEBIT_P -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_CONST_MYSQL_OPT_SSL_ENFORCE -DHAVE_MYSQL_NET_PVIO -DHAVE_ST_NET_PVIO -DHAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN -DHAVE_CONST_SERVER_QUERY_NO_GOOD_INDEX_USED -DHAVE_CONST_SERVER_QUERY_NO_INDEX_USED -DHAVE_CONST_SERVER_QUERY_WAS_SLOW -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_ON -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_OFF -DHAVE_TYPE_MY_BOOL -fPIC -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC -Wno-bad-function-cast -Wno-conditional-uninitialized -Wno-covered-switch-default -Wno-declaration-after-statement -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-padded -Wno-reserved-id-macro -Wno-sign-conversion -Wno-static-in-inline -Wno-switch-enum -Wno-undef -Wno-unreachable-code -Wno-used-but-marked-unused -o infile.o -c ../../../../ext/mysql2/infile.c
gcc -I. -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/x86_64-linux -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/ruby/backward -I/usr/local/ruby-3.0.0/include/ruby-3.0.0 -I../../../../ext/mysql2 -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_RB_ABSINT_SIZE -DHAVE_RB_ABSINT_SINGLEBIT_P -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_CONST_MYSQL_OPT_SSL_ENFORCE -DHAVE_MYSQL_NET_PVIO -DHAVE_ST_NET_PVIO -DHAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN -DHAVE_CONST_SERVER_QUERY_NO_GOOD_INDEX_USED -DHAVE_CONST_SERVER_QUERY_NO_INDEX_USED -DHAVE_CONST_SERVER_QUERY_WAS_SLOW -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_ON -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_OFF -DHAVE_TYPE_MY_BOOL -fPIC -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC -Wno-bad-function-cast -Wno-conditional-uninitialized -Wno-covered-switch-default -Wno-declaration-after-statement -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-padded -Wno-reserved-id-macro -Wno-sign-conversion -Wno-static-in-inline -Wno-switch-enum -Wno-undef -Wno-unreachable-code -Wno-used-but-marked-unused -o mysql2_ext.o -c ../../../../ext/mysql2/mysql2_ext.c
gcc -I. -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/x86_64-linux -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/ruby/backward -I/usr/local/ruby-3.0.0/include/ruby-3.0.0 -I../../../../ext/mysql2 -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_RB_ABSINT_SIZE -DHAVE_RB_ABSINT_SINGLEBIT_P -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_CONST_MYSQL_OPT_SSL_ENFORCE -DHAVE_MYSQL_NET_PVIO -DHAVE_ST_NET_PVIO -DHAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN -DHAVE_CONST_SERVER_QUERY_NO_GOOD_INDEX_USED -DHAVE_CONST_SERVER_QUERY_NO_INDEX_USED -DHAVE_CONST_SERVER_QUERY_WAS_SLOW -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_ON -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_OFF -DHAVE_TYPE_MY_BOOL -fPIC -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC -Wno-bad-function-cast -Wno-conditional-uninitialized -Wno-covered-switch-default -Wno-declaration-after-statement -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-padded -Wno-reserved-id-macro -Wno-sign-conversion -Wno-static-in-inline -Wno-switch-enum -Wno-undef -Wno-unreachable-code -Wno-used-but-marked-unused -o result.o -c ../../../../ext/mysql2/result.c
../../../../ext/mysql2/result.c: In function ‘rb_mysql_result_fetch_field_type’:
../../../../ext/mysql2/result.c:252:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int’ [-Wformat=]
252 | rb_field_type = rb_sprintf("decimal(%ld,%d)", precision, field->decimals);
| ~~^ ~~~~~~~~~
| | |
| | int
| long int
| %d
../../../../ext/mysql2/result.c: At top level:
cc1: note: unrecognized command-line option ‘-Wno-used-but-marked-unused’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-static-in-inline’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-reserved-id-macro’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-missing-variable-declarations’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-documentation-unknown-command’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-disabled-macro-expansion’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-covered-switch-default’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-conditional-uninitialized’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
gcc -I. -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/x86_64-linux -I/usr/local/ruby-3.0.0/include/ruby-3.0.0/ruby/backward -I/usr/local/ruby-3.0.0/include/ruby-3.0.0 -I../../../../ext/mysql2 -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_RB_ABSINT_SIZE -DHAVE_RB_ABSINT_SINGLEBIT_P -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_CONST_MYSQL_OPT_SSL_ENFORCE -DHAVE_MYSQL_NET_PVIO -DHAVE_ST_NET_PVIO -DHAVE_CONST_MYSQL_ENABLE_CLEARTEXT_PLUGIN -DHAVE_CONST_SERVER_QUERY_NO_GOOD_INDEX_USED -DHAVE_CONST_SERVER_QUERY_NO_INDEX_USED -DHAVE_CONST_SERVER_QUERY_WAS_SLOW -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_ON -DHAVE_CONST_MYSQL_OPTION_MULTI_STATEMENTS_OFF -DHAVE_TYPE_MY_BOOL -fPIC -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -fPIC -Wno-bad-function-cast -Wno-conditional-uninitialized -Wno-covered-switch-default -Wno-declaration-after-statement -Wno-disabled-macro-expansion -Wno-documentation-unknown-command -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-padded -Wno-reserved-id-macro -Wno-sign-conversion -Wno-static-in-inline -Wno-switch-enum -Wno-undef -Wno-unreachable-code -Wno-used-but-marked-unused -o statement.o -c ../../../../ext/mysql2/statement.c
rm -f mysql2.so
gcc -shared -o mysql2.so client.o infile.o mysql2_ext.o result.o statement.o -L. -L/usr/local/ruby-3.0.0/lib -Wl,-rpath,/usr/local/ruby-3.0.0/lib -L/usr/lib64/ -Wl,-rpath,/usr/lib64/ -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--compress-debug-sections=zlib -Wl,-rpath,/usr/local/ruby-3.0.0/lib -L/usr/local/ruby-3.0.0/lib -lruby -L/usr/lib64/ -lmariadb -lm -lc
cd -
mkdir -p tmp/x86_64-linux/stage/lib/mysql2
cp CHANGELOG.md tmp/x86_64-linux/stage/CHANGELOG.md
cp LICENSE tmp/x86_64-linux/stage/LICENSE
cp README.md tmp/x86_64-linux/stage/README.md
mkdir -p tmp/x86_64-linux/stage/ext/mysql2
cp ext/mysql2/client.c tmp/x86_64-linux/stage/ext/mysql2/client.c
cp ext/mysql2/client.h tmp/x86_64-linux/stage/ext/mysql2/client.h
cp ext/mysql2/extconf.rb tmp/x86_64-linux/stage/ext/mysql2/extconf.rb
cp ext/mysql2/infile.c tmp/x86_64-linux/stage/ext/mysql2/infile.c
cp ext/mysql2/infile.h tmp/x86_64-linux/stage/ext/mysql2/infile.h
cp ext/mysql2/mysql2_ext.c tmp/x86_64-linux/stage/ext/mysql2/mysql2_ext.c
cp ext/mysql2/mysql2_ext.h tmp/x86_64-linux/stage/ext/mysql2/mysql2_ext.h
cp ext/mysql2/mysql_enc_name_to_ruby.h tmp/x86_64-linux/stage/ext/mysql2/mysql_enc_name_to_ruby.h
cp ext/mysql2/mysql_enc_to_ruby.h tmp/x86_64-linux/stage/ext/mysql2/mysql_enc_to_ruby.h
cp ext/mysql2/result.c tmp/x86_64-linux/stage/ext/mysql2/result.c
cp ext/mysql2/result.h tmp/x86_64-linux/stage/ext/mysql2/result.h
cp ext/mysql2/statement.c tmp/x86_64-linux/stage/ext/mysql2/statement.c
cp ext/mysql2/statement.h tmp/x86_64-linux/stage/ext/mysql2/statement.h
cp ext/mysql2/wait_for_single_fd.h tmp/x86_64-linux/stage/ext/mysql2/wait_for_single_fd.h
cp lib/mysql2.rb tmp/x86_64-linux/stage/lib/mysql2.rb
cp lib/mysql2/client.rb tmp/x86_64-linux/stage/lib/mysql2/client.rb
cp lib/mysql2/console.rb tmp/x86_64-linux/stage/lib/mysql2/console.rb
cp lib/mysql2/em.rb tmp/x86_64-linux/stage/lib/mysql2/em.rb
cp lib/mysql2/error.rb tmp/x86_64-linux/stage/lib/mysql2/error.rb
cp lib/mysql2/field.rb tmp/x86_64-linux/stage/lib/mysql2/field.rb
cp lib/mysql2/result.rb tmp/x86_64-linux/stage/lib/mysql2/result.rb
cp lib/mysql2/statement.rb tmp/x86_64-linux/stage/lib/mysql2/statement.rb
cp lib/mysql2/version.rb tmp/x86_64-linux/stage/lib/mysql2/version.rb
mkdir -p tmp/x86_64-linux/stage/support
cp support/5072E1F5.asc tmp/x86_64-linux/stage/support/5072E1F5.asc
cp support/libmysql.def tmp/x86_64-linux/stage/support/libmysql.def
cp support/mysql_enc_to_ruby.rb tmp/x86_64-linux/stage/support/mysql_enc_to_ruby.rb
cp support/ruby_enc_to_mysql.rb tmp/x86_64-linux/stage/support/ruby_enc_to_mysql.rb
install -c tmp/x86_64-linux/mysql2/3.0.0/mysql2.so lib/mysql2/mysql2.so
cp tmp/x86_64-linux/mysql2/3.0.0/mysql2.so tmp/x86_64-linux/stage/lib/mysql2/mysql2.so
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment