brianmario / mysql2

A modern, simple and very fast Mysql library for Ruby - binding to libmysql
http://github.com/brianmario/mysql2
MIT License
2.25k stars 549 forks source link

All gem DL locations wrong? Or am I doing something terribly wrong? #1329

Open 70RAN opened 1 year ago

70RAN commented 1 year ago

Trying to install it on Win10 machine. With synthax: gem install mysql2 --platform=ruby -- '--with-openssl-lib="C:\Program Files\OpenSSL-Win64\lib\" --with-mysql-lib="C:\Ruby30-x64\mysql-8.0.32-winx64\lib" --with- mysql-include="C:\Ruby30-x64\mysql-8.0.32-winx64\include" --with-mysql-dir="C:\Ruby30-x64\mysql-8.0.32-winx64" --with-openssl-dir="C:\Program Files\OpenSSL-Win64"'

I get:

Temporarily enhancing PATH for MSYS/MINGW... Installing required msys2 packages: mingw-w64-x86_64-libmariadbclient error: failed retrieving file 'mingw-w64-x86_64-openssl-1.1.1.k-2-any.pkg.tar.zst' from mirror.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-brotli-1.0.9-2-any.pkg.tar.zst' from mirror.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-libssh2-1.9.0-3-any.pkg.tar.zst' from mirror.msys2.org : The requested URL returned error: 404 warning: too many errors from mirror.msys2.org, skipping for the remainder of this transaction error: failed retrieving file 'mingw-w64-x86_64-libxml2-2.9.12-1-any.pkg.tar.zst' from mirror.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-p11-kit-0.23.22-1-any.pkg.tar.zst' from mirror.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-openssl-1.1.1.k-2-any.pkg.tar.zst' from repo.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-libssh2-1.9.0-3-any.pkg.tar.zst' from repo.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-libxml2-2.9.12-1-any.pkg.tar.zst' from repo.msys2.org : The requested URL returned error: 404 warning: too many errors from repo.msys2.org, skipping for the remainder of this transaction error: failed retrieving file 'mingw-w64-x86_64-p11-kit-0.23.22-1-any.pkg.tar.zst' from repo.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-brotli-1.0.9-2-any.pkg.tar.zst' from repo.msys2.org : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-openssl-1.1.1.k-2-any.pkg.tar.zst' from mirror.yandex.ru : The requested URL returned error: 404 error: failed retrieving file 'mingw-w64-x86_64-libssh2-1.9.0-3-any.pkg.tar.zst' from mirror.yandex.ru : The requested URL returned error: 404 ....................................

Really all repos with wrong URL? Or am I doing something terribly wrong?

sodabrew commented 1 year ago

Few things going on. First, in the gemspec the msys2 deps are specified as libmariadbclient, so that gem is trying to download it automatically but failing. I think this is from RubyInstaller2? I'm not sure where the URLs need to be updated, but it's outside the immediate scope of this gem, you'll need to pull on this thread a bit to run it down.

There is what looks like a config bug to me: you're trying to specify a specific local mysql dir, so actually the dependency that you're failing on isn't even the library you're trying to use. This should be a bug -- if you specify a mysql-dir, it should override the automatic dep and not try to download it.

https://github.com/brianmario/mysql2/blob/79f78f940685396f1b5f30ec502544bb7e3ba9cf/mysql2.gemspec#L24

sodabrew commented 1 year ago

Yeah, it's RubyInstaller2 that's trying to automatically download libmariadbclient for you https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers -- see if using a newer version of RubyInstaller2 fixes the download paths (not necessarily a newer version of Ruby, just the installer wrapper might need to be updated).