sassc-ruby
sassc-ruby copied to clipboard
BuildError Raspberry Pi 4 aar64 armv8-a
I also submitted this issue to sassc-rails (https://github.com/sass/sassc-rails/issues/138).
How to reproduce:
$ bundle add sassc-rails
on a raspberry pi 4 (balena 64bit OS 2.44.0+rev3)
Observation:
...
[main] Fetching sassc 2.2.1
[main] Installing sassc 2.2.1 with native extensions
[main] Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
[main] current directory: /usr/lib/ruby/gems/2.5.0/gems/sassc-2.2.1/ext
[main] /usr/bin/ruby -r ./siteconf20191111-1-1oooxp3.rb extconf.rb
[main] creating Makefile
[main] current directory: /usr/lib/ruby/gems/2.5.0/gems/sassc-2.2.1/ext
[main] make "DESTDIR=" clean
[main] current directory: /usr/lib/ruby/gems/2.5.0/gems/sassc-2.2.1/ext
[main] make "DESTDIR="
[main] compiling ./libsass/src/cencode.c
[main] cc1: error: unknown value 'armv8-a-march=armv8-a' for -march
[main] cc1: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a
[main] native
[main] make: *** [Makefile:243: cencode.o] Error 1
[main] make failed, exit code 2
[main] Gem files will remain installed in /usr/lib/ruby/gems/2.5.0/gems/sassc-2.2.1 for
[main] inspection.
[main] Results logged to
[main] /usr/lib/ruby/gems/2.5.0/extensions/aarch64-linux/2.5.0/sassc-2.2.1/gem_make.out
[main] An error occurred while installing sassc (2.2.1), and Bundler cannot continue.
[main] Make sure that `gem install sassc -v '2.2.1' --source 'https://rubygems.org/'`
[main] succeeds before bundling.
[main] In Gemfile:
[main] sassc-rails was resolved to 2.1.2, which depends on
[main] sassc
My guess
Note these two lines:
[main] cc1: error: unknown value 'armv8-a-march=armv8-a' for -march
[main] cc1: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a
It seems that a wrong option is generated:
Actual: -march=armv8-a-march=armv8-a
Expected: -march=armv8-a
Possibly related to #150 ?
Also I should add that I am performing the build in a docker image using balena.io cloud build infrastructure.
Docker image tag: balenalib/aarch64-alpine:latest-build
You can set BUNDLE_BUILD__SASSC=--disable-march-tune-native
to disable -march=native
https://github.com/sass/sassc-ruby/issues/222#issuecomment-857092485
Current work around: gem install sassc -- --disable-march-tune-native