sassc-ruby icon indicating copy to clipboard operation
sassc-ruby copied to clipboard

BuildError Raspberry Pi 4 aar64 armv8-a

Open ftes opened this issue 4 years ago • 4 comments

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

ftes avatar Nov 12 '19 15:11 ftes

Possibly related to #150 ?

ftes avatar Nov 18 '19 20:11 ftes

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

ftes avatar Nov 18 '19 20:11 ftes

You can set BUNDLE_BUILD__SASSC=--disable-march-tune-native to disable -march=native

glebm avatar Dec 02 '19 18:12 glebm

https://github.com/sass/sassc-ruby/issues/222#issuecomment-857092485

Current work around: gem install sassc -- --disable-march-tune-native

joerglohrer avatar Jan 24 '24 19:01 joerglohrer