I'm trying to build https://github.com/godotengine/godot-website on Windows 11 24H2 with Ruby 4.0.2. I have RIDK and MSYS2 installed and activated in the current environment; other native extensions used by the project compile fine.
However, ruby-magic fails to compile:
$ bundle install ─╯
Fetching gem metadata from https://rubygems.org/.........
Installing ruby-magic 0.6.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
C:/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/bin/ruby.exe extconf.rb
Building ruby-magic using packaged libraries.
Static linking is enabled.
Cross build is disabled.
Using mini_portile version 2.8.9
---------- IMPORTANT NOTICE ----------
Building Ruby Magic with a packaged version of libmagic-5.44.
Configuration options: --disable-silent-rules --disable-dependency-tracking
--enable-fsect-man5 --disable-shared --enable-static CFLAGS\=-fPIC
The following patches are being applied:
- 0001-Don-t-attempt-to-build-tests-documentation-and-Python-bindings.patch
Extracting file-5.44.tar.gz into tmp/x86_64-w64-mingw32/ports/libmagic/5.44...
OK
Running git apply with
C:/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/patches/libmagic/0001-Don-t-attempt-to-build-tests-documentation-and-Python-bindings.patch...
OK
Running 'configure' for libmagic 5.44... OK
Running 'compile' for libmagic 5.44... ERROR. Please review logs to see what
happened:
----- contents of
'C:/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/compile.log'
-----
make all-recursive
make[1]: Entering directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44'
Making all in src
make[2]: Entering directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44/src'
sed -e "s/X.YY/$(echo 5.44 | tr -d .)/" < ../src/magic.h.in > magic.h
make all-am
make[3]: Entering directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44/src'
gcc -DHAVE_CONFIG_H -I. -I..
-DMAGIC='"C:/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ports/x86_64-w64-mingw32/libmagic/5.44/share/misc/magic"'
-fvisibility=hidden -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wnested-externs
-Wsign-compare -Wreturn-type -Wswitch -Wshadow -Wcast-qual
-Wwrite-strings -Wextra -Wunused-parameter -Wformat=2 -fPIC -c -o file.o file.c
In file included from file.c:32:
file.h:82:10: fatal error: regex.h: No such file or directory
82 | #include <regex.h>
| ^~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:560: file.o] Error 1
make[3]: Leaving directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44/src'
make[2]: *** [Makefile:381: all] Error 2
make[2]: Leaving directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44/src'
make[1]: *** [Makefile:462: all-recursive] Error 1
make[1]: Leaving directory
'/c/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0/ext/magic/tmp/x86_64-w64-mingw32/ports/libmagic/5.44/file-5.44'
make: *** [Makefile:371: all] Error 2
----- end of file -----
*** 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=${opt-dir}/include
--without-opt-include
--with-opt-lib=${opt-dir}/lib
--without-opt-lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/bin/$(RUBY_BASE_NAME)
--help
--clean
--enable-system-libraries
--disable-system-libraries
--use-system-libraries
--enable-static
--disable-static
--enable-cross-build
--disable-cross-build
--with-magic-flags
--without-magic-flags
C:/Users/Hugo/scoop/persist/ruby/gems/gems/mini_portile2-2.8.9/lib/mini_portile2/mini_portile.rb:628:in
'block in MiniPortile#execute': Failed to complete compile task (RuntimeError)
from
C:/Users/Hugo/scoop/persist/ruby/gems/gems/mini_portile2-2.8.9/lib/mini_portile2/mini_portile.rb:594:in
'Dir.chdir'
from
C:/Users/Hugo/scoop/persist/ruby/gems/gems/mini_portile2-2.8.9/lib/mini_portile2/mini_portile.rb:594:in
'MiniPortile#execute'
from
C:/Users/Hugo/scoop/persist/ruby/gems/gems/mini_portile2-2.8.9/lib/mini_portile2/mini_portile.rb:195:in
'MiniPortile#compile'
from
C:/Users/Hugo/scoop/persist/ruby/gems/gems/mini_portile2-2.8.9/lib/mini_portile2/mini_portile.rb:238:in
'MiniPortile#cook'
from extconf.rb:169:in 'block in Object#process_recipe'
from extconf.rb:77:in 'Kernel#tap'
from extconf.rb:77:in 'Object#process_recipe'
from extconf.rb:293:in '<main>'
extconf failed, exit code 1
Gem files will remain installed in
C:/Users/Hugo/scoop/persist/ruby/gems/gems/ruby-magic-0.6.0 for inspection.
Results logged to
C:/Users/Hugo/scoop/persist/ruby/gems/extensions/x64-mingw-ucrt/4.0.0/ruby-magic-0.6.0/gem_make.out
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/builder.rb:139:in
'Gem::Ext::Builder.run'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/ext_conf_builder.rb:30:in
'Gem::Ext::ExtConfBuilder.build'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/builder.rb:218:in
'Gem::Ext::Builder#build_extension'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/builder.rb:250:in
'block in Gem::Ext::Builder#build_extensions'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/builder.rb:249:in
'Array#each'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/ext/builder.rb:249:in
'Gem::Ext::Builder#build_extensions'
C:/Users/Hugo/scoop/apps/ruby/4.0.2-1/lib/ruby/4.0.0/rubygems/installer.rb:809:in
'Gem::Installer#build_extensions'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/rubygems_gem_installer.rb:111:in
'Bundler::RubyGemsGemInstaller#build_extensions'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/rubygems_gem_installer.rb:30:in
'Bundler::RubyGemsGemInstaller#install'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/source/rubygems.rb:205:in
'Bundler::Source::Rubygems#install'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/installer/gem_installer.rb:55:in
'Bundler::GemInstaller#install'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/installer/gem_installer.rb:17:in
'Bundler::GemInstaller#install_from_spec'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/installer/parallel_installer.rb:133:in
'Bundler::ParallelInstaller#do_install'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/installer/parallel_installer.rb:124:in
'block in Bundler::ParallelInstaller#worker_pool'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/worker.rb:62:in
'Bundler::Worker#apply_func'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/worker.rb:57:in
'block in Bundler::Worker#process_queue'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/worker.rb:54:in
'Kernel#loop'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/worker.rb:54:in
'Bundler::Worker#process_queue'
C:/Users/Hugo/scoop/persist/ruby/gems/gems/bundler-2.6.2/lib/bundler/worker.rb:90:in
'block (2 levels) in Bundler::Worker#create_threads'
An error occurred while installing ruby-magic (0.6.0), and Bundler cannot
continue.
In Gemfile:
ruby-magic
I've tried to install mingw-w64-x86_64-libtre and mingw-w64-x86_64-libsystre in MSYS2 to no avail. I'm not sure what can provide a compatible regex.h (this gist seemed to point in the direction of libsystre).
I'm trying to build https://github.com/godotengine/godot-website on Windows 11 24H2 with Ruby 4.0.2. I have RIDK and MSYS2 installed and activated in the current environment; other native extensions used by the project compile fine.
However, ruby-magic fails to compile:
I've tried to install
mingw-w64-x86_64-libtreandmingw-w64-x86_64-libsystrein MSYS2 to no avail. I'm not sure what can provide a compatibleregex.h(this gist seemed to point in the direction oflibsystre).