Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Files added in the cross_compile block cannot vary between platforms #106

Open
sodabrew opened this issue Feb 21, 2015 · 12 comments
Open

Files added in the cross_compile block cannot vary between platforms #106

sodabrew opened this issue Feb 21, 2015 · 12 comments

Comments

@sodabrew
Copy link
Contributor

In my implementation of #100, I somewhat[1] mistakenly assumed that the compilation occurred in the main code directory, and that the files added to spec.files would be rooted at code root. This turns out to be only half-correct; compilation occurs in a tmp directory, and the all of the files are staged into a package path per target.

The issue I found while building mysql2 0.3.18 was that the vendor/libmysql.dll that is copied from the MySQL Connector/C package, was either PE32 or PE32+ for all platforms. It should have been PE32 for x86 and PE32+ for x64. I dug in to see what was going on...

Rake-compiler creates tmp dirs for each target-platform-and-Ruby combination, changes into each tmp dir, and compiles the gem for each platform-and-Ruby.

Then rake-compiler creates pkg / staging dirs for each target, copies each of the Ruby builds for that target into a Ruby-version-specific subdir, and builds the gem for that target.

What I need is right in the middle of these: within each target platform, I will have the same libmysql.dll across all Rubies (a noop to recopy it for each Ruby in that target, but no harm), however each target platform may have a different build of it.

  1. I say somewhat because two other files generated at compile time are identical across all platforms and Rubies, so the assumption worked just fine.
@sodabrew
Copy link
Contributor Author

I don't have a solution in mind, and I've been playing around a bunch with the rake-compiler compile-time tasks to see if I can get a working combination. See brianmario/mysql2#586, which changes from an absolute vendor dir to a relative one - which will be in the tmp dir for that target. It fails with:

cd -
mkdir -p tmp/x64-mingw32/stage/lib/mysql2/2.1
install -c tmp/x64-mingw32/mysql2/2.1.4/mysql2.so lib/mysql2/2.1/mysql2.so
cp tmp/x64-mingw32/mysql2/2.1.4/mysql2.so tmp/x64-mingw32/stage/lib/mysql2/2.1/mysql2.so
rake aborted!
Don't know how to build task 'vendor/libmysql.dll'

Tasks: TOP => gem => pkg/mysql2-0.3.18-x86-mingw32.gem
(See full trace by running task with --trace)

because at this point the PWD is the directory root. I think the solution will be to teach rake-compiler that for files added at compile time, first try to find them in the target tmp dir, and then fall back on the base code tree. Does this sound reasonable?

@kou
Copy link
Member

kou commented Feb 26, 2015

Could you give us command lines that reproduce the problem?

@sodabrew
Copy link
Contributor Author

In a rake-compiler-dev-box, package_win32_fat_binary mysql2

@kou
Copy link
Member

kou commented Feb 26, 2015

Could you describe how to create rake-compiler-dev-box?

@sodabrew
Copy link
Contributor Author

Just followed the directions at https://github.com/tjschuck/rake-compiler-dev-box

Are you setting up an environment to replicate the problem?

@kou
Copy link
Member

kou commented Mar 1, 2015

Does the following reproduces your problem?

vagrant@precise64:/vagrant$ package_win32_fat_binary mysql2
...
Using /home/vagrant/.rvm/gems/ruby-1.9.3-p551
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Installing rake 0.9.6
Installing i18n 0.7.0
Installing json 1.8.2
Installing minitest 5.5.1
Installing thread_safe 0.3.4
Installing tzinfo 1.2.2
Installing activesupport 4.2.0
Installing builder 3.2.2
Installing activemodel 4.2.0
Installing arel 6.0.0
Installing activerecord 4.2.0
Installing addressable 2.3.7
Installing coderay 1.1.0
Installing data_objects 0.10.15
Installing diff-lcs 1.1.3

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -r ./siteconf20150301-18913-16l0x6s.rb extconf.rb 
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby
    --with-mysql-config
    --without-mysql-config
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysqlclientlib
    --without-mysqlclientlib

extconf failed, exit code 1

Gem files will remain installed in /home/vagrant/.rvm/gems/ruby-1.9.3-p551/gems/do_mysql-0.10.15 for inspection.
Results logged to /home/vagrant/.rvm/gems/ruby-1.9.3-p551/extensions/x86_64-linux/1.9.1/do_mysql-0.10.15/gem_make.out
An error occurred while installing do_mysql (0.10.15), and Bundler cannot
continue.
Make sure that `gem install do_mysql -v '0.10.15'` succeeds before bundling.

@sodabrew
Copy link
Contributor Author

sodabrew commented Mar 1, 2015

Oh, do an initial bundle install --without benchmarks to skip those gems, or set it in .bundle/config - here's mine:

cat mysql2-sodabrew-build/.bundle/config
---
BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_WITHOUT: benchmarks

@kou
Copy link
Member

kou commented Mar 5, 2015

Thanks.

Does the following reproduce your problem?

vagrant@precise64:/vagrant$ package_win32_fat_binary mysql2
Using /home/vagrant/.rvm/gems/ruby-1.9.3-p551
Resolving dependencies...
Using rake 0.9.6
Using coderay 1.1.0
Using diff-lcs 1.1.3
Using eventmachine 1.0.7
Using method_source 0.8.2
Using mysql2 0.3.18 from source at .
Using slop 3.6.0
Using pry 0.10.1
Using rake-compiler 0.9.5
Using rspec-core 2.8.0
Using rspec-expectations 2.8.0
Using rspec-mocks 2.8.0
Using rspec 2.8.0
Using bundler 1.7.6
Your bundle is complete!
Gems in the group benchmarks were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.9.3)
rm -r tmp/x86_64-linux/mysql2/1.9.3
rm -r tmp/x86_64-linux/stage
rm -r tmp/x86-mingw32/mysql2/1.9.3
rm -r tmp/x86-mingw32/stage
rm -r tmp/x86-mswin32-60/mysql2/1.9.3
rm -r tmp/x86-mswin32-60/stage
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.8.7)
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.9.3)
vendor:mysql for mysql-connector-c-6.1.5-win32
cd vendor
unzip -uq /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32.zip mysql-connector-c-6.1.5-win32/bin/** mysql-connector-c-6.1.5-win32/include/** mysql-connector-c-6.1.5-win32/lib/** mysql-connector-c-6.1.5-win32/README
rake aborted!
Command failed with status (127): [unzip -uq /vagrant/mysql2/vendor/mysql-con...]
tasks/vendor_mysql.rake:51:in `block (4 levels) in <top (required)>'
tasks/vendor_mysql.rake:50:in `block (3 levels) in <top (required)>'
tasks/vendor_mysql.rake:49:in `block (2 levels) in <top (required)>'
tasks/vendor_mysql.rake:65:in `block in <top (required)>'
tasks/vendor_mysql.rake:26:in `block in <top (required)>'
/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `eval'
/home/vagrant/.rvm/gems/ruby-1.9.3-p551/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => vendor/mysql-connector-c-6.1.5-win32/include/mysql.h
(See full trace by running task with --trace)

@sodabrew
Copy link
Contributor Author

sodabrew commented Mar 7, 2015

@kou - that looks like maybe you are missing the unzip binary - I just checked and it's not in the default install for the vagrant VM, I used sudo apt-get install unzip.

@kou
Copy link
Member

kou commented Mar 8, 2015

Thanks.

Does the following reproduce your problem?

vagrant@precise64:/vagrant$ package_win32_fat_binary mysql2
Using /home/vagrant/.rvm/gems/ruby-1.9.3-p551
Resolving dependencies...
Using rake 0.9.6
Using coderay 1.1.0
Using diff-lcs 1.1.3
Using eventmachine 1.0.7
Using method_source 0.8.2
Using mysql2 0.3.18 from source at .
Using slop 3.6.0
Using pry 0.10.1
Using rake-compiler 0.9.5
Using rspec-core 2.8.0
Using rspec-expectations 2.8.0
Using rspec-mocks 2.8.0
Using rspec 2.8.0
Using bundler 1.7.6
Your bundle is complete!
Gems in the group benchmarks were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.9.3)
rm -r tmp/x86_64-linux/mysql2/1.9.3
rm -r tmp/x86_64-linux/stage
rm -r tmp/x86-mingw32/mysql2/1.9.3
rm -r tmp/x86-mingw32/stage
rm -r tmp/x86-mswin32-60/mysql2/1.9.3
rm -r tmp/x86-mswin32-60/stage
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.8.7)
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-1.9.3)
vendor:mysql for mysql-connector-c-6.1.5-win32
cd vendor
unzip -uq /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32.zip mysql-connector-c-6.1.5-win32/bin/** mysql-connector-c-6.1.5-win32/include/** mysql-connector-c-6.1.5-win32/lib/** mysql-connector-c-6.1.5-win32/README
cd -
touch vendor/mysql-connector-c-6.1.5-win32/include/mysql.h
vendor:mysql for mysql-connector-c-6.1.5-winx64
cd vendor
curl -C - -O http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-6.1.5-winx64.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.9M  100 22.9M    0     0  4750k      0  0:00:04  0:00:04 --:--:-- 5655k
cd -
cd vendor
unzip -uq /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64.zip mysql-connector-c-6.1.5-winx64/bin/** mysql-connector-c-6.1.5-winx64/include/** mysql-connector-c-6.1.5-winx64/lib/** mysql-connector-c-6.1.5-winx64/README
cd -
touch vendor/mysql-connector-c-6.1.5-winx64/include/mysql.h
mkdir -p lib/mysql2/1.8
mkdir -p tmp/x86-mingw32/mysql2/1.8.7
cp /home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/mkmf.rb tmp/x86-mingw32/mysql2/1.8.7/mkmf.rb
cd tmp/x86-mingw32/mysql2/1.8.7
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... no
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... no
checking for rb_hash_dup()... no
checking for rb_intern3()... no
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i586-mingw32msvc-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
cp /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.dll /vagrant/mysql2/vendor/libmysql.dll
creating Makefile
rm -f conftest*
cd -
cd tmp/x86-mingw32/mysql2/1.8.7
make -j2
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mingw32/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/infile.c
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mingw32/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.h:26: warning: 'rb_thread_call_without_gvl' defined but not used
../../../../ext/mysql2/wait_for_single_fd.h:15: warning: 'my_wait_for_single_fd' defined but not used
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mingw32/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/result.c
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mingw32/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/client.h:26: warning: 'rb_thread_call_without_gvl' defined but not used
i586-mingw32msvc-gcc -shared -s -o mysql2.so infile.o client.o result.o mysql2_ext.o -L. -L/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib -L/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib -L.  -Wl,--enable-auto-image-base,--enable-auto-import,--export-all  libmysql.a -lmsvcrt-ruby18  -lshell32 -lws2_32  
cd -
mkdir -p tmp/x86-mingw32/stage/lib/mysql2/1.8
cp README.md tmp/x86-mingw32/stage/README.md
mkdir -p tmp/x86-mingw32/stage/examples
cp examples/eventmachine.rb tmp/x86-mingw32/stage/examples/eventmachine.rb
cp examples/threaded.rb tmp/x86-mingw32/stage/examples/threaded.rb
mkdir -p tmp/x86-mingw32/stage/ext/mysql2
cp ext/mysql2/client.c tmp/x86-mingw32/stage/ext/mysql2/client.c
cp ext/mysql2/client.h tmp/x86-mingw32/stage/ext/mysql2/client.h
cp ext/mysql2/extconf.rb tmp/x86-mingw32/stage/ext/mysql2/extconf.rb
cp ext/mysql2/infile.c tmp/x86-mingw32/stage/ext/mysql2/infile.c
cp ext/mysql2/infile.h tmp/x86-mingw32/stage/ext/mysql2/infile.h
cp ext/mysql2/mysql2_ext.c tmp/x86-mingw32/stage/ext/mysql2/mysql2_ext.c
cp ext/mysql2/mysql2_ext.h tmp/x86-mingw32/stage/ext/mysql2/mysql2_ext.h
cp ext/mysql2/mysql_enc_name_to_ruby.h tmp/x86-mingw32/stage/ext/mysql2/mysql_enc_name_to_ruby.h
cp ext/mysql2/mysql_enc_to_ruby.h tmp/x86-mingw32/stage/ext/mysql2/mysql_enc_to_ruby.h
cp ext/mysql2/result.c tmp/x86-mingw32/stage/ext/mysql2/result.c
cp ext/mysql2/result.h tmp/x86-mingw32/stage/ext/mysql2/result.h
cp ext/mysql2/wait_for_single_fd.h tmp/x86-mingw32/stage/ext/mysql2/wait_for_single_fd.h
cp lib/mysql2.rb tmp/x86-mingw32/stage/lib/mysql2.rb
cp lib/mysql2/client.rb tmp/x86-mingw32/stage/lib/mysql2/client.rb
cp lib/mysql2/console.rb tmp/x86-mingw32/stage/lib/mysql2/console.rb
cp lib/mysql2/em.rb tmp/x86-mingw32/stage/lib/mysql2/em.rb
cp lib/mysql2/error.rb tmp/x86-mingw32/stage/lib/mysql2/error.rb
cp lib/mysql2/result.rb tmp/x86-mingw32/stage/lib/mysql2/result.rb
cp lib/mysql2/version.rb tmp/x86-mingw32/stage/lib/mysql2/version.rb
mkdir -p tmp/x86-mingw32/stage/spec
cp spec/configuration.yml.example tmp/x86-mingw32/stage/spec/configuration.yml.example
mkdir -p tmp/x86-mingw32/stage/spec/em
cp spec/em/em_spec.rb tmp/x86-mingw32/stage/spec/em/em_spec.rb
cp spec/my.cnf.example tmp/x86-mingw32/stage/spec/my.cnf.example
mkdir -p tmp/x86-mingw32/stage/spec/mysql2
cp spec/mysql2/client_spec.rb tmp/x86-mingw32/stage/spec/mysql2/client_spec.rb
cp spec/mysql2/error_spec.rb tmp/x86-mingw32/stage/spec/mysql2/error_spec.rb
cp spec/mysql2/result_spec.rb tmp/x86-mingw32/stage/spec/mysql2/result_spec.rb
cp spec/rcov.opts tmp/x86-mingw32/stage/spec/rcov.opts
cp spec/spec_helper.rb tmp/x86-mingw32/stage/spec/spec_helper.rb
cp spec/test_data tmp/x86-mingw32/stage/spec/test_data
mkdir -p tmp/x86-mingw32/stage/support
cp support/libmysql.def tmp/x86-mingw32/stage/support/libmysql.def
cp support/mysql_enc_to_ruby.rb tmp/x86-mingw32/stage/support/mysql_enc_to_ruby.rb
cp support/ruby_enc_to_mysql.rb tmp/x86-mingw32/stage/support/ruby_enc_to_mysql.rb
install -c tmp/x86-mingw32/mysql2/1.8.7/mysql2.so lib/mysql2/1.8/mysql2.so
cp tmp/x86-mingw32/mysql2/1.8.7/mysql2.so tmp/x86-mingw32/stage/lib/mysql2/1.8/mysql2.so
mkdir -p lib/mysql2/1.9
mkdir -p tmp/x86-mingw32/mysql2/1.9.3
cp /home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.9.3-p550/lib/ruby/1.9.1/mkmf.rb tmp/x86-mingw32/mysql2/1.9.3/mkmf.rb
cd tmp/x86-mingw32/mysql2/1.9.3
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... no
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i586-mingw32msvc-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
rm -f conftest*
cd -
cd tmp/x86-mingw32/mysql2/1.9.3
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
compiling ../../../../ext/mysql2/result.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585: warning: ISO C90 forbids mixed declarations and code
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186: warning: comparison between signed and unsigned
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434: warning: comparison between signed and unsigned
compiling ../../../../ext/mysql2/mysql2_ext.c
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mingw32/stage/lib/mysql2/1.9
install -c tmp/x86-mingw32/mysql2/1.9.3/mysql2.so lib/mysql2/1.9/mysql2.so
cp tmp/x86-mingw32/mysql2/1.9.3/mysql2.so tmp/x86-mingw32/stage/lib/mysql2/1.9/mysql2.so
mkdir -p lib/mysql2/2.0
mkdir -p tmp/x86-mingw32/mysql2/2.0.0
cp /home/vagrant/.rake-compiler/ruby/i686-w64-mingw32/ruby-2.0.0-p594/lib/ruby/2.0.0/mkmf.rb tmp/x86-mingw32/mysql2/2.0.0/mkmf.rb
cd tmp/x86-mingw32/mysql2/2.0.0
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i686-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x86-mingw32/mysql2/2.0.0
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/result.c
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mingw32/stage/lib/mysql2/2.0
install -c tmp/x86-mingw32/mysql2/2.0.0/mysql2.so lib/mysql2/2.0/mysql2.so
cp tmp/x86-mingw32/mysql2/2.0.0/mysql2.so tmp/x86-mingw32/stage/lib/mysql2/2.0/mysql2.so
mkdir -p lib/mysql2/2.1
mkdir -p tmp/x86-mingw32/mysql2/2.1.4
cp /home/vagrant/.rake-compiler/ruby/i686-w64-mingw32/ruby-2.1.4/lib/ruby/2.1.0/mkmf.rb tmp/x86-mingw32/mysql2/2.1.4/mkmf.rb
cd tmp/x86-mingw32/mysql2/2.1.4
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i686-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x86-mingw32/mysql2/2.1.4
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
compiling ../../../../ext/mysql2/result.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mingw32/stage/lib/mysql2/2.1
install -c tmp/x86-mingw32/mysql2/2.1.4/mysql2.so lib/mysql2/2.1/mysql2.so
cp tmp/x86-mingw32/mysql2/2.1.4/mysql2.so tmp/x86-mingw32/stage/lib/mysql2/2.1/mysql2.so
cp /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/README vendor/README
mkdir -p tmp/x86-mswin32-60/mysql2/1.8.7
cp /home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/mkmf.rb tmp/x86-mswin32-60/mysql2/1.8.7/mkmf.rb
cd tmp/x86-mswin32-60/mysql2/1.8.7
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... no
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... no
checking for rb_hash_dup()... no
checking for rb_intern3()... no
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i586-mingw32msvc-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
rm -f conftest*
cd -
cd tmp/x86-mswin32-60/mysql2/1.8.7
make -j2
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mswin32-60/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/infile.c
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mswin32-60/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.h:26: warning: 'rb_thread_call_without_gvl' defined but not used
../../../../ext/mysql2/wait_for_single_fd.h:15: warning: 'my_wait_for_single_fd' defined but not used
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mswin32-60/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/result.c
i586-mingw32msvc-gcc -I. -I/vagrant/mysql2/tmp/x86-mswin32-60/mysql2/1.8.7 -I/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib/ruby/1.8/i386-mingw32 -I../../../../ext/mysql2 -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/include    -g -O2   -Wall -funroll-loops  -c ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/client.h:26: warning: 'rb_thread_call_without_gvl' defined but not used
i586-mingw32msvc-gcc -shared -s -o mysql2.so infile.o client.o result.o mysql2_ext.o -L. -L/home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.8.7-p374/lib -L/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib -L.  -Wl,--enable-auto-image-base,--enable-auto-import,--export-all  libmysql.a -lmsvcrt-ruby18  -lshell32 -lws2_32  
cd -
mkdir -p tmp/x86-mswin32-60/stage/lib/mysql2/1.8
cp README.md tmp/x86-mswin32-60/stage/README.md
mkdir -p tmp/x86-mswin32-60/stage/examples
cp examples/eventmachine.rb tmp/x86-mswin32-60/stage/examples/eventmachine.rb
cp examples/threaded.rb tmp/x86-mswin32-60/stage/examples/threaded.rb
mkdir -p tmp/x86-mswin32-60/stage/ext/mysql2
cp ext/mysql2/client.c tmp/x86-mswin32-60/stage/ext/mysql2/client.c
cp ext/mysql2/client.h tmp/x86-mswin32-60/stage/ext/mysql2/client.h
cp ext/mysql2/extconf.rb tmp/x86-mswin32-60/stage/ext/mysql2/extconf.rb
cp ext/mysql2/infile.c tmp/x86-mswin32-60/stage/ext/mysql2/infile.c
cp ext/mysql2/infile.h tmp/x86-mswin32-60/stage/ext/mysql2/infile.h
cp ext/mysql2/mysql2_ext.c tmp/x86-mswin32-60/stage/ext/mysql2/mysql2_ext.c
cp ext/mysql2/mysql2_ext.h tmp/x86-mswin32-60/stage/ext/mysql2/mysql2_ext.h
cp ext/mysql2/mysql_enc_name_to_ruby.h tmp/x86-mswin32-60/stage/ext/mysql2/mysql_enc_name_to_ruby.h
cp ext/mysql2/mysql_enc_to_ruby.h tmp/x86-mswin32-60/stage/ext/mysql2/mysql_enc_to_ruby.h
cp ext/mysql2/result.c tmp/x86-mswin32-60/stage/ext/mysql2/result.c
cp ext/mysql2/result.h tmp/x86-mswin32-60/stage/ext/mysql2/result.h
cp ext/mysql2/wait_for_single_fd.h tmp/x86-mswin32-60/stage/ext/mysql2/wait_for_single_fd.h
cp lib/mysql2.rb tmp/x86-mswin32-60/stage/lib/mysql2.rb
cp lib/mysql2/client.rb tmp/x86-mswin32-60/stage/lib/mysql2/client.rb
cp lib/mysql2/console.rb tmp/x86-mswin32-60/stage/lib/mysql2/console.rb
cp lib/mysql2/em.rb tmp/x86-mswin32-60/stage/lib/mysql2/em.rb
cp lib/mysql2/error.rb tmp/x86-mswin32-60/stage/lib/mysql2/error.rb
cp lib/mysql2/result.rb tmp/x86-mswin32-60/stage/lib/mysql2/result.rb
cp lib/mysql2/version.rb tmp/x86-mswin32-60/stage/lib/mysql2/version.rb
mkdir -p tmp/x86-mswin32-60/stage/spec
cp spec/configuration.yml.example tmp/x86-mswin32-60/stage/spec/configuration.yml.example
mkdir -p tmp/x86-mswin32-60/stage/spec/em
cp spec/em/em_spec.rb tmp/x86-mswin32-60/stage/spec/em/em_spec.rb
cp spec/my.cnf.example tmp/x86-mswin32-60/stage/spec/my.cnf.example
mkdir -p tmp/x86-mswin32-60/stage/spec/mysql2
cp spec/mysql2/client_spec.rb tmp/x86-mswin32-60/stage/spec/mysql2/client_spec.rb
cp spec/mysql2/error_spec.rb tmp/x86-mswin32-60/stage/spec/mysql2/error_spec.rb
cp spec/mysql2/result_spec.rb tmp/x86-mswin32-60/stage/spec/mysql2/result_spec.rb
cp spec/rcov.opts tmp/x86-mswin32-60/stage/spec/rcov.opts
cp spec/spec_helper.rb tmp/x86-mswin32-60/stage/spec/spec_helper.rb
cp spec/test_data tmp/x86-mswin32-60/stage/spec/test_data
mkdir -p tmp/x86-mswin32-60/stage/support
cp support/libmysql.def tmp/x86-mswin32-60/stage/support/libmysql.def
cp support/mysql_enc_to_ruby.rb tmp/x86-mswin32-60/stage/support/mysql_enc_to_ruby.rb
cp support/ruby_enc_to_mysql.rb tmp/x86-mswin32-60/stage/support/ruby_enc_to_mysql.rb
install -c tmp/x86-mswin32-60/mysql2/1.8.7/mysql2.so lib/mysql2/1.8/mysql2.so
cp tmp/x86-mswin32-60/mysql2/1.8.7/mysql2.so tmp/x86-mswin32-60/stage/lib/mysql2/1.8/mysql2.so
mkdir -p tmp/x86-mswin32-60/mysql2/1.9.3
cp /home/vagrant/.rake-compiler/ruby/i586-mingw32msvc/ruby-1.9.3-p550/lib/ruby/1.9.1/mkmf.rb tmp/x86-mswin32-60/mysql2/1.9.3/mkmf.rb
cd tmp/x86-mswin32-60/mysql2/1.9.3
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... no
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i586-mingw32msvc-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
rm -f conftest*
cd -
cd tmp/x86-mswin32-60/mysql2/1.9.3
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585: warning: ISO C90 forbids mixed declarations and code
compiling ../../../../ext/mysql2/result.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186: warning: comparison between signed and unsigned
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434: warning: comparison between signed and unsigned
compiling ../../../../ext/mysql2/mysql2_ext.c
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mswin32-60/stage/lib/mysql2/1.9
install -c tmp/x86-mswin32-60/mysql2/1.9.3/mysql2.so lib/mysql2/1.9/mysql2.so
cp tmp/x86-mswin32-60/mysql2/1.9.3/mysql2.so tmp/x86-mswin32-60/stage/lib/mysql2/1.9/mysql2.so
mkdir -p tmp/x86-mswin32-60/mysql2/2.0.0
cp /home/vagrant/.rake-compiler/ruby/i686-w64-mingw32/ruby-2.0.0-p594/lib/ruby/2.0.0/mkmf.rb tmp/x86-mswin32-60/mysql2/2.0.0/mkmf.rb
cd tmp/x86-mswin32-60/mysql2/2.0.0
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i686-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x86-mswin32-60/mysql2/2.0.0
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
compiling ../../../../ext/mysql2/result.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mswin32-60/stage/lib/mysql2/2.0
install -c tmp/x86-mswin32-60/mysql2/2.0.0/mysql2.so lib/mysql2/2.0/mysql2.so
cp tmp/x86-mswin32-60/mysql2/2.0.0/mysql2.so tmp/x86-mswin32-60/stage/lib/mysql2/2.0/mysql2.so
mkdir -p tmp/x86-mswin32-60/mysql2/2.1.4
cp /home/vagrant/.rake-compiler/ruby/i686-w64-mingw32/ruby-2.1.4/lib/ruby/2.1.0/mkmf.rb tmp/x86-mswin32-60/mysql2/2.1.4/mkmf.rb
cd tmp/x86-mswin32-60/mysql2/2.1.4
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
i686-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-win32/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x86-mswin32-60/mysql2/2.1.4
make -j2
generating mysql2-i386-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
compiling ../../../../ext/mysql2/result.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x86-mswin32-60/stage/lib/mysql2/2.1
install -c tmp/x86-mswin32-60/mysql2/2.1.4/mysql2.so lib/mysql2/2.1/mysql2.so
cp tmp/x86-mswin32-60/mysql2/2.1.4/mysql2.so tmp/x86-mswin32-60/stage/lib/mysql2/2.1/mysql2.so
mkdir -p tmp/x64-mingw32/mysql2/2.0.0
cp /home/vagrant/.rake-compiler/ruby/x86_64-w64-mingw32/ruby-2.0.0-p594/lib/ruby/2.0.0/mkmf.rb tmp/x64-mingw32/mysql2/2.0.0/mkmf.rb
cd tmp/x64-mingw32/mysql2/2.0.0
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
x86_64-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x64-mingw32/mysql2/2.0.0
make -j2
generating mysql2-x64-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/result.c
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x64-mingw32/stage/lib/mysql2/2.0
cp README.md tmp/x64-mingw32/stage/README.md
mkdir -p tmp/x64-mingw32/stage/examples
cp examples/eventmachine.rb tmp/x64-mingw32/stage/examples/eventmachine.rb
cp examples/threaded.rb tmp/x64-mingw32/stage/examples/threaded.rb
mkdir -p tmp/x64-mingw32/stage/ext/mysql2
cp ext/mysql2/client.c tmp/x64-mingw32/stage/ext/mysql2/client.c
cp ext/mysql2/client.h tmp/x64-mingw32/stage/ext/mysql2/client.h
cp ext/mysql2/extconf.rb tmp/x64-mingw32/stage/ext/mysql2/extconf.rb
cp ext/mysql2/infile.c tmp/x64-mingw32/stage/ext/mysql2/infile.c
cp ext/mysql2/infile.h tmp/x64-mingw32/stage/ext/mysql2/infile.h
cp ext/mysql2/mysql2_ext.c tmp/x64-mingw32/stage/ext/mysql2/mysql2_ext.c
cp ext/mysql2/mysql2_ext.h tmp/x64-mingw32/stage/ext/mysql2/mysql2_ext.h
cp ext/mysql2/mysql_enc_name_to_ruby.h tmp/x64-mingw32/stage/ext/mysql2/mysql_enc_name_to_ruby.h
cp ext/mysql2/mysql_enc_to_ruby.h tmp/x64-mingw32/stage/ext/mysql2/mysql_enc_to_ruby.h
cp ext/mysql2/result.c tmp/x64-mingw32/stage/ext/mysql2/result.c
cp ext/mysql2/result.h tmp/x64-mingw32/stage/ext/mysql2/result.h
cp ext/mysql2/wait_for_single_fd.h tmp/x64-mingw32/stage/ext/mysql2/wait_for_single_fd.h
cp lib/mysql2.rb tmp/x64-mingw32/stage/lib/mysql2.rb
cp lib/mysql2/client.rb tmp/x64-mingw32/stage/lib/mysql2/client.rb
cp lib/mysql2/console.rb tmp/x64-mingw32/stage/lib/mysql2/console.rb
cp lib/mysql2/em.rb tmp/x64-mingw32/stage/lib/mysql2/em.rb
cp lib/mysql2/error.rb tmp/x64-mingw32/stage/lib/mysql2/error.rb
cp lib/mysql2/result.rb tmp/x64-mingw32/stage/lib/mysql2/result.rb
cp lib/mysql2/version.rb tmp/x64-mingw32/stage/lib/mysql2/version.rb
mkdir -p tmp/x64-mingw32/stage/spec
cp spec/configuration.yml.example tmp/x64-mingw32/stage/spec/configuration.yml.example
mkdir -p tmp/x64-mingw32/stage/spec/em
cp spec/em/em_spec.rb tmp/x64-mingw32/stage/spec/em/em_spec.rb
cp spec/my.cnf.example tmp/x64-mingw32/stage/spec/my.cnf.example
mkdir -p tmp/x64-mingw32/stage/spec/mysql2
cp spec/mysql2/client_spec.rb tmp/x64-mingw32/stage/spec/mysql2/client_spec.rb
cp spec/mysql2/error_spec.rb tmp/x64-mingw32/stage/spec/mysql2/error_spec.rb
cp spec/mysql2/result_spec.rb tmp/x64-mingw32/stage/spec/mysql2/result_spec.rb
cp spec/rcov.opts tmp/x64-mingw32/stage/spec/rcov.opts
cp spec/spec_helper.rb tmp/x64-mingw32/stage/spec/spec_helper.rb
cp spec/test_data tmp/x64-mingw32/stage/spec/test_data
mkdir -p tmp/x64-mingw32/stage/support
cp support/libmysql.def tmp/x64-mingw32/stage/support/libmysql.def
cp support/mysql_enc_to_ruby.rb tmp/x64-mingw32/stage/support/mysql_enc_to_ruby.rb
cp support/ruby_enc_to_mysql.rb tmp/x64-mingw32/stage/support/ruby_enc_to_mysql.rb
install -c tmp/x64-mingw32/mysql2/2.0.0/mysql2.so lib/mysql2/2.0/mysql2.so
cp tmp/x64-mingw32/mysql2/2.0.0/mysql2.so tmp/x64-mingw32/stage/lib/mysql2/2.0/mysql2.so
mkdir -p tmp/x64-mingw32/mysql2/2.1.4
cp /home/vagrant/.rake-compiler/ruby/x86_64-w64-mingw32/ruby-2.1.4/lib/ruby/2.1.0/mkmf.rb tmp/x64-mingw32/mysql2/2.1.4/mkmf.rb
cd tmp/x64-mingw32/mysql2/2.1.4
/home/vagrant/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -I. ../../../../ext/mysql2/extconf.rb --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using --with-mysql-dir=/vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
x86_64-w64-mingw32-dlltool --kill-at --dllname libmysql.dll --output-lib libmysql.a --input-def /vagrant/mysql2/support/libmysql.def /vagrant/mysql2/vendor/mysql-connector-c-6.1.5-winx64/lib/libmysql.lib
creating Makefile
cd -
cd tmp/x64-mingw32/mysql2/2.1.4
make -j2
generating mysql2-x64-mingw32.def
compiling ../../../../ext/mysql2/infile.c
compiling ../../../../ext/mysql2/client.c
../../../../ext/mysql2/client.c: In function 'finish_and_mark_inactive':
../../../../ext/mysql2/client.c:585:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_query':
../../../../ext/mysql2/client.c:642:7: warning: variable 'async' set but not used [-Wunused-but-set-variable]
../../../../ext/mysql2/client.c: In function 'rb_mysql_client_socket':
../../../../ext/mysql2/client.c:910:3: warning: variable 'wrapper' set but not used [-Wunused-but-set-variable]
compiling ../../../../ext/mysql2/result.c
compiling ../../../../ext/mysql2/mysql2_ext.c
../../../../ext/mysql2/result.c: In function 'msec_char_to_uint':
../../../../ext/mysql2/result.c:186:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../../../../ext/mysql2/result.c: In function 'rb_mysql_result_fetch_fields':
../../../../ext/mysql2/result.c:434:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
linking shared-object mysql2/mysql2.so
cd -
mkdir -p tmp/x64-mingw32/stage/lib/mysql2/2.1
install -c tmp/x64-mingw32/mysql2/2.1.4/mysql2.so lib/mysql2/2.1/mysql2.so
cp tmp/x64-mingw32/mysql2/2.1.4/mysql2.so tmp/x64-mingw32/stage/lib/mysql2/2.1/mysql2.so
mkdir -p pkg
cp lib/mysql2/mysql2.rb tmp/x86-mingw32/stage/lib/mysql2/mysql2.rb
mkdir -p tmp/x86-mingw32/stage/vendor
cp vendor/README tmp/x86-mingw32/stage/vendor/README
cp vendor/libmysql.dll tmp/x86-mingw32/stage/vendor/libmysql.dll
mkdir -p pkg
mkdir -p pkg/mysql2-0.3.18-x86-mingw32
mkdir -p pkg
rm -f pkg/mysql2-0.3.18-x86-mingw32/README.md
ln tmp/x86-mingw32/stage/README.md pkg/mysql2-0.3.18-x86-mingw32/README.md
cp tmp/x86-mingw32/stage/README.md pkg/mysql2-0.3.18-x86-mingw32/README.md
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/examples
rm -f pkg/mysql2-0.3.18-x86-mingw32/examples/eventmachine.rb
cp tmp/x86-mingw32/stage/examples/eventmachine.rb pkg/mysql2-0.3.18-x86-mingw32/examples/eventmachine.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/examples/threaded.rb
cp tmp/x86-mingw32/stage/examples/threaded.rb pkg/mysql2-0.3.18-x86-mingw32/examples/threaded.rb
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/client.c
cp tmp/x86-mingw32/stage/ext/mysql2/client.c pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/client.c
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/client.h
cp tmp/x86-mingw32/stage/ext/mysql2/client.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/client.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/extconf.rb
cp tmp/x86-mingw32/stage/ext/mysql2/extconf.rb pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/extconf.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/infile.c
cp tmp/x86-mingw32/stage/ext/mysql2/infile.c pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/infile.c
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/infile.h
cp tmp/x86-mingw32/stage/ext/mysql2/infile.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/infile.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql2_ext.c
cp tmp/x86-mingw32/stage/ext/mysql2/mysql2_ext.c pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql2_ext.c
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql2_ext.h
cp tmp/x86-mingw32/stage/ext/mysql2/mysql2_ext.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql2_ext.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql_enc_name_to_ruby.h
cp tmp/x86-mingw32/stage/ext/mysql2/mysql_enc_name_to_ruby.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql_enc_name_to_ruby.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql_enc_to_ruby.h
cp tmp/x86-mingw32/stage/ext/mysql2/mysql_enc_to_ruby.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/mysql_enc_to_ruby.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/result.c
cp tmp/x86-mingw32/stage/ext/mysql2/result.c pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/result.c
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/result.h
cp tmp/x86-mingw32/stage/ext/mysql2/result.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/result.h
rm -f pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/wait_for_single_fd.h
cp tmp/x86-mingw32/stage/ext/mysql2/wait_for_single_fd.h pkg/mysql2-0.3.18-x86-mingw32/ext/mysql2/wait_for_single_fd.h
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/lib
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2.rb
cp tmp/x86-mingw32/stage/lib/mysql2.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2.rb
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.8
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.8/mysql2.so
cp tmp/x86-mingw32/stage/lib/mysql2/1.8/mysql2.so pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.8/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.9
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.9/mysql2.so
cp tmp/x86-mingw32/stage/lib/mysql2/1.9/mysql2.so pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/1.9/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.0
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.0/mysql2.so
cp tmp/x86-mingw32/stage/lib/mysql2/2.0/mysql2.so pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.0/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.1
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.1/mysql2.so
cp tmp/x86-mingw32/stage/lib/mysql2/2.1/mysql2.so pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/2.1/mysql2.so
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/client.rb
cp tmp/x86-mingw32/stage/lib/mysql2/client.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/client.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/console.rb
cp tmp/x86-mingw32/stage/lib/mysql2/console.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/console.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/em.rb
cp tmp/x86-mingw32/stage/lib/mysql2/em.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/em.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/error.rb
cp tmp/x86-mingw32/stage/lib/mysql2/error.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/error.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/mysql2.rb
cp tmp/x86-mingw32/stage/lib/mysql2/mysql2.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/mysql2.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/result.rb
cp tmp/x86-mingw32/stage/lib/mysql2/result.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/result.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/version.rb
cp tmp/x86-mingw32/stage/lib/mysql2/version.rb pkg/mysql2-0.3.18-x86-mingw32/lib/mysql2/version.rb
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/spec
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/configuration.yml.example
cp tmp/x86-mingw32/stage/spec/configuration.yml.example pkg/mysql2-0.3.18-x86-mingw32/spec/configuration.yml.example
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/spec/em
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/em/em_spec.rb
cp tmp/x86-mingw32/stage/spec/em/em_spec.rb pkg/mysql2-0.3.18-x86-mingw32/spec/em/em_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/my.cnf.example
cp tmp/x86-mingw32/stage/spec/my.cnf.example pkg/mysql2-0.3.18-x86-mingw32/spec/my.cnf.example
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/client_spec.rb
cp tmp/x86-mingw32/stage/spec/mysql2/client_spec.rb pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/client_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/error_spec.rb
cp tmp/x86-mingw32/stage/spec/mysql2/error_spec.rb pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/error_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/result_spec.rb
cp tmp/x86-mingw32/stage/spec/mysql2/result_spec.rb pkg/mysql2-0.3.18-x86-mingw32/spec/mysql2/result_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/rcov.opts
cp tmp/x86-mingw32/stage/spec/rcov.opts pkg/mysql2-0.3.18-x86-mingw32/spec/rcov.opts
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/spec_helper.rb
cp tmp/x86-mingw32/stage/spec/spec_helper.rb pkg/mysql2-0.3.18-x86-mingw32/spec/spec_helper.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/spec/test_data
cp tmp/x86-mingw32/stage/spec/test_data pkg/mysql2-0.3.18-x86-mingw32/spec/test_data
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/support
rm -f pkg/mysql2-0.3.18-x86-mingw32/support/libmysql.def
cp tmp/x86-mingw32/stage/support/libmysql.def pkg/mysql2-0.3.18-x86-mingw32/support/libmysql.def
rm -f pkg/mysql2-0.3.18-x86-mingw32/support/mysql_enc_to_ruby.rb
cp tmp/x86-mingw32/stage/support/mysql_enc_to_ruby.rb pkg/mysql2-0.3.18-x86-mingw32/support/mysql_enc_to_ruby.rb
rm -f pkg/mysql2-0.3.18-x86-mingw32/support/ruby_enc_to_mysql.rb
cp tmp/x86-mingw32/stage/support/ruby_enc_to_mysql.rb pkg/mysql2-0.3.18-x86-mingw32/support/ruby_enc_to_mysql.rb
mkdir -p pkg/mysql2-0.3.18-x86-mingw32/vendor
rm -f pkg/mysql2-0.3.18-x86-mingw32/vendor/README
cp tmp/x86-mingw32/stage/vendor/README pkg/mysql2-0.3.18-x86-mingw32/vendor/README
rm -f pkg/mysql2-0.3.18-x86-mingw32/vendor/libmysql.dll
cp tmp/x86-mingw32/stage/vendor/libmysql.dll pkg/mysql2-0.3.18-x86-mingw32/vendor/libmysql.dll
cd pkg/mysql2-0.3.18-x86-mingw32
WARNING:  no description specified
WARNING:  pessimistic dependency on rspec (~> 2.8.0, development) may be overly strict
  if rspec is semantically versioned, use:
    add_development_dependency 'rspec', '~> 2.8', '>= 2.8.0'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: mysql2
  Version: 0.3.18
  File: mysql2-0.3.18-x86-mingw32.gem
mv mysql2-0.3.18-x86-mingw32.gem ..
cd -
cp lib/mysql2/mysql2.rb tmp/x86-mswin32-60/stage/lib/mysql2/mysql2.rb
mkdir -p tmp/x86-mswin32-60/stage/vendor
cp vendor/README tmp/x86-mswin32-60/stage/vendor/README
cp vendor/libmysql.dll tmp/x86-mswin32-60/stage/vendor/libmysql.dll
mkdir -p pkg
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60
mkdir -p pkg
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/README.md
cp tmp/x86-mswin32-60/stage/README.md pkg/mysql2-0.3.18-x86-mswin32-60/README.md
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/examples
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/examples/eventmachine.rb
cp tmp/x86-mswin32-60/stage/examples/eventmachine.rb pkg/mysql2-0.3.18-x86-mswin32-60/examples/eventmachine.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/examples/threaded.rb
cp tmp/x86-mswin32-60/stage/examples/threaded.rb pkg/mysql2-0.3.18-x86-mswin32-60/examples/threaded.rb
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/client.c
cp tmp/x86-mswin32-60/stage/ext/mysql2/client.c pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/client.c
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/client.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/client.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/client.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/extconf.rb
cp tmp/x86-mswin32-60/stage/ext/mysql2/extconf.rb pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/extconf.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/infile.c
cp tmp/x86-mswin32-60/stage/ext/mysql2/infile.c pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/infile.c
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/infile.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/infile.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/infile.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql2_ext.c
cp tmp/x86-mswin32-60/stage/ext/mysql2/mysql2_ext.c pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql2_ext.c
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql2_ext.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/mysql2_ext.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql2_ext.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql_enc_name_to_ruby.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/mysql_enc_name_to_ruby.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql_enc_name_to_ruby.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql_enc_to_ruby.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/mysql_enc_to_ruby.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/mysql_enc_to_ruby.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/result.c
cp tmp/x86-mswin32-60/stage/ext/mysql2/result.c pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/result.c
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/result.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/result.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/result.h
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/wait_for_single_fd.h
cp tmp/x86-mswin32-60/stage/ext/mysql2/wait_for_single_fd.h pkg/mysql2-0.3.18-x86-mswin32-60/ext/mysql2/wait_for_single_fd.h
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/lib
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2.rb
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.8
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.8/mysql2.so
cp tmp/x86-mswin32-60/stage/lib/mysql2/1.8/mysql2.so pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.8/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.9
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.9/mysql2.so
cp tmp/x86-mswin32-60/stage/lib/mysql2/1.9/mysql2.so pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/1.9/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.0
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.0/mysql2.so
cp tmp/x86-mswin32-60/stage/lib/mysql2/2.0/mysql2.so pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.0/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.1
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.1/mysql2.so
cp tmp/x86-mswin32-60/stage/lib/mysql2/2.1/mysql2.so pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/2.1/mysql2.so
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/client.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/client.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/client.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/console.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/console.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/console.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/em.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/em.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/em.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/error.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/error.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/error.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/mysql2.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/mysql2.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/mysql2.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/result.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/result.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/result.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/version.rb
cp tmp/x86-mswin32-60/stage/lib/mysql2/version.rb pkg/mysql2-0.3.18-x86-mswin32-60/lib/mysql2/version.rb
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/spec
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/configuration.yml.example
cp tmp/x86-mswin32-60/stage/spec/configuration.yml.example pkg/mysql2-0.3.18-x86-mswin32-60/spec/configuration.yml.example
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/spec/em
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/em/em_spec.rb
cp tmp/x86-mswin32-60/stage/spec/em/em_spec.rb pkg/mysql2-0.3.18-x86-mswin32-60/spec/em/em_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/my.cnf.example
cp tmp/x86-mswin32-60/stage/spec/my.cnf.example pkg/mysql2-0.3.18-x86-mswin32-60/spec/my.cnf.example
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/client_spec.rb
cp tmp/x86-mswin32-60/stage/spec/mysql2/client_spec.rb pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/client_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/error_spec.rb
cp tmp/x86-mswin32-60/stage/spec/mysql2/error_spec.rb pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/error_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/result_spec.rb
cp tmp/x86-mswin32-60/stage/spec/mysql2/result_spec.rb pkg/mysql2-0.3.18-x86-mswin32-60/spec/mysql2/result_spec.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/rcov.opts
cp tmp/x86-mswin32-60/stage/spec/rcov.opts pkg/mysql2-0.3.18-x86-mswin32-60/spec/rcov.opts
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/spec_helper.rb
cp tmp/x86-mswin32-60/stage/spec/spec_helper.rb pkg/mysql2-0.3.18-x86-mswin32-60/spec/spec_helper.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/spec/test_data
cp tmp/x86-mswin32-60/stage/spec/test_data pkg/mysql2-0.3.18-x86-mswin32-60/spec/test_data
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/support
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/support/libmysql.def
cp tmp/x86-mswin32-60/stage/support/libmysql.def pkg/mysql2-0.3.18-x86-mswin32-60/support/libmysql.def
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/support/mysql_enc_to_ruby.rb
cp tmp/x86-mswin32-60/stage/support/mysql_enc_to_ruby.rb pkg/mysql2-0.3.18-x86-mswin32-60/support/mysql_enc_to_ruby.rb
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/support/ruby_enc_to_mysql.rb
cp tmp/x86-mswin32-60/stage/support/ruby_enc_to_mysql.rb pkg/mysql2-0.3.18-x86-mswin32-60/support/ruby_enc_to_mysql.rb
mkdir -p pkg/mysql2-0.3.18-x86-mswin32-60/vendor
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/vendor/README
cp tmp/x86-mswin32-60/stage/vendor/README pkg/mysql2-0.3.18-x86-mswin32-60/vendor/README
rm -f pkg/mysql2-0.3.18-x86-mswin32-60/vendor/libmysql.dll
cp tmp/x86-mswin32-60/stage/vendor/libmysql.dll pkg/mysql2-0.3.18-x86-mswin32-60/vendor/libmysql.dll
cd pkg/mysql2-0.3.18-x86-mswin32-60
WARNING:  no description specified
WARNING:  pessimistic dependency on rspec (~> 2.8.0, development) may be overly strict
  if rspec is semantically versioned, use:
    add_development_dependency 'rspec', '~> 2.8', '>= 2.8.0'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: mysql2
  Version: 0.3.18
  File: mysql2-0.3.18-x86-mswin32-60.gem
mv mysql2-0.3.18-x86-mswin32-60.gem ..
cd -
cp lib/mysql2/mysql2.rb tmp/x64-mingw32/stage/lib/mysql2/mysql2.rb
mkdir -p tmp/x64-mingw32/stage/vendor
cp vendor/README tmp/x64-mingw32/stage/vendor/README
cp vendor/libmysql.dll tmp/x64-mingw32/stage/vendor/libmysql.dll
mkdir -p pkg
mkdir -p pkg/mysql2-0.3.18-x64-mingw32
mkdir -p pkg
rm -f pkg/mysql2-0.3.18-x64-mingw32/README.md
cp tmp/x64-mingw32/stage/README.md pkg/mysql2-0.3.18-x64-mingw32/README.md
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/examples
rm -f pkg/mysql2-0.3.18-x64-mingw32/examples/eventmachine.rb
cp tmp/x64-mingw32/stage/examples/eventmachine.rb pkg/mysql2-0.3.18-x64-mingw32/examples/eventmachine.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/examples/threaded.rb
cp tmp/x64-mingw32/stage/examples/threaded.rb pkg/mysql2-0.3.18-x64-mingw32/examples/threaded.rb
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/client.c
cp tmp/x64-mingw32/stage/ext/mysql2/client.c pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/client.c
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/client.h
cp tmp/x64-mingw32/stage/ext/mysql2/client.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/client.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/extconf.rb
cp tmp/x64-mingw32/stage/ext/mysql2/extconf.rb pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/extconf.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/infile.c
cp tmp/x64-mingw32/stage/ext/mysql2/infile.c pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/infile.c
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/infile.h
cp tmp/x64-mingw32/stage/ext/mysql2/infile.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/infile.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql2_ext.c
cp tmp/x64-mingw32/stage/ext/mysql2/mysql2_ext.c pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql2_ext.c
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql2_ext.h
cp tmp/x64-mingw32/stage/ext/mysql2/mysql2_ext.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql2_ext.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql_enc_name_to_ruby.h
cp tmp/x64-mingw32/stage/ext/mysql2/mysql_enc_name_to_ruby.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql_enc_name_to_ruby.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql_enc_to_ruby.h
cp tmp/x64-mingw32/stage/ext/mysql2/mysql_enc_to_ruby.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/mysql_enc_to_ruby.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/result.c
cp tmp/x64-mingw32/stage/ext/mysql2/result.c pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/result.c
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/result.h
cp tmp/x64-mingw32/stage/ext/mysql2/result.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/result.h
rm -f pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/wait_for_single_fd.h
cp tmp/x64-mingw32/stage/ext/mysql2/wait_for_single_fd.h pkg/mysql2-0.3.18-x64-mingw32/ext/mysql2/wait_for_single_fd.h
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/lib
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2.rb
cp tmp/x64-mingw32/stage/lib/mysql2.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2.rb
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.0
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.0/mysql2.so
cp tmp/x64-mingw32/stage/lib/mysql2/2.0/mysql2.so pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.0/mysql2.so
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.1
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.1/mysql2.so
cp tmp/x64-mingw32/stage/lib/mysql2/2.1/mysql2.so pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/2.1/mysql2.so
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/client.rb
cp tmp/x64-mingw32/stage/lib/mysql2/client.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/client.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/console.rb
cp tmp/x64-mingw32/stage/lib/mysql2/console.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/console.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/em.rb
cp tmp/x64-mingw32/stage/lib/mysql2/em.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/em.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/error.rb
cp tmp/x64-mingw32/stage/lib/mysql2/error.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/error.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/mysql2.rb
cp tmp/x64-mingw32/stage/lib/mysql2/mysql2.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/mysql2.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/result.rb
cp tmp/x64-mingw32/stage/lib/mysql2/result.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/result.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/version.rb
cp tmp/x64-mingw32/stage/lib/mysql2/version.rb pkg/mysql2-0.3.18-x64-mingw32/lib/mysql2/version.rb
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/spec
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/configuration.yml.example
cp tmp/x64-mingw32/stage/spec/configuration.yml.example pkg/mysql2-0.3.18-x64-mingw32/spec/configuration.yml.example
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/spec/em
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/em/em_spec.rb
cp tmp/x64-mingw32/stage/spec/em/em_spec.rb pkg/mysql2-0.3.18-x64-mingw32/spec/em/em_spec.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/my.cnf.example
cp tmp/x64-mingw32/stage/spec/my.cnf.example pkg/mysql2-0.3.18-x64-mingw32/spec/my.cnf.example
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/client_spec.rb
cp tmp/x64-mingw32/stage/spec/mysql2/client_spec.rb pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/client_spec.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/error_spec.rb
cp tmp/x64-mingw32/stage/spec/mysql2/error_spec.rb pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/error_spec.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/result_spec.rb
cp tmp/x64-mingw32/stage/spec/mysql2/result_spec.rb pkg/mysql2-0.3.18-x64-mingw32/spec/mysql2/result_spec.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/rcov.opts
cp tmp/x64-mingw32/stage/spec/rcov.opts pkg/mysql2-0.3.18-x64-mingw32/spec/rcov.opts
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/spec_helper.rb
cp tmp/x64-mingw32/stage/spec/spec_helper.rb pkg/mysql2-0.3.18-x64-mingw32/spec/spec_helper.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/spec/test_data
cp tmp/x64-mingw32/stage/spec/test_data pkg/mysql2-0.3.18-x64-mingw32/spec/test_data
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/support
rm -f pkg/mysql2-0.3.18-x64-mingw32/support/libmysql.def
cp tmp/x64-mingw32/stage/support/libmysql.def pkg/mysql2-0.3.18-x64-mingw32/support/libmysql.def
rm -f pkg/mysql2-0.3.18-x64-mingw32/support/mysql_enc_to_ruby.rb
cp tmp/x64-mingw32/stage/support/mysql_enc_to_ruby.rb pkg/mysql2-0.3.18-x64-mingw32/support/mysql_enc_to_ruby.rb
rm -f pkg/mysql2-0.3.18-x64-mingw32/support/ruby_enc_to_mysql.rb
cp tmp/x64-mingw32/stage/support/ruby_enc_to_mysql.rb pkg/mysql2-0.3.18-x64-mingw32/support/ruby_enc_to_mysql.rb
mkdir -p pkg/mysql2-0.3.18-x64-mingw32/vendor
rm -f pkg/mysql2-0.3.18-x64-mingw32/vendor/README
cp tmp/x64-mingw32/stage/vendor/README pkg/mysql2-0.3.18-x64-mingw32/vendor/README
rm -f pkg/mysql2-0.3.18-x64-mingw32/vendor/libmysql.dll
cp tmp/x64-mingw32/stage/vendor/libmysql.dll pkg/mysql2-0.3.18-x64-mingw32/vendor/libmysql.dll
cd pkg/mysql2-0.3.18-x64-mingw32
WARNING:  no description specified
WARNING:  pessimistic dependency on rspec (~> 2.8.0, development) may be overly strict
  if rspec is semantically versioned, use:
    add_development_dependency 'rspec', '~> 2.8', '>= 2.8.0'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: mysql2
  Version: 0.3.18
  File: mysql2-0.3.18-x64-mingw32.gem
mv mysql2-0.3.18-x64-mingw32.gem ..
cd -

@sodabrew
Copy link
Contributor Author

sodabrew commented Mar 8, 2015

Yes! And now in the build directory, run:

$ find /vagrant/mysql2/pkg -name '*.so' | xargs file

and you should see PE32 files in the x64 directory and/or PE32+ files in the x86 directory.

@sodabrew
Copy link
Contributor Author

For the moment, I have worked around this by using rake-compiler-dock, and simply calling RakeCompilerDock.sh twice, once for the x32 and again for the x64 targets, cleaning files in-between. Kudos for bringing rake-compiler-dock into the org and making this whole process pretty painless!

brianmario/mysql2#586 (comment)

An idea for a better fix: is it possible to specify a file from the build directory that would have a different name in the target gem?

e.g. build dir:

vendor/libmysql-x86.dll
vendor/libmysql-x64.dll

target gems:

vendor/libmysql.dll (copy of dll above that is correct for the target gem's platform)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants