Using chocolately I have installed ruby and ruby.devkit
cinst ruby
cinst ruby.devkit
I then followed the instructions on the github wiki and tested the devkit as so detailed in point 5
gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
This worked ok so I assume my devkit installation was correct. However when I try to install mysql gem like so
gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
I get the following error
This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
C:/ruby200/bin/ruby.exe extconf.rb --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
checking for main() in -llibmysql... 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=C:/ruby200/bin/ruby
--with-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib=${mysql-dir}/
--with-libmysqllib
--without-libmysqllib
Gem files will remain installed in C:/ruby200/lib/ruby/gems/2.0.0/gems/mysql-2.9.1 for inspection.
Results logged to C:/ruby200/lib/ruby/gems/2.0.0/gems/mysql-2.9.1/ext/mysql_api/gem_make.out
I've got all the paths correct and I was following this tutorial . The log file isn't much help to me but here it is.
have_library: checking for main() in -llibmysql... -------------------- no
"gcc -o conftest.exe -IC:/ruby200/include/ruby-2.0.0/i386-mingw32 -IC:/ruby200/include/ruby-2.0.0/ruby/backward -IC:/ruby200/include/ruby-2.0.0 -I. -IC:/mysql-connector-c-noinstall-6.0.2-win32/include -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -L. -LC:/ruby200/lib -LC:\mysql-connector-c-noinstall-6.0.2-win32\lib\libmysql.dll -LC:/mysql-connector-c-noinstall-6.0.2-win32/ -L. -lmsvcrt-ruby200 -lshell32 -lws2_32 -limagehlp -lshlwapi "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7: return 0;
8: }
/* end */
Related questions
Installing mysql-2.9.0 gem on Windows fails due to lack of libmysql Has the exact same error but I'm already doing the accepted answer and still getting the error
this answer seems to suggest that I shouldn't bother trying to build the gem and just use the binary version https://stackoverflow.com/a/13613036/799628 so maybe I'll just do that...
Note: I ended up using the mysql2
gem instead which has enough functionality for what I'm needing.
I also faced the same problem now. But fixed for ruby 2.0.0
Download mysql connector for c from hear http://dev.mysql.com/downloads/connector/c/ extract to a directory and then
gem install mysql2 --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
为了使mysql
gem正常工作,需要以下命令进行安装
gem install mysql --platform=ruby -- --with-opt-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
Another approach
Install according to your CPU either one or another:
http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.3-win32.msi http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.3-winx64.msi
Prepare a drive pointing to where you have installed C files:
subst x: "C:\Program Files\MySQL\MySQL Connector C 6.1"
or
subst x: "C:\Program Files (x86)\MySQL\MySQL Connector C 6.1"
Now run gem install, remember that you must have installed Devkit and added Ruby\\bin and devkit\\bin path in your environment PATH:
C:\Ruby\bin>gem install mysql --platform=ruby -- --with-opt-dir=x:
Temporarily enhancing PATH to include DevKit...
Building native extensions with: '--with-opt-dir=x:'
This could take a while...
Successfully installed mysql-2.9.1
Parsing documentation for mysql-2.9.1
Installing ri documentation for mysql-2.9.1
Done installing documentation for mysql after 1 seconds
1 gem installed
Delete the temp drive
subst x: /d
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.