skip to Main Content

I’m trying to install ruby on rails with rails installer. When I use “rails new blog” to get my feet wet on starting the web page, I keep getting a build error to build a native extension. I’ve also have similar problems installing sqlite3. The same issues appear on my laptop as well. (Both windows)

So far I tried downloading this walkthrough (https://github.com/Shopify/bootsnap/issues/134), but get stuck when it tells me to do the script. I tried running the given script in irb as it said to both line by line and copy paste. I’ve also tried gem install bootsnap and
gem install bundler --force. I’ve also tried downloading different versions of ruby separatly from rails installer for both 2.5 and 2.6.

Installing bootsnap 1.4.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -I
C:/RailsInstaller/Ruby2.3.3/lib/ruby/site_ruby/2.3.0 -r
./siteconf20190425-5616-1pnzlwm.rb extconf.rb
creating Makefile

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
make "DESTDIR=" clean

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
make "DESTDIR="
generating bootsnap-i386-mingw32.def
compiling bootsnap.c
bootsnap.c: In function 'bs_cache_path':
bootsnap.c:245:3: warning: unknown conversion type character 'l' in format
[-Wformat]
bootsnap.c:245:3: warning: too many arguments for format [-Wformat-extra-args]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:286:3: warning: ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
bootsnap.c: In function 'fetch_cached_data':
bootsnap.c:412:3: warning: comparison is always false due to limited range of
data type [-Wtype-limits]
bootsnap.c: In function 'atomic_write_cache_file':
bootsnap.c:484:3: warning: implicit declaration of function 'mkstemp'
[-Wimplicit-function-declaration]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:632:13: warning: 'output_data' may be used uninitialized in this
function [-Wmaybe-uninitialized]
bootsnap.c:603:9: note: 'output_data' was declared here
linking shared-object bootsnap/bootsnap.so
bootsnap.o: In function `atomic_write_cache_file':
C:RailsInstallerRuby2.3.3librubygems2.3.0gemsbootsnap-1.4.4extbootsnap/bootsnap.c:484:
undefined reference to `mkstemp'
collect2.exe: error: ld returned 1 exit status
make: *** [bootsnap.so] Error 1

make failed, exit code 2

Gem files will remain installed in
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4 for
inspection.
Results logged to
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/bootsnap-1.4.4/gem_make.out

An error occurred while installing bootsnap (1.4.4), and Bundler cannot
continue.
Make sure that `gem install bootsnap -v '1.4.4' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  bootsnap

honestly, I didn’t expect problems like this from using rails installer where it preached I could get to work immediately.

3

Answers


  1. This for sqlite.

    gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
    

    Bootsnap 2.3.3 I could not run it and upgraded the version of ruby. If you download Ruby + Devkit 2.5.5-1 (x64) from the link below, I hope that the problem will improve.
    Ruby 2.5.5

    Login or Signup to reply.
  2. I had the same bundle install problem using Rails 5.2.3 , ruby 2.3. Found a recent post from AngelofDawn that worked for me: Change the bootsnap gem in your gemfile to

    gem 'bootsnap', '=1.4.1', require: false
    

    Getting error (exit code 2) for bootsnap, not allowing to set up Rails Server.

    Still looking for the ‘why’

    Login or Signup to reply.
  3. I solve it by using this:

    gem 'bootsnap', require: false
    

    source: https://stackoverflow.com/a/56275766/534600

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search