bigcartel / dugway

Easily build and test Big Cartel themes.

Home Page:https://developers.bigcartel.com/api/themes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to install Dugway on my Mac via terminal.

Charlieeec opened this issue · comments

I tried to install Dugway via the Terminal for my Mac using the instructions from Git. Keying in the command seems to not have installed Dugway but instead an error listed below appears:

`_current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal
/usr/local/opt/ruby/bin/ruby -I /usr/local/Cellar/ruby/3.1.1/lib/ruby/3.1.0 -r ./siteconf20220331-1516-u5havp.rb extconf.rb
checking RUBY_BIGDECIMAL_VERSION... 1.4.4
checking for labs() in stdlib.h... yes
checking for llabs() in stdlib.h... yes
checking for finite() in math.h... yes
checking for isfinite() in math.h... no
checking for struct RRational in ruby.h... no
checking for rb_rational_num() in ruby.h... yes
checking for rb_rational_den() in ruby.h... yes
checking for rb_array_const_ptr() in ruby.h... yes
checking for rb_sym2str() in ruby.h... yes
creating Makefile

current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal
make DESTDIR= clean

current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal
make DESTDIR=
compiling bigdecimal.c
bigdecimal.c:348:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
INT2NUM(p->MaxPrecVpBaseFig()));
~~~~~~~ ~~~~~~~~~~^~~~~~~~~~~~
bigdecimal.c:347:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
obj = rb_assoc_new(INT2NUM(p->Prec
VpBaseFig()),
~~~~~~~ ~~~~~~~^~~~~~~~~~~~
bigdecimal.c:421:5: error: implicit declaration of function 'rb_check_safe_obj' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rb_check_safe_obj(str);
^
bigdecimal.c:421:5: note: did you mean 'rb_check_safe_str'?
/usr/local/Cellar/ruby/3.1.1/include/ruby-3.1.0/ruby/internal/core/rstring.h:383:6: note: 'rb_check_safe_str' declared here
void rb_check_safe_str(VALUE);
^
bigdecimal.c:2030:6: error: implicit declaration of function 'rb_check_safe_obj' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rb_check_safe_obj(f);
^
bigdecimal.c:2135:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
rb_ary_push(obj, INT2NUM(e));
~~~~~~~ ^
bigdecimal.c:2148:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
return INT2NUM(e);
~~~~~~~ ^
bigdecimal.c:2766:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
VALUE nCur = INT2NUM(VpGetPrecLimit());
~~~~~~~ ^~~~~~~~~~~~~~~~
5 warnings and 2 errors generated.
make: *** [bigdecimal.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4 for inspection.
Results logged to /usr/local/lib/ruby/gems/3.1.0/extensions/x86_64-darwin-20/3.1.0/bigdecimal-1.4.4/gem_make.out
charlie@Charlies-MacBook-Pro ~ % dugway create mytheme
zsh: command not found: dugway
charlie@Charlies-MacBook-Pro ~ % clear

charlie@Charlies-MacBook-Pro ~ % gem install dugway
Building native extensions. This could take a while...
ERROR: Error installing dugway:
ERROR: Failed to build gem native extension.

current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal

/usr/local/opt/ruby/bin/ruby -I /usr/local/Cellar/ruby/3.1.1/lib/ruby/3.1.0 -r ./siteconf20220331-1581-zu3b2d.rb extconf.rb
checking RUBY_BIGDECIMAL_VERSION... 1.4.4
checking for labs() in stdlib.h... yes
checking for llabs() in stdlib.h... yes
checking for finite() in math.h... yes
checking for isfinite() in math.h... no
checking for struct RRational in ruby.h... no
checking for rb_rational_num() in ruby.h... yes
checking for rb_rational_den() in ruby.h... yes
checking for rb_array_const_ptr() in ruby.h... yes
checking for rb_sym2str() in ruby.h... yes
creating Makefile

current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal
make DESTDIR= clean

current directory: /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4/ext/bigdecimal
make DESTDIR=
compiling bigdecimal.c
bigdecimal.c:348:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
INT2NUM(p->MaxPrecVpBaseFig()));
~~~~~~~ ~~~~~~~~~~^~~~~~~~~~~~
bigdecimal.c:347:39: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
obj = rb_assoc_new(INT2NUM(p->Prec
VpBaseFig()),
~~~~~~~ ~~~~~~~^~~~~~~~~~~~
bigdecimal.c:421:5: error: implicit declaration of function 'rb_check_safe_obj' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rb_check_safe_obj(str);
^
bigdecimal.c:421:5: note: did you mean 'rb_check_safe_str'?
/usr/local/Cellar/ruby/3.1.1/include/ruby-3.1.0/ruby/internal/core/rstring.h:383:6: note: 'rb_check_safe_str' declared here
void rb_check_safe_str(VALUE);
^
bigdecimal.c:2030:6: error: implicit declaration of function 'rb_check_safe_obj' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rb_check_safe_obj(f);
^
bigdecimal.c:2135:30: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
rb_ary_push(obj, INT2NUM(e));
~~~~~~~ ^
bigdecimal.c:2148:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
return INT2NUM(e);
~~~~~~~ ^
bigdecimal.c:2766:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
VALUE nCur = INT2NUM(VpGetPrecLimit());
~~~~~~~ ^~~~~~~~~~~~~~~~
5 warnings and 2 errors generated.
make: *** [bigdecimal.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/3.1.0/gems/bigdecimal-1.4.4 for inspection.
Results logged to /usr/local/lib/ruby/gems/3.1.0/extensions/x86_64-darwin-20/3.1.0/bigdecimal-1.4.4/gem_make.out`_

any kind souls could lead me towards the right path to get it installed? Thanks in advance.

@Charlieeec thanks for sharing the stacktrace! I think I see the issue. It looks like you might be using a newer Ruby version than Dugway supports. If you run ruby -v, you'll see which Ruby you're on. Right now, Dugway only support these Ruby versions: 2.3, 2.4, 2.5, 2.6, 2.7

If you need to install an older Ruby version than, let's say the system Ruby, you can use rvm, which works well.

It's on my radar that we want to support Ruby 3.0 and 3.1, so I hope that I can get to that soon. Let me know if you run into any issues or need additional support with this!

Hi, I've been trying to install dugway as well with no luck.

I get this error when I try to run gem install dugway:

ERROR:  Error installing dugway:
        ERROR: Failed to build gem native extension.

I followed this guide and I've got chruby installed to manage my ruby version. I'm currently on 3.3.3, so I assume that's why I'm unable to install dugway (since you said it only supports 2.3 - 2.7). That being said I'm new to ruby and I don't know how to install one of the compatible versions (when I try to just type ruby-install 2.7.0 for example I get !!! Compiling ruby 2.7.0 failed! at the end.

Is this problem usual? I'm just looking to use dugway to build a custom BigCartel theme and didn't expect the setup to be so tricky.