Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update libsass to v3.6.0 and fixes various issues (windows, cross-compilation, binary gems) #96

Merged
merged 3 commits into from
May 20, 2019

Conversation

glebm
Copy link
Contributor

@glebm glebm commented Nov 17, 2018

Updates libsass to v3.6.0

Also:

  1. Adds Windows RubyInstaller compilation support via rake-compiler. Fixes Windows? #18.
  2. Fixes load_paths separator on Windows. Fixes Configuring Sass with multiple valid load paths leads to SyntaxError on Windows #93.
  3. Changes the location of libsass.so from ext/ to lib/. Fixes libsass.so stays in ext/ - but should be in lib/ #95.
  4. Easy binary release cross-compilation via rake-compiler-dock. Simply install Docker and run bundle exec rake gem:native.
  5. Removes runtime rake dependency. Fixes Dropping the rake runtime dependency #105.

Some important fixes in libsass v3.6.0:

  1. The :not selector. Fixes 1.12.1 - :not selector issue #91. :not() clause ignored completely libsass#2697
  2. Default precision changed to 10. Use precision 10 by default libsass#2716
  3. Now builds with cc instead of hard-coding gcc. Building with make does not work if g++ is not installed libsass#2707
  4. Building on Linux and Solaris. Fix --no-undefined in Makefile on non-Darwin libsass#2720
  5. Many other Sass compatibility issues, and dozens of memory leaks and segfaults.

@glebm glebm mentioned this pull request Nov 17, 2018
@glebm glebm changed the title Update libsass to master to fix :not issue Update libsass to master to fix several issues Nov 17, 2018
@glebm glebm force-pushed the ext-lib branch 2 times, most recently from ee81a67 to 79943e2 Compare November 17, 2018 17:02
@glebm glebm changed the title Update libsass to master to fix several issues Update libsass to master + other fixes Nov 17, 2018
@glebm glebm force-pushed the ext-lib branch 4 times, most recently from bf4296c to b0b9592 Compare November 17, 2018 20:02
@wmoxam
Copy link

wmoxam commented Mar 6, 2019

Is there anything preventing either this or #94 from being merged?

@bolandrm
Copy link
Member

bolandrm commented Mar 6, 2019

Thus far, I've been targeting only libsass releases (rather than specific commits). It doesn't look like there's been a release containing the commit that this PR points to yet. I suppose we could merge #94

@ahorek
Copy link

ahorek commented May 4, 2019

after this change, I can't compile it on Windows, is it intentional?

@glebm
Copy link
Contributor Author

glebm commented May 5, 2019

after this change, I can't compile it on Windows, is it intentional?

It's not intentional, you should be able to compile on Windows with this PR.
Can you provide more information about the error you're getting?

@ahorek
Copy link

ahorek commented May 5, 2019

sure, see gem_make.out

master
current directory: c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext
c:/Ruby24-x64/bin/ruby.exe -rrubygems c:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.2/exe/rake RUBYARCHDIR\=c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/extensions/x64-mingw32/2.4.0/sassc-ruby-58d09fe58563 RUBYLIBDIR\=c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/extensions/x64-mingw32/2.4.0/sassc-ruby-58d09fe58563
cd libsass
git submodule update --init
Submodule 'ext/libsass' (git://github.com/sass/libsass.git) registered for path './'
Cloning into 'C:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass'...
Submodule path './': checked out '9cfe0df975945325e05d6dd39ee98224898d9a79'
make lib/libsass.so
mkdir lib
gcc -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/cencode.o src/cencode.c
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/ast.o src/ast.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/node.o src/node.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/context.o src/context.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/constants.o src/constants.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/functions.o src/functions.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/color_maps.o src/color_maps.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/environment.o src/environment.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/ast_fwd_decl.o src/ast_fwd_decl.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/bind.o src/bind.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/file.o src/file.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/util.o src/util.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/json.o src/json.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/units.o src/units.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/values.o src/values.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/plugins.o src/plugins.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/position.o src/position.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/lexer.o src/lexer.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/parser.o src/parser.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/prelexer.o src/prelexer.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/eval.o src/eval.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/expand.o src/expand.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/listize.o src/listize.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/cssize.o src/cssize.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/extend.o src/extend.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/output.o src/output.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/inspect.o src/inspect.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/emitter.o src/emitter.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/check_nesting.o src/check_nesting.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/remove_placeholders.o src/remove_placeholders.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass.o src/sass.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass_util.o src/sass_util.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass_values.o src/sass_values.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass_context.o src/sass_context.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass_functions.o src/sass_functions.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/sass2scss.o src/sass2scss.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/backtrace.o src/backtrace.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/operators.o src/operators.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/to_c.o src/to_c.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/to_value.o src/to_value.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/source_map.o src/source_map.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/subset_map.o src/subset_map.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/error_handling.o src/error_handling.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/memory/SharedPtr.o src/memory/SharedPtr.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/utf8_string.o src/utf8_string.cpp
g++ -Wall -O2 -DLIBSASS_VERSION="\"3.5.2\"" -std=gnu++0x -I /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-58d09fe58563/ext/libsass/include -c -o src/base64vlq.o src/base64vlq.cpp
g++ -shared -Wall -O2 -Wl,-undefined,error -std=gnu++0x -static -static-libgcc -static-libstdc++ -o lib/libsass.so src/cencode.o src/ast.o src/node.o src/context.o src/constants.o src/functions.o src/color_maps.o src/environment.o src/ast_fwd_decl.o src/bind.o src/file.o src/util.o src/json.o src/units.o src/values.o src/plugins.o src/position.o src/lexer.o src/parser.o src/prelexer.o src/eval.o src/expand.o src/listize.o src/cssize.o src/extend.o src/output.o src/inspect.o src/emitter.o src/check_nesting.o src/remove_placeholders.o src/sass.o src/sass_util.o src/sass_values.o src/sass_context.o src/sass_functions.o src/sass2scss.o src/backtrace.o src/operators.o src/to_c.o src/to_value.o src/source_map.o src/subset_map.o src/error_handling.o src/memory/SharedPtr.o src/utf8_string.o src/base64vlq.o -lm -lstdc++
cd -
this branch
current directory: c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext
c:/Ruby24-x64/bin/ruby.exe -I c:/Ruby24-x64/lib/ruby/site_ruby/2.4.0 -r ./siteconf20190505-2224-cjg2c9.rb extconf.rb

current directory: c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext
make "DESTDIR=" clean
make -C 'c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass' clean
make[1]: Entering directory /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass' make[1]: *** No rule to make target clean'. Stop.
make[1]: Leaving directory `/c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass'
make: *** [clean] Error 2

current directory: c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext
make "DESTDIR="
make -C 'c:/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass' lib/libsass.so
make[1]: Entering directory /c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass' make[1]: *** No rule to make target lib/libsass.so'. Stop.
make[1]: Leaving directory `/c/Ruby24-x64/lib/ruby/gems/2.4.0/bundler/gems/sassc-ruby-b0b9592d6e4c/ext/libsass'
make: *** [libsass.so] Error 2

make failed, exit code 2

@xzyfer
Copy link

xzyfer commented May 5, 2019 via email

@glebm glebm force-pushed the ext-lib branch 5 times, most recently from 79dcdff to d2d6fb0 Compare May 5, 2019 14:57
@glebm
Copy link
Contributor Author

glebm commented May 5, 2019

Should be fixed now!

@bolandrm
Copy link
Member

bolandrm commented May 8, 2019

@ahorek has your issue been resolved?

@xzyfer any thoughts on when a new libsass release will be tagged?

ext/extconf.rb Outdated Show resolved Hide resolved
@ahorek
Copy link

ahorek commented May 8, 2019

@bolandrm

has your issue been resolved?

no, but I've found what's wrong and the fix is simple, see my previous comment

@glebm could you resolve the conflict?

@glebm glebm force-pushed the ext-lib branch 2 times, most recently from 22769b6 to efdd4c6 Compare May 8, 2019 19:31
@glebm
Copy link
Contributor Author

glebm commented May 8, 2019

@ahorek Should be fixed now. Conflicts also resolved.

@glebm
Copy link
Contributor Author

glebm commented May 8, 2019

@bolandrm Perhaps we should merge this and release a beta gem?

This will let users try out the new pre-built gems and report any issues before the final release.

@xzyfer
Copy link

xzyfer commented May 8, 2019 via email

Simply have Docker installed and run this to compile binary gems:

    bundle exec rake gem:native
@betesh
Copy link

betesh commented May 17, 2019

@xzyfer Sounds like we're just waiting for a release at this point. Any update on that?

@xzyfer
Copy link

xzyfer commented May 18, 2019

Apologies I fell behind. I just released https://github.com/sass/libsass/releases/tag/3.6.0

@glebm glebm changed the title Update libsass to master + other fixes Update libsass to v3.6.0 and fixes various issues (windows, cross-compilation, binary gems) May 18, 2019
@glebm
Copy link
Contributor Author

glebm commented May 18, 2019

Should be good to merge and release!

Please also merge #117 before releasing!

To compile binary gems, simply run:

bundle exec rake gem:native

This will cross-compile gems for Windows (mingw / RubyInstaller) and Linux using Docker + VirtualBox.

@bolandrm bolandrm merged commit 10a743c into sass:master May 20, 2019
@bolandrm
Copy link
Member

@glebm i'm a bit confused- are the precompiled binaries going to be included as part of the ruby gem?

@bolandrm
Copy link
Member

@glebm hitting the following issue on osx:

bundle exec rake compile:libsass
cd tmp/x86_64-darwin17/libsass/2.5.1
/usr/local/bin/gmake
gmake: 'libsass.so' is up to date.
cd -
install -c tmp/x86_64-darwin17/libsass/2.5.1/libsass.bundle lib/sassc/libsass.bundle
rake aborted!
Errno::ENOENT: No such file or directory @ rb_file_s_stat - tmp/x86_64-darwin17/libsass/2.5.1/libsass.bundle
/Users/bolandrm/www/gems/sassc-ruby/vendor/bundle/gems/rake-compiler-1.0.7/lib/rake/extensiontask.rb:146:in `block in define_compile_tasks'
/Users/bolandrm/www/gems/sassc-ruby/vendor/bundle/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/Users/bolandrm/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/Users/bolandrm/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Tasks: TOP => compile:libsass => compile:libsass:x86_64-darwin17 => copy:libsass:x86_64-darwin17:2.5.1
(See full trace by running task with --trace)

@glebm
Copy link
Contributor Author

glebm commented May 20, 2019

@glebm i'm a bit confused- are the precompiled binaries going to be included as part of the ruby gem?

The command build multiple gems and we should publish them all (the source one and 4 precompiled ones). If possible, Ruby will install use the precompiled one matching the current platform by default. See for example nokogiri - you can see multiple 1.10.3 versions; this gem will look similar.

@glebm
Copy link
Contributor Author

glebm commented May 20, 2019

@glebm hitting the following issue on osx:

@bolandrm Try running rm -rf tmp/ pkg/ ext/libsass && git submodule update --init.

@glebm
Copy link
Contributor Author

glebm commented May 20, 2019

Ah, I see the problem, rake compiler tries to look for libsass.bundle on macOS instead of libsass.so.

https://github.com/rake-compiler/rake-compiler/blob/9f15620e7db145d11ae2fc4ba032367903f625e3/features/support/platform_extension_helpers.rb#L5

@glebm
Copy link
Contributor Author

glebm commented May 20, 2019

@bolandrm Fix sent: #121

@glebm glebm deleted the ext-lib branch May 20, 2019 14:06
@betesh
Copy link

betesh commented May 20, 2019

Thanks @xzyfer @bolandrm and @glebm for the quick response.

Will you be releasing a new version of sassc-ruby to rubygems.org in the near future?

@bolandrm
Copy link
Member

Yeah, perhaps tomorrow

@betesh
Copy link

betesh commented May 21, 2019

Thanks @bolandrm . That will definitely be appreciated -- a lot easier than having to build from source myself.

@betesh
Copy link

betesh commented May 22, 2019

@bolandrm Sorry to nag you; it would be really helpful if you could release this. Thanks!

@bolandrm
Copy link
Member

Released 2.1.0.pre1. Please give it a try and let me know if it's working well.

@ahorek
Copy link

ahorek commented May 23, 2019

precompiled version doesn't work for me (tested on linux and windows)

LoadError: Could not open library '/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc/2.5/libsass.so': /home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc/2.5/libsass.so: symbol _ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/ffi-1.11.1/lib/ffi/library.rb:145:in `block in ffi_lib'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/ffi-1.11.1/lib/ffi/library.rb:99:in `map'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/ffi-1.11.1/lib/ffi/library.rb:99:in `ffi_lib'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc/native.rb:15:in `'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc/native.rb:6:in `'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc/native.rb:5:in `'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc.rb:31:in `require_relative'
/home/ahorek/.rvm/gems/ruby-2.5.3/gems/sassc-2.1.0.pre1-x86_64-linux/lib/sassc.rb:31:in `'

@glebm
Copy link
Contributor Author

glebm commented May 23, 2019

Looks like we're not linking libc statically but we probably should.

@johnfairh
Copy link

👍 macOS 10.14.5 / Xcode 10.2 / mri 2.0.0/various/2.6.3

@betesh
Copy link

betesh commented May 23, 2019

Seems to be working with jruby 9.1.17.0! Thanks!

@bolandrm
Copy link
Member

related: #125

@glebm will you be able to take a look at these issues? This is a bit out of my wheelhouse.

@glebm
Copy link
Contributor Author

glebm commented May 24, 2019

@bolandrm Yes, I'll take a look in a few days. I'm travelling at the moment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants