“...I've been working since 2008 with Ruby / Ruby on Rails, love a bit of Elixir / Phoenix and learning Rust. I also poke through other people's code and make PRs for OpenSource Ruby projects that sometimes make it. Currently working for InPay...”

Rob Lacey (contact@robl.me)
Senior Software Engineer, Brighton, UK

Deploying application that includes Fog

I’ve deployed this app so many times and this time we’re missing libxml2

/home/rails/.rvm/rubies/ruby-2.3.0/bin/ruby -r
./siteconf20191124-17839-153ycdh.rb extconf.rb
checking for xml2-config... no
*** 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
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/home/rails/.rvm/rubies/ruby-2.3.0/bin/$(RUBY_BASE_NAME)
	--with-libxml2-config
	--without-libxml2-config
	--with-pkg-config
	--without-pkg-config
extconf.rb:29:in `<main>': The "libxml2" package isn't available. (RuntimeError)

I’m not sure why this has happened now but.

sudo apt-get install libxml2-dev

And now libcurl is missing.

/home/rails/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20191124-680-1dnvkzc.rb
extconf.rb
checking for xml2-config... yes
checking for curl-config... no
*** 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
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/home/rails/.rvm/rubies/ruby-2.3.0/bin/$(RUBY_BASE_NAME)
	--with-libcurl-config
	--without-libcurl-config
	--with-pkg-config
	--without-pkg-config
extconf.rb:40:in `<main>': The "libcurl" package isn't available. (RuntimeError)

Not quite as simple a library to install apparently Ubuntu has got three different flavours. https://packages.ubuntu.com/bionic/libcurl-dev

sudo apt-get install libcurl4-openssl-dev

Deploying now…