Open BraveWhite opened 4 months ago
You may try to install mysql2 gem before installing Redmine. In my case, I use MySQL 5.7. The command to install mysql2 is:
gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\Program%20Files\MySQL\MySQL%20Server%205.7\lib" --with-mysql-include="C:\Program%20Files\MySQL\MySQL%20Server%205.7\include" --with-mysql-dir="C:\Program%20Files\MySQL\MySQL%20Server%205.7"'
However, please see https://github.com/brianmario/mysql2/issues/1348 because there is a problem with starting mysql2 gem afterwards. See my comment of how I resolved the problem in my case.
Thank you for your answer I'll try it later
I have a problem when using bundle to install mysql2 0.5.6 My Ruby is "ruby 3.2.4 (2024-04-23 revision af471c0e01) [x64-mingw-ucrt]"
C:\Users\XXXX\Desktop\redmine-5.1.2>bundle install Fetching gem metadata from https://rubygems.org/......... Fetching mysql2 0.5.6 Installing mysql2 0.5.6 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mysql2-0.5.6/ext/mysql2 C:/Ruby32-x64/bin/ruby.exe extconf.rb checking for rb_absint_size()... yes checking for rb_absint_singlebit_p()... yes checking for rb_gc_mark_movable()... yes checking for rb_wait_for_single_fd()... yes checking for rb_enc_interned_str() in ruby.h... yes 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:/Ruby32-x64/bin/$(RUBY_BASE_NAME) --with-openssl-dir --without-openssl-dir --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-mysql-config --without-mysql-config --with-mysqlclient-dir --without-mysqlclient-dir --with-mysqlclient-include --without-mysqlclient-include=${mysqlclient-dir}/include --with-mysqlclient-lib --without-mysqlclient-lib=${mysqlclient-dir}/lib --with-mysqlclientlib --without-mysqlclientlib C:/Ruby32-x64/lib/ruby/3.2.0/mkmf.rb:1083:in
block in find_library': undefined method
split' for nil:NilClass (NoMethodError)To see why this extension failed to compile, please check the mkmf.log which can be found here:
C:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/mysql2-0.5.6/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mysql2-0.5.6 for inspection. Results logged to C:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/mysql2-0.5.6/gem_make.out
C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/builder.rb:119:in
run' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:28:in
build' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/builder.rb:187:inbuild_extension' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/builder.rb:221:in
block in build_extensions' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/builder.rb:218:ineach' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/ext/builder.rb:218:in
build_extensions' C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/installer.rb:846:inbuild_extensions' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/rubygems_gem_installer.rb:72:in
build_extensions' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/rubygems_gem_installer.rb:28:ininstall' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/source/rubygems.rb:202:in
install' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/installer/gem_installer.rb:54:ininstall' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/installer/gem_installer.rb:16:in
install_from_spec' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/installer/parallel_installer.rb:156:indo_install' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/installer/parallel_installer.rb:147:in
block in worker_pool' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/worker.rb:62:inapply_func' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/worker.rb:57:in
block in process_queue' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/worker.rb:54:inloop' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/worker.rb:54:in
process_queue' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/worker.rb:90:in `block (2 levels) in create_threads'An error occurred while installing mysql2 (0.5.6), and Bundler cannot continue.
In Gemfile: mysql2
If I use gem install mysql2 --platform=ruby -- --with-mysql-lib="C:\Program Files\MySQL\Connector C++ 8.0\lib64"
C:\Users\XXXX\Desktop\redmine-5.1.2>gem install mysql2 --platform=ruby -- --with-mysql-lib="C:\Program Files\MySQL\Connector C++ 8.0\lib64" Using msys2 packages: mingw-w64-ucrt-x86_64-libmariadbclient Building native extensions with: '--with-mysql-lib=C:\Program Files\MySQL\Connector C++ 8.0\lib64' This could take a while... Successfully installed mysql2-0.5.6 Parsing documentation for mysql2-0.5.6 Installing ri documentation for mysql2-0.5.6 Done installing documentation for mysql2 after 0 seconds 1 gem installed
It can work
But it will show
C:\Users\XXXX\Desktop\redmine-5.1.2>bundle exec rake generate_secret_token rake aborted! Bundler::GemRequireError: There was an error while trying to load the gem 'mysql2'. (Bundler::GemRequireError) Gem Load Error is: Incorrect MySQL client library version! This gem was compiled for 10.8.8 but the client library is 3.3.8. Backtrace for gem load error is: <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.7/lib/active_support/dependencies.rb:332:inblock in require' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.7/lib/active_support/dependencies.rb:299:in
load_dependency' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/activesupport-6.1.7.7/lib/active_support/dependencies.rb:332:inrequire' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mysql2-0.5.6/lib/mysql2.rb:36:in
<top (required)>' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:60:inrequire' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:60:in
block (2 levels) in require' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:55:ineach' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:55:in
block in require' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:44:ineach' C:/Ruby32-x64/lib/ruby/3.2.0/bundler/runtime.rb:44:in
require' C:/Ruby32-x64/lib/ruby/3.2.0/bundler.rb:187:inrequire' C:/Users/BHTRD/Desktop/redmine-5.1.2/config/application.rb:18:in
<top (required)>' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:inrequire' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' C:/Users/BHTRD/Desktop/redmine-5.1.2/Rakefile:5:in<top (required)>' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:29:in
load' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:29:inload_rakefile' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:740:in
raw_load_rakefile' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:126:inblock in load_rakefile' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in
standard_exception_handling' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:125:inload_rakefile' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:82:in
block in run' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:instandard_exception_handling' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:80:in
run' C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/rake-13.2.1/exe/rake:27:in<top (required)>' C:/Ruby32-x64/bin/rake:32:in
load' C:/Ruby32-x64/bin/rake:32:in<main>' Bundler Error Backtrace: C:/Users/BHTRD/Desktop/redmine-5.1.2/config/application.rb:18:in
<top (required)>' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:inrequire' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' C:/Users/BHTRD/Desktop/redmine-5.1.2/Rakefile:5:in `<top (required)>'Caused by: Incorrect MySQL client library version! This gem was compiled for 10.8.8 but the client library is 3.3.8. <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' C:/Users/BHTRD/Desktop/redmine-5.1.2/config/application.rb:18:in<top (required)>' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in
require' <internal:C:/Ruby32-x64/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:inrequire' C:/Users/BHTRD/Desktop/redmine-5.1.2/Rakefile:5:in
<top (required)>' (See full trace by running task with --trace)How can i Fix it??