oneclick / rubyinstaller2

MSYS2 based RubyInstaller for Windows
https://rubyinstaller.org
BSD 3-Clause "New" or "Revised" License
644 stars 248 forks source link

Error installing jekyll #353

Closed benjamrio closed 8 months ago

benjamrio commented 10 months ago

What problems are you experiencing?

Following the official installation documentation, installing jekyll with gem fails and returns an error.

Steps to reproduce

I am on Windows 11 https://jekyllrb.com/docs/installation/windows/

What's the output from ridk version?

Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing jekyll:
        ERROR: Failed to build gem native extension.

    current directory: C:/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c
C:/Program\ Files/Ruby32-x64/bin/ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi,/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ffi... no
checking for whether -Wl,--exclude-libs,ALL is accepted as LDFLAGS... yes
checking for whether -pthread is accepted as LDFLAGS... yes
creating extconf.h
creating Makefile

current directory: C:/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c
make DESTDIR\= sitearchdir\=./.gem.20230824-18936-zolflu sitelibdir\=./.gem.20230824-18936-zolflu clean
bash.exe: warning: could not find /tmp, please create!

current directory: C:/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c
make DESTDIR\= sitearchdir\=./.gem.20230824-18936-zolflu sitelibdir\=./.gem.20230824-18936-zolflu
generating ffi_c-x64-mingw-ucrt.def
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
Configuring libffi
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
bash.exe: warning: could not find /tmp, please create!
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start
configure: WARNING: cache variable lt_cv_path_LD contains a newline
configure: WARNING: cache variable lt_cv_path_LDCXX contains a newline
bash.exe: warning: could not find /tmp, please create!
configure: WARNING: cache variable lt_cv_path_LD contains a newline
configure: WARNING: cache variable lt_cv_path_LDCXX contains a newline
make -C "/c/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c/libffi-x64-mingw-ucrt"
bash.exe: warning: could not find /tmp, please create!
make[1]: Entering directory '/c/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c/libffi-x64-mingw-ucrt'
Makefile:420: *** missing separator.  Stop.
make[1]: Leaving directory '/c/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c/libffi-x64-mingw-ucrt'
make: *** [libffi.mk:9: "/c/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5/ext/ffi_c/libffi-x64-mingw-ucrt"/.libs/libffi_convenience.a] Error 2

make failed, exit code 2

Gem files will remain installed in C:/Users/benja/.local/share/gem/ruby/3.2.0/gems/ffi-1.15.5 for inspection.
Results logged to C:/Users/benja/.local/share/gem/ruby/3.2.0/extensions/x64-mingw-ucrt/3.2.0/ffi-1.15.5/gem_make.out
MSP-Greg commented 10 months ago
  1. I just cleared all my gems installed on Ruby 3.2, and jekyll correctly installed.

  2. I believe the template asked for the output of ridk version. Please post the output.

  3. Why are the following two paths accessible? If you've got multiple build tools installed, you need to be aware of conflicts between them...

    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
benjamrio commented 10 months ago

Thank you for your help

  1. I already tried to do a clean reinstall
  2. bash.exe: warning: could not find /tmp, please create!
    ---
    ruby:
    path: C:/Program Files/Ruby32-x64
    version: 3.2.2
    platform: x64-mingw-ucrt
    cc: gcc.exe (Rev10, Built by MSYS2 project) 12.2.0
    ruby_installer:
    package_version: 3.2.2-1
    git_commit: 83df213
    msys2:
    path: C:\Program Files\Ruby32-x64\msys64
    cc: gcc (Rev2, Built by MSYS2 project) 13.2.0
    sh: GNU bash, version 5.2.15(1)-release (x86_64-pc-msys)
    os: Microsoft Windows [Version 10.0.22621.2134]
  3. I am on Windows and these paths don't exist, I think it is just checking some default paths
Largo commented 10 months ago

No clue why this happens, but try

ridk exec mkdir /tmp

Edit: I'm starting to suspect this problem: https://stackoverflow.com/a/73700301

benjamrio commented 10 months ago

When executing this command on Command Prompt, I obtain an error : The syntax of the command is incorrect..

Otherwise, I do have /tmp folder inside the Git folder. Also my command prompt finds well the ridk command but git bash does not.

mohits commented 9 months ago

Hi @benjamrio - I noticed that your Ruby is installed to: "C:\Program Files\Ruby32-x64\msys64" which has a space in the path and some things don't work well with a space in the Ruby installation path.

Could you try installing it to a path such as C:\Ruby32-x64\ and trying? That's helped a few people already.

Hope this helps.

If it's already sorted, would you please close the issue? Thanks!

benjamrio commented 8 months ago

It is sorted now, thank you for the advice. Also jekyll is only available on command prompt and not in bash.

mohits commented 8 months ago

Thanks for confirming that it works now. I will close the issue.