github / pages-gem

A simple Ruby Gem to bootstrap dependencies for setting up and maintaining a local Jekyll environment in sync with GitHub Pages
http://pages.github.com
MIT License
1.82k stars 349 forks source link

Windows: Failed to build (mathn) #896

Closed akirataguchi115 closed 7 months ago

akirataguchi115 commented 8 months ago

This issue affects

What did you do (e.g., steps to reproduce)

Add the line

gem "github-pages"

to Gemfile. Run bundle install.

What did you expect to happen?

I expected github-pages to be installed.

What happened instead?

Installation failed starting with the following lines

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

current directory:
C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mathn-0.1.0/ext/mathn/complex
C:/Ruby32-x64/bin/ruby.exe extconf.rb
creating Makefile

Full log output below collapsed.

Additional information

Windows: 23H2 Ruby: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt] Bundler: 2.5.3

Full log output ```powershell Fetching gem metadata from https://rubygems.org/......... Resolving dependencies... Fetching rake 13.1.0 Installing rake 13.1.0 Fetching RedCloth 4.2.9 Fetching bigdecimal 3.1.5 Fetching base64 0.2.0 Fetching highline 1.6.21 Fetching connection_pool 2.4.1 Fetching minitest 5.20.0 Fetching mutex_m 0.2.0 Fetching blankslate 2.1.2.4 Fetching fast-stemmer 1.0.2 Fetching mathn 0.1.0 Fetching colorator 0.1 (was 1.1.0) Fetching gemoji 1.5.0 Installing RedCloth 4.2.9 with native extensions Installing bigdecimal 3.1.5 with native extensions Installing base64 0.2.0 Fetching liquid 2.5.5 (was 4.0.4) Installing highline 1.6.21 Installing connection_pool 2.4.1 Fetching maruku 0.7.0 Installing minitest 5.20.0 Installing mutex_m 0.2.0 Fetching posix-spawn 0.3.15 Fetching yajl-ruby 1.1.0 Fetching redcarpet 2.3.0 Installing blankslate 2.1.2.4 Fetching racc 1.7.3 Installing fast-stemmer 1.0.2 with native extensions Installing mathn 0.1.0 with native extensions Installing colorator 0.1 (was 1.1.0) Fetching kramdown 1.3.1 (was 2.4.0) Fetching rdiscount 2.1.7 Installing gemoji 1.5.0 Installing liquid 2.5.5 (was 4.0.4) Fetching drb 2.2.0 Fetching tzinfo 2.0.6 Installing maruku 0.7.0 Installing posix-spawn 0.3.15 with native extensions Fetching rb-kqueue 0.2.8 Fetching commander 4.1.6 Installing yajl-ruby 1.1.0 with native extensions Installing redcarpet 2.3.0 with native extensions Installing racc 1.7.3 with native extensions Installing kramdown 1.3.1 (was 2.4.0) Installing rdiscount 2.1.7 with native extensions Installing drb 2.2.0 Installing tzinfo 2.0.6 Installing rb-kqueue 0.2.8 Fetching parslet 1.5.0 Fetching listen 1.3.1 (was 3.8.0) Installing commander 4.1.6 Installing parslet 1.5.0 Installing listen 1.3.1 (was 3.8.0) Fetching toml 0.1.2 Installing toml 0.1.2 Fetching nokogiri 1.15.5 (x64-mingw-ucrt) Installing nokogiri 1.15.5 (x64-mingw-ucrt) Fetching activesupport 7.1.2 Installing activesupport 7.1.2 Fetching html-pipeline 1.5.0 Installing html-pipeline 1.5.0 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mathn-0.1.0/ext/mathn/complex C:/Ruby32-x64/bin/ruby.exe extconf.rb creating Makefile current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mathn-0.1.0/ext/mathn/complex make DESTDIR\= sitearchdir\=./.gem.20231223-14148-fkj95t sitelibdir\=./.gem.20231223-14148-fkj95t clean bash.exe: warning: could not find /tmp, please create! current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mathn-0.1.0/ext/mathn/complex make DESTDIR\= sitearchdir\=./.gem.20231223-14148-fkj95t sitelibdir\=./.gem.20231223-14148-fkj95t generating complex-x64-mingw-ucrt.def bash.exe: warning: could not find /tmp, please create! compiling complex.c linking shared-object mathn/complex.so C:/Ruby32-x64/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: complex.o:complex.c:(.text+0x6): undefined reference to `nucomp_canonicalization' collect2.exe: error: ld returned 1 exit status make: *** [Makefile:265: complex.so] Error 1 make failed, exit code 2 Gem files will remain installed in C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/mathn-0.1.0 for inspection. Results logged to C:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/mathn-0.1.0/gem_make.out C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:125:in `run' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:51:in `block in make' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:43:in `each' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:43:in `make' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:42:in `build' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:193:in `build_extension' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:227:in `block in build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:224:in `each' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:224:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:852:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/rubygems_gem_installer.rb:76:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/rubygems_gem_installer.rb:28:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/source/rubygems.rb:205:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/gem_installer.rb:54:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/gem_installer.rb:16:in `install_from_spec' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/parallel_installer.rb:132:in `do_install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/parallel_installer.rb:123:in `block in worker_pool' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:62:in `apply_func' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:57:in `block in process_queue' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:54:in `loop' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:54:in `process_queue' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:90:in `block (2 levels) in create_threads' An error occurred while installing mathn (0.1.0), and Bundler cannot continue. In Gemfile: github-pages was resolved to 20, which depends on jekyll-mentions was resolved to 0.0.9, which depends on jekyll was resolved to 1.5.1, which depends on classifier was resolved to 1.3.5, which depends on mathn Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/yajl-ruby-1.1.0/ext/yajl C:/Ruby32-x64/bin/ruby.exe extconf.rb creating Makefile current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/yajl-ruby-1.1.0/ext/yajl make DESTDIR\= sitearchdir\=./.gem.20231223-14148-ivmhvc sitelibdir\=./.gem.20231223-14148-ivmhvc clean bash.exe: warning: could not find /tmp, please create! current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/yajl-ruby-1.1.0/ext/yajl make DESTDIR\= sitearchdir\=./.gem.20231223-14148-ivmhvc sitelibdir\=./.gem.20231223-14148-ivmhvc generating yajl-x64-mingw-ucrt.def bash.exe: warning: could not find /tmp, please create! compiling yajl.c compiling yajl_alloc.c compiling yajl_buf.c compiling yajl_encode.c compiling yajl_ext.c yajl_ext.c: In function 'yajl_encode_part': yajl_ext.c:117:21: warning: variable 'status' set but not used [-Wunused-but-set-variable] 117 | yajl_gen_status status; | ^~~~~~ In file included from C:/Ruby32-x64/include/ruby-3.2.0/ruby/internal/dosish.h:38, from C:/Ruby32-x64/include/ruby-3.2.0/ruby/defines.h:78, from C:/Ruby32-x64/include/ruby-3.2.0/ruby/ruby.h:25, from C:/Ruby32-x64/include/ruby-3.2.0/ruby.h:38, from yajl_ext.h:32, from yajl_ext.c:24: yajl_ext.c: In function 'rb_yajl_parser_parse': C:/Ruby32-x64/include/ruby-3.2.0/ruby/win32.h:193:14: warning: variable 'stati128' set but not used [-Wunused-but-set-variable] 193 | #define stat stati128 | ^~~~~~~~ C:/Ruby32-x64/include/ruby-3.2.0/ruby/win32.h:193:14: note: in definition of macro 'stat' 193 | #define stat stati128 | ^~~~~~~~ yajl_ext.c: In function 'rb_yajl_encoder_enable_json_gem_ext': yajl_ext.c:852:22: error: 'rb_cFixnum' undeclared (first use in this function); did you mean 'rb_cFile'? 852 | rb_define_method(rb_cFixnum, "to_json", rb_yajl_json_ext_fixnum_to_json, -1); | ^~~~~~~~~~ | rb_cFile yajl_ext.c:852:22: note: each undeclared identifier is reported only once for each function it appears in make: *** [Makefile:248: yajl_ext.o] Error 1 make failed, exit code 2 Gem files will remain installed in C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/yajl-ruby-1.1.0 for inspection. Results logged to C:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/yajl-ruby-1.1.0/gem_make.out C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:125:in `run' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:51:in `block in make' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:43:in `each' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:43:in `make' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:42:in `build' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:193:in `build_extension' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:227:in `block in build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:224:in `each' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:224:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:852:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/rubygems_gem_installer.rb:76:in `build_extensions' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/rubygems_gem_installer.rb:28:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/source/rubygems.rb:205:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/gem_installer.rb:54:in `install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/gem_installer.rb:16:in `install_from_spec' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/parallel_installer.rb:132:in `do_install' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/installer/parallel_installer.rb:123:in `block in worker_pool' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:62:in `apply_func' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:57:in `block in process_queue' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:54:in `loop' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:54:in `process_queue' C:/Ruby32-x64/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:90:in `block (2 levels) in create_threads' An error occurred while installing yajl-ruby (1.1.0), and Bundler cannot continue. In Gemfile: github-pages was resolved to 20, which depends on jekyll-mentions was resolved to 0.0.9, which depends on jekyll was resolved to 1.5.1, which depends on pygments.rb was resolved to 0.5.4, which depends on yajl-ruby ```
BinToss commented 7 months ago
akirataguchi115 commented 7 months ago

Odd. You're right. On plain empty project bundle install github-pages does not create dependency to mathn on lockfile. Sorry for the confusion. The problem must be on something else on my end. Thanks for helping me out!