bigcartel / dugway

Easily build and test Big Cartel themes.
https://developers.bigcartel.com/api/themes
MIT License
149 stars 22 forks source link

Unable to install dugway gem on Win 8 64bit #65

Closed dackjaniels2001 closed 11 years ago

dackjaniels2001 commented 11 years ago

Hi,

I am totally new to ruby... I've run the ruby installer (v2.0.0), installed the ruby devkit (x64 v4.7.2) and also installed Python (v 2.7.4). I tested the setup by installing some gems (redcarpet and rdiscount) and these gems installed fine.

When I run the gem install dugway command I get the following errors which I believe are to do with the installation of the libv8 gem.

image

gem install libv8 fails with the same errors. gem install libv8 --version 3.11.8.0 installs libv8 successfully. Even if I try gem install dugway after a successful libv8 v3.11.8.0 install it still fails, presumably because it automatically tries to install libv8 v 3.11.8.17.

At least this is my understanding of what is happening. Any ideas?

Thanks, Steve

outerim commented 11 years ago

As far as I can tell from discussions online therubyracer/libv8 doesn't compile properly on windows. I don't know what's going on with v3.11.8.0, seems like a fluke to me that that one works. That said others have said that this isn't necessary on windows as it already contains a JS runtime. Further testing would be needed on windows.

You could consider pulling down the dugway source, and attempting to build/run the gem locally without therubyracer dependency. If that works we can possibly exclude it from dugway installs on windows.

mattwigham commented 11 years ago

Hi Steve, we just pushed a new version of Dugway that makes LESS support optional. This is what was requiring LibV8, so unless you want to use LESS instead of Sass or plain CSS, you should be able to install the new version without the same issues as earlier. Give it a try.

dackjaniels2001 commented 11 years ago

Hi,

Thanks for the quick response. I tried installing again and it progressed a lot further but seems to have failed due to an error installing eventmachine. I've pasted below the contents of gem_make.out from the eventmachine ext directory (sorry if this is messy but I didn't know how to attach it as a text file)

Any thoughts?

Thanks.

C:/Ruby200-x64/bin/ruby.exe extconf.rb checking for main() in -lssl... no checking for rb_trap_immediate in ruby.h,rubysig.h... no checking for rb_thread_blocking_region()... yes checking for inotify_init() in sys/inotify.h... no checking for __NR_inotify_init in sys/syscall.h... no checking for writev() in sys/uio.h... no checking for rb_wait_for_single_fd()... yes checking for rb_enable_interrupt()... no checking for rb_time_new()... yes checking for windows.h... yes checking for winsock.h... yes checking for main() in -lkernel32... yes checking for main() in -lrpcrt4... yes checking for main() in -lgdi32... yes creating Makefile

make generating rubyeventmachine-x64-mingw32.def compiling binder.cpp cc1plus.exe: warning: command line option '-Wdeclaration-after-statement' is valid for C/ObjC but not for C++ [enabled by default] cc1plus.exe: warning: command line option '-Wimplicit-function-declaration' is valid for C/ObjC but not for C++ [enabled by default] In file included from binder.cpp:20:0: project.h:26:0: warning: ignoring #pragma warning [-Wunknown-pragmas] In file included from project.h:149:0, from binder.cpp:20: binder.h:35:34: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70, from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33, from em.h:24, from project.h:150, from binder.cpp:20: c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declaration 'typedef _pid_t pid_t' In file included from binder.cpp:20:0: project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t' In file included from project.h:150:0, from binder.cpp:20: em.h:84:47: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:85:76: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:86:56: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:88:57: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:89:60: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:90:58: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:91:36: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:93:47: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:99:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:116:45: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:125:36: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from project.h:151:0, from binder.cpp:20: ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()': ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow] In file included from project.h:154:0, from binder.cpp:20: eventmachine.h: At global scope: eventmachine.h:46:61: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:47:112: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:48:69: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:50:73: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:65:75: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:66:74: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:67:77: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:68:41: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from project.h:154:0, from binder.cpp:20: eventmachine.h:103:58: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:105:60: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:108:41: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] make: *\ [binder.o] Error 1

outerim commented 11 years ago

Your latest issue seems similar to what was reported as an eventmachine issue a few months back. The version of eventmachine that dugway depends on should be new enough so as to work on your platform. Noting one comment is it possible you forgot a few steps when installing the devkit? Namely to run ruby dk.rb init and ruby dk.rb install.

https://github.com/eventmachine/eventmachine/issues/406#issuecomment-15012691

Hope that gets you headed in the right direction. Eventmachine should work on windows so if it is still giving you grief you might follow up in their IRC or file an issue and see if they can help you get it resolved. Hope that helps.

On May 13, 2013, at 12:25 PM, dackjaniels2001 notifications@github.com wrote:

Hi,

Thanks for the quick response. I tried installing again and it progressed a lot further but seems to have failed due to an error installing eventmachine. I've pasted below the contents of gem_make.out from the eventmachine ext directory (sorry if this is messy but I didn't know how to attach it as a text file)

Any thoughts?

Thanks.

C:/Ruby200-x64/bin/ruby.exe extconf.rb checking for main() in -lssl... no checking for rb_trap_immediate in ruby.h,rubysig.h... no checking for rb_thread_blocking_region()... yes checking for inotify_init() in sys/inotify.h... no checking for __NR_inotify_init in sys/syscall.h... no checking for writev() in sys/uio.h... no checking for rb_wait_for_single_fd()... yes checking for rb_enable_interrupt()... no checking for rb_time_new()... yes checking for windows.h... yes checking for winsock.h... yes checking for main() in -lkernel32... yes checking for main() in -lrpcrt4... yes checking for main() in -lgdi32... yes creating Makefile

make generating rubyeventmachine-x64-mingw32.def compiling binder.cpp cc1plus.exe: warning: command line option '-Wdeclaration-after-statement' is valid for C/ObjC but not for C++ [enabled by default] cc1plus.exe: warning: command line option '-Wimplicit-function-declaration' is valid for C/ObjC but not for C++ [enabled by default] In file included from binder.cpp:20:0: project.h:26:0: warning: ignoring #pragma warning [-Wunknown-pragmas] In file included from project.h:149:0, from binder.cpp:20: binder.h:35:34: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153, from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70, from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33, from em.h:24, from project.h:150, from binder.cpp:20: c:\rubydevkit\mingw\bin../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declaration 'typedef _pid_t pid_t' In file included from binder.cpp:20:0: project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t' In file included from project.h:150:0, from binder.cpp:20: em.h:84:47: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:85:76: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:86:56: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:88:57: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:89:60: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:90:58: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:91:36: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:93:47: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:99:42: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:116:45: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] em.h:125:36: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from project.h:151:0, from binder.cpp:20: ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()': ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow] In file included from project.h:154:0, from binder.cpp:20: eventmachine.h: At global scope: eventmachine.h:46:61: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:47:112: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:48:69: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:50:73: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:65:75: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:66:74: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:67:77: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:68:41: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] In file included from project.h:154:0, from binder.cpp:20: eventmachine.h:103:58: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:105:60: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] eventmachine.h:108:41: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] make: *\ [binder.o] Error 1

— Reply to this email directly or view it on GitHub.

niaiserie commented 11 years ago

I'm having the same issue as Steve on Win 7 64. The first problem seems to have been fixed but now I'm getting an identical error with eventmachine.

mattwigham commented 11 years ago

@niaiserie try @outerim's suggestions above and see if you can resolve those eventmachine issues.

dackjaniels2001 commented 11 years ago

Solved! I had installed devkit correctly as described above, and proceeded to install Git for Windows and Github, cloned the eventmachine gem, attempted to compile it and hit more errors. Googling these new errors led me to a resolution posted by someone with the same issue (sorry, lost the link).

In the end I had to uninstall the 64 bit versions of Ruby and the DevKit and reinstall the 32bit versions of both and this allowed me to run gem install dugway without getting any errors at all (just a few ASCII coversion warnings).

Steps I took are:

  1. Deleted 64 bit Ruby folder.
  2. Deleted 64 bit Devkit folder.
  3. Installed 32 bit Ruby using 'RubyInstaller'.
  4. Extracted 32 bit Devkit to C:\RubyDevKit.
  5. Updated Environment path in windows to point to 32 bit Ruby folder (was pointing to older 64 bit install).
  6. Command Prompt, CD'd to C:\Ruby DevKit and ran Ruby dk.rb init followed by ruby dk.rb install.
  7. Tested install by running gem install json --platform=ruby (installed fine)
  8. Ran gem install dugway (installed fine)
  9. Ran dugway create "Example Theme" (theme successfully created)

I now wonder if the changes you made to the dugway gem were necessary had I been using the 32 bit version from the beginning though I suspect they probably were.

Thank you all for your help with this.

mattwigham commented 11 years ago

Great! Thanks for sharing @dackjaniels2001. The changes we made will be better for the long term anyway. Glad you were able to get things going on Windows.

suresh036 commented 6 years ago

does anyone know the command to close the dugway server