sass / sassc-ruby

Use libsass with Ruby!
MIT License
367 stars 156 forks source link

Build error on mac #160

Open wjessop opened 4 years ago

wjessop commented 4 years ago

I'm hitting this build error and I'm not sure how to get past it. Using Ruby 2.6.4. Any ideas?

$ gem install sassc
Building native extensions. This could take a while...
ERROR:  Error installing sassc:
    ERROR: Failed to build gem native extension.

    current directory: /Users/will/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/sassc-2.2.1/ext
/Users/will/.rbenv/versions/2.6.4/bin/ruby -I /Users/will/.rbenv/versions/2.6.4/lib/ruby/2.6.0 -r ./siteconf20191001-97943-1b3j2qf.rb extconf.rb
creating Makefile

current directory: /Users/will/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/sassc-2.2.1/ext
make "DESTDIR=" clean

current directory: /Users/will/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/sassc-2.2.1/ext
make "DESTDIR="
compiling ./libsass/src/units.cpp
In file included from ./libsass/src/units.cpp:3:
In file included from ./libsass/src/units.hpp:4:
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:313:9: error: no member named 'signbit' in the global namespace
using ::signbit;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:314:9: error: no member named 'fpclassify' in the global namespace
using ::fpclassify;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:315:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'?
using ::isfinite;
      ~~^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/math.h:749:12: note: 'finite' declared here
extern int finite(double)
           ^
In file included from ./libsass/src/units.cpp:3:
In file included from ./libsass/src/units.hpp:4:
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:316:9: error: no member named 'isinf' in the global namespace
using ::isinf;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:317:9: error: no member named 'isnan' in the global namespace
using ::isnan;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:318:9: error: no member named 'isnormal' in the global namespace
using ::isnormal;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:319:9: error: no member named 'isgreater' in the global namespace
using ::isgreater;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:320:9: error: no member named 'isgreaterequal' in the global namespace
using ::isgreaterequal;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:321:9: error: no member named 'isless' in the global namespace
using ::isless;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:322:9: error: no member named 'islessequal' in the global namespace
using ::islessequal;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:323:9: error: no member named 'islessgreater' in the global namespace
using ::islessgreater;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:324:9: error: no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
/usr/local/Cellar/llvm@4/4.0.1_1/bin/../include/c++/v1/cmath:325:9: error: no member named 'isunordered' in the global namespace
using ::isunordered;
      ~~^
13 errors generated.
make: *** [units.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/will/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/sassc-2.2.1 for inspection.
Results logged to /Users/will/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/sassc-2.2.1/gem_make.out
rex-remind101 commented 4 years ago

+1

ahorek commented 4 years ago

this should be fixed by https://github.com/sass/sassc-ruby/pull/164 . Could you test the master branch?

wjessop commented 4 years ago

@rex-remind101 Are you able to test this? This was so long ago for me I don't remember what the context was.

rex-remind101 commented 4 years ago

trying to use license_finder gem and end up getting this

rex-remind101 commented 4 years ago

looks like it wants sassc-2.2.1

rex-remind101 commented 4 years ago

looks like my license_finder is very old. will upgrade some things and report back.

robin850 commented 3 years ago

Hello,

Not sure that the issue lays inside this project. Installing sassc on my Mac produces the exact same error but a lot of people struggle with code that include cmath on recent macOS. This did the trick on my setup:

$ sudo rm -rf /Library/Developer/CommandLineTools
$ sudo xcode-select -s /Applications/Xcode.app
$ gem install sassc

(You can get back command line tools by running xcode-select --install.)

Source.

Hope that helps any people that struggles with this. This issue can certainly be closed by the way.