jhawthorn / vernier

📏 next generation CRuby profiler
https://vernier.prof/
MIT License
834 stars 19 forks source link

Gem won't install. #108

Open Erquint opened 2 hours ago

Erquint commented 2 hours ago
PS C:\Windows\System32> gem install vernier
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing vernier:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
C:/Ruby32-x64/bin/ruby.exe extconf.rb
checking for ruby/thread.h... yes
checking for rb_internal_thread_event_data_t.thread in ruby/thread.h... no
checking for rb_profile_thread_frames() in ruby/debug.h... no
checking for pthread_setname_np()... yes
creating Makefile

current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
make DESTDIR\= sitearchdir\=./.gem.20241120-26292-m3vmmm sitelibdir\=./.gem.20241120-26292-m3vmmm clean

current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
make DESTDIR\= sitearchdir\=./.gem.20241120-26292-m3vmmm sitelibdir\=./.gem.20241120-26292-m3vmmm
generating vernier-x64-mingw-ucrt.def
compiling vernier.cc
vernier.cc:27:10: fatal error: sys/syscall.h: No such file or directory
   27 | #include <sys/syscall.h> /* for SYS_gettid */
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:216: vernier.o] Error 1

make failed, exit code 2

Gem files will remain installed in C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1 for inspection.
Results logged to C:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/vernier-1.3.1/gem_make.out

gem_make.out is pretty identical to shell output.

current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
C:/Ruby32-x64/bin/ruby.exe extconf.rb
checking for ruby/thread.h... yes
checking for rb_internal_thread_event_data_t.thread in ruby/thread.h... no
checking for rb_profile_thread_frames() in ruby/debug.h... no
checking for pthread_setname_np()... yes
creating Makefile

current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
make DESTDIR\= sitearchdir\=./.gem.20241120-26292-m3vmmm sitelibdir\=./.gem.20241120-26292-m3vmmm clean

current directory: C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/vernier-1.3.1/ext/vernier
make DESTDIR\= sitearchdir\=./.gem.20241120-26292-m3vmmm sitelibdir\=./.gem.20241120-26292-m3vmmm
generating vernier-x64-mingw-ucrt.def
compiling vernier.cc
vernier.cc:27:10: fatal error: sys/syscall.h: No such file or directory
   27 | #include <sys/syscall.h> /* for SYS_gettid */
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:216: vernier.o] Error 1

make failed, exit code 2
joshuay03 commented 2 hours ago

I don't think <sys/syscall.h> exists on windows, which we currently don't support. I'll defer to @jhawthorn on whether or not we should though, and I can look into it if so.