shoes / shoes-deprecated

Former repo for Shoes... see README for up to date locations!
http://shoesrb.com/
Other
1.15k stars 167 forks source link

Cannot package on Windows 7x64 #265

Open Phrogz opened 10 years ago

Phrogz commented 10 years ago

I am trying to create a self-running .exe on Windows. When I launch Shoes.exe and click on "Package an App with Shoes" nothing happens, but I get the following error in the console:

126: The specified module could not be found. - C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/i386-mingw32/binject.so
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in `require'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in `require'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes/app_package.rb:3:in `<top (required)>'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in `require'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in `require'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes.rb:206:in `app_package'
C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes.rb:171:in `block (4 levels) in splash'
-e:1:in `call'

This is on Windows7x64, running Shoes v3.2.14. Is there a know problem with the packager, and if so is there any workaround?

This file does exist on my hard drive:
C:\Program Files (x86)\Common Files\Shoes\3.2.14-gtk2-32\lib\ruby\2.1.0\i386-mingw32\binject.so

ccoupe commented 10 years ago

It's wasn't a known problem until now. Thanks for reporting it. I can reproduce your problem.

Oddly, binject.so is right where the error message says it is. I suspect I may have been too agressive in stripping the debugging symbols.

I'll follow up with a newer version that works once I figure out what's wrong.

Thanks for the bug report. --Cecil

On 08/27/2014 01:23 PM, Gavin Kistner wrote:

I am trying to create a self-running .exe on Windows. When I launch Shoes.exe and click on "Package an App with Shoes" nothing happens, but I get the following error in the console:

126: The specified module could not be found. - C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/i386-mingw32/binject.so C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in require' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:inrequire' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes/app_package.rb:3:in <top (required)>' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:inrequire' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/ruby/2.1.0/rubygems/core_ex/kernel_require.rb:55:in require' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes.rb:206:inapp_package' C:/Program Files (x86)/Common Files/Shoes/3.2.14-gtk2-32/lib/shoes.rb:171:in block (4 levels) in splash' -e:1:incall'

This is on Windows7x64, running Shoes v3.2.14. Is there a know problem with the packager, and if so is there any workaround?

— Reply to this email directly or view it on GitHub https://github.com/shoes/shoes/issues/265.

ccoupe commented 10 years ago

This may take some time than either of us like. The only work around would be to do the packaging from OSX or Linux (for an exe). Older versions of 3.2 that I know worked, don't work any more. I hate blaming Windows updates but that's the leading explanation.

Phrogz commented 10 years ago

I didn't realize that OS X could package for Windows. That sounds like a reasonable workaround.

When packaging a folder of files, how do I instruct Shoes which is the main file? I have tried the GUI Packager on OS X and successfully created a .exe that runs on Windows, but it just spews a bunch of output about non-UTF-8 files:

Error in <unknonwn> line 0 | …current date…
undefined local variable or method `
Error in <unknonwn> line 0 | …current date…
not a valid UTF-8 string: undefined local variable or method `

(second message repeats ≈infinitely)


However, manually replacing all require with copy/pasting all files into the main and packaging just that file on OS X worked like a charm on Windows. Thank you for the workaround.

ccoupe commented 10 years ago

Sadly, the packager is currently limited to packing one (1) file. It's a big weakness that's on the todo list. One could try packing your directory into a .shy and then package that into an .exe - it might work.

ccoupe commented 10 years ago

@Phrogz (and others watching). I've updated Shoes 3.2.15 (Sept 2 2014 date). It's now working for me: Packaging a single script with Shoes Windows. Packaging a directory hasn't been fixed yet.

You'll have to download and reinstall 3.2.15 to test it.