Unibeautify/docker-beautifiers

sass-convert image build error

Closed this issue · 2 comments

The image for sass-convert is failing to build due to this error:

[91mERROR:  Error installing sass:
	ERROR: Failed to build gem native extension.

    current directory: /usr/local/bundle/gems/ffi-1.9.18/ext/ffi_c
/usr/local/bin/ruby -r ./siteconf20170925-5-zp3064.rb extconf.rb
*** 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.

This looks to be an issue with the ruby:alpine image it's based from. I used FROM ruby and it installed, but of course it's an extra 620 MB download to use.

From mkmf.log:

      1 "pkg-config --exists libffi"
      2 | pkg-config --libs libffi
      3 => "-L/usr/lib/../lib -lffi  \n"
      4 "gcc -o conftest -I/usr/local/include/ruby-2.4.0/x86_64-linux-musl -I/us
      4 r/local/include/ruby-2.4.0/ruby/backward -I/usr/local/include/ruby-2.4.0
      4  -I.    -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -W
      4 no-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tauto
      4 logical-compare -Wno-parentheses-equality -Wno-constant-logical-operand 
      4 -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrit
      4 e-strings -Wdeclaration-after-statement -Wimplicit-function-declaration 
      4 -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribut
      4 e=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized  -fPIC co
      4 nftest.c  -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L. -fstack-pro
      4 tector -rdynamic -Wl,-export-dynamic     -Wl,-rpath,/usr/local/lib -L/us
      4 r/local/lib -lruby  -lpthread -ldl -lcrypt -lm   -lc"
      5 checked program was:
      6 /* begin */
      7 1: #include "ruby.h"
      8 2: 
      9 3: int main(int argc, char **argv)
     10 4: {
     11 5:   return 0;
     12 6: }
     13 /* end */

A couple more observations that ultimately make it more confusing:

  • It fails when using the old Docker image of ruby:alpine from late June
  • Pulling just ruby:alpine and running gem update raises the same errors as installing sass
  • Installing sass 3.4.25 works fine from any ruby:alpine image, starts failing on 3.5

Why does it work with ruby and not ruby:alpine while at the same time work with ruby:alpine at version 3.4.25?

I don't know where to begin.