From gthiesfeld at gmail.com Tue Apr 1 12:04:59 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Tue, 1 Apr 2008 11:04:59 -0500 Subject: [Rubyinstaller-devel] Gem based Mingw build environment Message-ID: I've been rereading the threads from the last few months, and in "Windows Compilation madness"[1], a gem based Windows development environment was discussed. I think that being able to gem install a mingw development environment is a really great idea. In that thread there were three reasons against this approach, and I want to discsuss them: Luis Lavena wrote: > Roger Pack suggested me to bundle MinGW in a gem...: > 1) a 8MB gem (!!!) Ok, I understand that 'gem instal'l would have a problem with this, but I think if we (or I, if no one else is interested) abstract out the necessary bits from Luis' installer3 rake recipes, we could just distribute all ruby code. We just need to make it fairly simple for the user to get msys and mingw set up. > 2) because mingw is inside the gem, will not be easy hook it into PATH We could have a command in the gem's bin dir that would help us set this up. It would ask the user if he has msys and mingw installed, and if so prompt for the path. If not, it could download it into the location of the user's choosing. Then it could create a config file in $HOME or $USERPROFILE, similar to what Hoe or Autotest or Rubyforge uses. This file would contain the paths to msys and mingw and any other global configuration needed to make this work. From there, the users could require this gem into their rakefile, and have all the tools they need. > 3) that didn't solve the rbconfig issues. This issue is one I'm not sure I understand, and it may be the showstopper. Anyway, those are my ideas I'm interested to hear what people think. Thanks, Gordon [1] http://groups.google.com/group/comp.lang.ruby/browse_frm/thread/6b299623e53edbd9/71760b19769067e6?lnk=gst&q=lavena+mingw+gem#71760b19769067e6 From luislavena at gmail.com Tue Apr 1 12:46:00 2008 From: luislavena at gmail.com (Luis Lavena) Date: Tue, 1 Apr 2008 13:46:00 -0300 Subject: [Rubyinstaller-devel] Gem based Mingw build environment In-Reply-To: References: Message-ID: <71166b3b0804010946i77635af0w397cdb1ec5c14106@mail.gmail.com> On Tue, Apr 1, 2008 at 1:04 PM, Gordon Thiesfeld wrote: > I've been rereading the threads from the last few months, and in > "Windows Compilation madness"[1], a gem based Windows development > environment was discussed. I think that being able to gem install a > mingw development environment is a really great idea. In that thread > there were three reasons against this approach, and I want to discsuss > them: > hey Gordon, great feedback! > Luis Lavena wrote: > > Roger Pack suggested me to bundle MinGW in a gem...: > > > 1) a 8MB gem (!!!) > > Ok, I understand that 'gem instal'l would have a problem with this, > but I think if we (or I, if no one else is interested) abstract out > the necessary bits from Luis' installer3 rake recipes, we could just > distribute all ruby code. We just need to make it fairly simple for > the user to get msys and mingw set up. > At that time I was negative to that idea, but after thinking it a bit, it started to sound good. Is something like apt-get build-essentials or similar. What I didn't liked at that time was that rubygems use open-uri and is not possible keep track of partial downloads or similar, something we achieved in installer3 adapting some code from Buildr project [1]. In any case, our next step is work on the MSI scripts (Microsoft Installer build with WiX) to generate the Ruby 1.8 module and also some modules for MinGW and MSYS. Then create a Developer Kit that could be installed and hooked into the $PATH, as I commented in my blog post [2] a few days back. > > 2) because mingw is inside the gem, will not be easy hook it into PATH > > We could have a command in the gem's bin dir that would help us set > this up. It would ask the user if he has msys and mingw installed, > and if so prompt for the path. If not, it could download it into the > location of the user's choosing. Then it could create a config file > in $HOME or $USERPROFILE, similar to what Hoe or Autotest or Rubyforge > uses. This file would contain the paths to msys and mingw and any > other global configuration needed to make this work. From there, the > users could require this gem into their rakefile, and have all the > tools they need. I have played a bit under that road, but there is a small problem cannot easily fix, see the following IRB and command line output: D:\Users\Luis>set FOOBAR Environment variable FOOBAR not defined D:\Users\Luis>irb irb(main):001:0> ENV['FOOBAR'] => nil irb(main):002:0> ENV['FOOBAR'] = "Something" => "Something" irb(main):003:0> ENV['FOOBAR'] => "Something" irb(main):004:0> exit D:\Users\Luis>set FOOBAR Environment variable FOOBAR not defined D:\Users\Luis>SET FOOBAR=Something D:\Users\Luis>irb irb(main):001:0> ENV['FOOBAR'] => "Something" irb(main):002:0> ENV.delete('FOOBAR') => "Something" irb(main):003:0> ENV['FOOBAR'] => nil irb(main):004:0> exit D:\Users\Luis>SET FOOBAR FOOBAR=Something === As you can see, we cannot alter any environment variable inside Ruby and make the change "persist" outside the Ruby VM. What we could do is wrap around and inherit the new environment, that is just nasty and feel dirty... What Curt Hibbs and Andy Hunt ended doing with installer-win2 on subversion repository is wrap the environment variable changes into a batch file that was the responsible to call nmake. Will be better if we install MinGW+MSYS outside the controller Ruby VM and environment and provide a windows shortcut like "MinGW command prompt" or something like that. > > 3) that didn't solve the rbconfig issues. > > This issue is one I'm not sure I understand, and it may be the > showstopper. Anyway, those are my ideas I'm interested to hear what > people think. The rbconfig hack was related to the subject of keep using VC6 builds and use MinGW as compiler for the extensions, since mkmf, the library used to generate the makefiles for ruby extension is highly coupled with the compiler used to generate the ruby installation, example: Ruby 1.8 built with VC6 (require rbconfig): RbConfig::CONFIG['CC'] => "cl -nologo" RbConfig::CONFIG['CFLAGS'] => "-MD -Zi -O2b2xg- -G6" RbConfig::CONFIG['AR'] => "lib -nologo" Now, Ruby 1.8 with MinGW irb(main):001:0> require 'rbconfig' => true irb(main):002:0> RbConfig::CONFIG['CC'] => "gcc" irb(main):003:0> RbConfig::CONFIG['CFLAGS'] => "-g -O2 " irb(main):004:0> RbConfig::CONFIG['AR'] => "ar" As you can see, we need to tweak the RbConfig options to make them work with MinGW command tools, but there are other issues, like the platform RubyGems uses (RUBY_PLATFORM) and it will try to fire 'nmake' instead of 'make' when building the extensions bundled into a gem... It get too much complicated if we go down that road, so instead of "patching and hacking" current build of ruby, jump into MinGW completely sounds more logical :-D > Thanks, Thanks to you Gordon, for taking the time to analyze this and provide your feedback. I wish we could do some of these stuff without hack around Ruby, but avoiding ruby sometimes is healthier :-) [1] http://incubator.apache.org/buildr/ [2] http://blog.mmediasys.com/2008/03/29/progress-of-one-click-installer-rubyinstaller/ -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Tue Apr 1 15:39:14 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Tue, 1 Apr 2008 14:39:14 -0500 Subject: [Rubyinstaller-devel] Gem based Mingw build environment In-Reply-To: <71166b3b0804010946i77635af0w397cdb1ec5c14106@mail.gmail.com> References: <71166b3b0804010946i77635af0w397cdb1ec5c14106@mail.gmail.com> Message-ID: On Tue, Apr 1, 2008 at 11:46 AM, Luis Lavena wrote: > > Thanks to you Gordon, for taking the time to analyze this and provide > your feedback. I wish we could do some of these stuff without hack > around Ruby, but avoiding ruby sometimes is healthier :-) > I appreciate you taking the time to explain all of this to me. So, the package size issue and the rbconfig issues are resolved. That leaves us with the issue of setting env variables. Then, it's just a matter of which packaging mechanism to use (msi, or rubygems). I don't have a lot of experience with compiling extensions. I have compiled the win32console extension with VC6, and with MinGW. With VC6, I had to download the Windows platform SDK, run two batch files to set env vars, and finally I got it to build. It took me hours to get it working. Maybe that's because I'd never done it before - for someone with a lot of C/C++ Windows experience it may have been trivial. With Mingw, I hacked into your installer project's rake recipes, used the msys_sh method, and I was done. It took me 20 minutes tops. I guess my question is, since you can provide a package that builds ruby and all of it's stdlib extensions via a rakefile without setting env vars, is it something that we need to worry about? Maybe you're just making it look too easy, I don't know :-) Thanks, Gordon From builder at mmediasys.com Mon Apr 7 17:10:57 2008 From: builder at mmediasys.com (Integration Builder) Date: Mon, 7 Apr 2008 18:10:57 -0300 Subject: [Rubyinstaller-devel] [CruiseControl] mongrel-stable_1-2-mingw32 build 1002 failed Message-ID: <47fa8de126160_83c1462a8815e@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1002 detected Revision 1002 committed by luislavena on 2008-04-06 00:14:45 GemPlugin was looking for 'init.rb' on every gem, that's nasty. M /branches/stable_1-2/projects/gem_plugin/lib/gem_plugin.rb M /branches/stable_1-2 BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11.o - ext/http11/http11_parser.o - ext/http11/Makefile - lib/http11.so [CruiseControl] Invoking Rake task "compile" checking for main() in -lc... no creating Makefile gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11.c gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11_parser.c gcc -shared -s -o http11.so http11.o http11_parser.o -L. -LD:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -lmsvcrt-ruby18 -lshell32 -lws2_32 D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 32.781 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-svn-MINGW-ruby...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/build-1002/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mingw32\build-1002\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From builder at mmediasys.com Mon Apr 7 17:12:03 2008 From: builder at mmediasys.com (Integration Builder) Date: Mon, 7 Apr 2008 18:12:03 -0300 Subject: [Rubyinstaller-devel] [CruiseControl] mongrel-stable_1-2-mswin32 build 1002 failed Message-ID: <47fa8e236e988_88013de3a6141@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1002 detected Revision 1002 committed by luislavena on 2008-04-06 00:14:45 GemPlugin was looking for 'init.rb' on every gem, that's nasty. M /branches/stable_1-2/projects/gem_plugin/lib/gem_plugin.rb M /branches/stable_1-2 BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11-i386-mswin32.def - ext/http11/http11-i386-mswin32.exp - ext/http11/http11-i386-mswin32.lib - ext/http11/http11-i386-mswin32.pdb - ext/http11/http11.obj - ext/http11/http11_parser.obj - ext/http11/Makefile - ext/http11/vc60.pdb - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in c.lib... no creating Makefile Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. D:\Users\Luis\ruby\ruby-186-p114-VC6-rubygems-110\bin\ruby -e "puts 'EXPORTS', 'Init_http11'" > http11-i386-mswin32.def cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11.c http11.c cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11_parser.c http11_parser.c cl -nologo -LD -Fehttp11.so http11.obj http11_parser.obj msvcrt-ruby18.lib oldnames.lib user32.lib advapi32.lib ws2_32.lib -link -incremental:no -debug -opt:ref -opt:icf -dll -libpath:"." -libpath:"D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib" -def:http11-i386-mswin32.def -implib:http11-i386-mswin32.lib -pdb:http11-i386-mswin32.pdb Creating library http11-i386-mswin32.lib and object http11-i386-mswin32.exp D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 34.609 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-p114-VC6-rubyg...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/build-1002/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mswin32\build-1002\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From dgleal at gmail.com Thu Apr 10 06:33:29 2008 From: dgleal at gmail.com (David Leal) Date: Thu, 10 Apr 2008 11:33:29 +0100 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> Message-ID: <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> (Posting this again because I forgot to subscribe to the list, and I don't know if the mail is delivered in those conditions. Sorry if this is a double post.) Hi all, so I spoke to Luis a few hours ago on IRC, because I was having problems building ruby on windows using the new installer scripts. While I'm happy to report that it now compiles flawlessly since the update to the last MinGW version, I still have a problem installing any gem, because it can't find zlib: "No such file to load -- zlib". I checked and zlib1.dll is in the ruby_mingw/bin directory, and I have that in my path. Any suggestions, other than "ditch Vista?" Cheers, David -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rubyinstaller-devel/attachments/20080410/c7d935c0/attachment-0001.html From luislavena at gmail.com Thu Apr 10 08:13:53 2008 From: luislavena at gmail.com (Luis Lavena) Date: Thu, 10 Apr 2008 09:13:53 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> Message-ID: <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> On Thu, Apr 10, 2008 at 7:33 AM, David Leal wrote: > (Posting this again because I forgot to subscribe to the list, and I don't > know if the mail is delivered in those conditions. Sorry if this is a double > post.) > No double post, it seems it didn't made through :-P > Hi all, > > so I spoke to Luis a few hours ago on IRC, because I was having problems > building ruby on windows using the new installer scripts. While I'm happy to > report that it now compiles flawlessly since the update to the last MinGW > version, I still have a problem installing any gem, because it can't find > zlib: "No such file to load -- zlib". I checked and zlib1.dll is in the > ruby_mingw/bin directory, and I have that in my path. > Fir of all, thank you for your interest and the time you took to report this. I'm glad the update "partially" worked :-) It seems that building of zlib extension failed. you can check if the extension got build in ruby_build/ext/zlib (look for mkmf.log and leftovers like .o files). If none of these things exists (or even the folder), could be the root of the problem. This will sound silly, but can you try cleanup and try again? >rake clean (wait until sandbox is wiped) >rake (that should extract and compile everything from scratch, again). You could see it also if it gets build during this phase, the extension is the last to be build, check of the output after "compiling zlib" (expected output): compiling zlib make[1]: Entering directory `/d/Users/Luis/projects/oss/oci/installer3/dev/sandbox/ruby_build/ext/zlib' gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -DHAVE_ZLIB_H -DOS_CODE=OS_WIN32 -g -O2 -c ../../../ruby_1_8/ext/zlib/zlib.c gcc -shared -s -o ../../.ext/i386-mingw32/zlib.so zlib.o -L. -L../.. -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -lmsvcrt-ruby18 -lzdll -lshell32 -lws2_32 make[1]: Leaving directory `/d/Users/Luis/projects/oss/oci/installer3/dev/sandbox/ruby_build/ext/zlib' > Any suggestions, other than "ditch Vista?" > You wouldn't hear me say something like that, never :-P > Cheers, > > David > Please let me know if that helped and report any other issues, I'll happily hack in solutions for this :-) Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From dgleal at gmail.com Thu Apr 10 11:35:27 2008 From: dgleal at gmail.com (David Leal) Date: Thu, 10 Apr 2008 16:35:27 +0100 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> Message-ID: <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> On Thu, Apr 10, 2008 at 1:13 PM, Luis Lavena wrote: > Fir of all, thank you for your interest and the time you took to > report this. I'm glad the update "partially" worked :-) :) Actually, thank you for all your work and patience. Working with Ruby in Windows is a nightmare right now, I'm glad you're set to change that. > It seems that building of zlib extension failed. you can check if the > extension got build in ruby_build/ext/zlib (look for mkmf.log and > leftovers like .o files). Ok, I recompiled everything and got the same thing. There is a mkmf.log, which I'm pasting below. I hope it helps. have_library: checking for deflateReset() in -lz... -------------------- no "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lz -lws2_32 " conftest.c: In function `t': conftest.c:6: error: `deflateReset' undeclared (first use in this function) conftest.c:6: error: (Each undeclared identifier is reported only once conftest.c:6: error: for each function it appears in.) checked program was: /* begin */ 1: #include 2: #include 3: 4: /*top*/ 5: int main() { return 0; } 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } /* end */ "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lz -lws2_32 " \mingw\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lz collect2: ld returned 1 exit status checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { deflateReset(); return 0; } /* end */ -------------------- have_library: checking for deflateReset() in -llibz... -------------------- no "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -llibz -lws2_32 " conftest.c: In function `t': conftest.c:6: error: `deflateReset' undeclared (first use in this function) conftest.c:6: error: (Each undeclared identifier is reported only once conftest.c:6: error: for each function it appears in.) checked program was: /* begin */ 1: #include 2: #include 3: 4: /*top*/ 5: int main() { return 0; } 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } /* end */ "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -llibz -lws2_32 " \mingw\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -llibz collect2: ld returned 1 exit status checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { deflateReset(); return 0; } /* end */ -------------------- have_library: checking for deflateReset() in -lzlib... -------------------- no "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lzlib -lws2_32 " conftest.c: In function `t': conftest.c:6: error: `deflateReset' undeclared (first use in this function) conftest.c:6: error: (Each undeclared identifier is reported only once conftest.c:6: error: for each function it appears in.) checked program was: /* begin */ 1: #include 2: #include 3: 4: /*top*/ 5: int main() { return 0; } 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } /* end */ "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lzlib -lws2_32 " \mingw\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lzlib collect2: ld returned 1 exit status checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { deflateReset(); return 0; } /* end */ -------------------- have_library: checking for deflateReset() in -lzdll... -------------------- no "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lzdll -lws2_32 " conftest.c: In function `t': conftest.c:6: error: `deflateReset' undeclared (first use in this function) conftest.c:6: error: (Each undeclared identifier is reported only once conftest.c:6: error: for each function it appears in.) checked program was: /* begin */ 1: #include 2: #include 3: 4: /*top*/ 5: int main() { return 0; } 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } /* end */ "gcc -o conftest -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. -lmsvcrt-ruby18-static -lzdll -lws2_32 " \mingw\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lzdll collect2: ld returned 1 exit status checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { deflateReset(); return 0; } /* end */ -------------------- So it seems lzdll cannot be found, but it's there, inside extract_utils and inside mingw/bin.Could this be another Vista related bug in mingw? Again, thanks for your work, Luis. Cheers, David From gthiesfeld at gmail.com Thu Apr 10 13:27:17 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Thu, 10 Apr 2008 12:27:17 -0500 Subject: [Rubyinstaller-devel] compiling OpenSSL Message-ID: So, I just stumbled across this article[1] that talks about compiling OpenSSL with Mingw for Ruby and Python. I thought I'd give it a try to see if it would help with the openssl test failures. I'm having a few problems. The first problem is in the extract step. Bsdtar errors out when it tries to extract the latest OpenSSL tar.gz[2]. So, I've sort of skipped that step for the moment. I run rake extract, then I manually extract these files where I need them. The second problem is getting the order of things right in rake. I'm assuming I would need to configure, compile, and install the OpenSSL files (*.dll and *.a) before I try to build Ruby, and my rake skills aren't good enough to figure out how to do this. So, I think I'm going to try to configure msys and mingw properly, and try this as a manual process to see if there's any worth to this approach. But, before I do that, I thought I'd ask here. Does this seem like a worthwhile approach, or am I on a wild goose chase? :-) [1] http://bowmansolutions.com/mingw-openldap/ [2] http://www.openssl.org/source/openssl-0.9.8g.tar.gz Thanks, Gordon From luislavena at gmail.com Thu Apr 10 16:01:47 2008 From: luislavena at gmail.com (Luis Lavena) Date: Thu, 10 Apr 2008 17:01:47 -0300 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: References: Message-ID: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> On Thu, Apr 10, 2008 at 2:27 PM, Gordon Thiesfeld wrote: > So, I just stumbled across this article[1] that talks about compiling > OpenSSL with Mingw for Ruby and Python. I thought I'd give it a try > to see if it would help with the openssl test failures. I'm having a > few problems. > Hello Gordon! I wasn't aware there are OpenSSL failures in the MinGW build. AFAIK the only blocker I still have is test_readline, which hangs and halt the whole 'rake check' process. If you see the recipes, I've been using a pre-build binary from GNUwin32 project instead of build it myself. Right now the way the Rake tasks are organized is not good enough, and can get brittle over time. > The first problem is in the extract step. Bsdtar errors out when it > tries to extract the latest OpenSSL tar.gz[2]. So, I've sort of > skipped that step for the moment. I run rake extract, then I manually > extract these files where I need them. > Can you provide the output or the error message you're getting when it tries to extract it? Also, this OpenSSL need ot be extracted in it's own directory, instead of using the OpenSSL package target location, instead of MinGW one. > The second problem is getting the order of things right in rake. I'm > assuming I would need to configure, compile, and install the OpenSSL > files (*.dll and *.a) before I try to build Ruby, and my rake skills > aren't good enough to figure out how to do this. > Yes and no, configure will be chained with configure of ruby interpreter, and for compile will happen the same. That wouldn't work unless we provide --with-openssl-dir or something to the ruby configure process (to avoid clutter mingw and msys installation with leftovers of these packages). I think we need a new abstraction layer on top of Rake, that can be more descriptive and precise of the dependencies, but don't have enough time right now to design something :-P > So, I think I'm going to try to configure msys and mingw properly, and > try this as a manual process to see if there's any worth to this > approach. But, before I do that, I thought I'd ask here. Does this > seem like a worthwhile approach, or am I on a wild goose chase? :-) > Please do, I'll suggest you revert your changes, use latest.zip and let rake do it's stuff, then use the sandbox/mingw and sandbox/msys as base MinGW and start playing with manual build of OpenSSL. I think is real worthy, since one of the goals of these recipes is cut the dependency of externals builds, for ruby or it's dependencies. The bad is some GNU projects (like readline) mess a lot the packages and make almost impossible replicate the build procedure from sources. > Thanks, Thanks to you man!, please keep us posted on this! I'll hang out at #ruby-lang the weekend, trying to get other gems working on Windows and MinGW. Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Thu Apr 10 20:11:59 2008 From: luislavena at gmail.com (Luis Lavena) Date: Thu, 10 Apr 2008 21:11:59 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> Message-ID: <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> On Thu, Apr 10, 2008 at 12:35 PM, David Leal wrote: > > Ok, I recompiled everything and got the same thing. There is a > mkmf.log, which I'm pasting below. I hope it helps. > > have_library: checking for deflateReset() in -lz... -------------------- no > > "gcc -o conftest -I../.. -I../../../ruby_1_8 > -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. > -lmsvcrt-ruby18-static -lz -lws2_32 " > conftest.c: In function `t': > conftest.c:6: error: `deflateReset' undeclared (first use in this function) > conftest.c:6: error: (Each undeclared identifier is reported only once > conftest.c:6: error: for each function it appears in.) > checked program was: > /* begin */ > 1: #include > 2: #include > 3: > 4: /*top*/ > 5: int main() { return 0; } > 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } > /* end */ > I only can point one difference between the build process in XP compared to Vista and is the library lookup paths passed into ld: -L"." -L"../.." versus the one I got: -L. -L../.. that is naive, but is the only difference I spot and is significant. Can you share with me the PATH and drive where you extracted the recipes? I'm just curious why it is quoting library (lib) lookup paths. Please let me know about this or contact me via gtalk so we can workout a solution. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From dgleal at gmail.com Fri Apr 11 05:49:08 2008 From: dgleal at gmail.com (David Leal) Date: Fri, 11 Apr 2008 10:49:08 +0100 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> Message-ID: <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> Hi Luis, here's my path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE;C:\Program Files\Git\cmd;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Bazaar;C:\Program Files\Subversion\bin;c:\Utils\jruby-1.1\bin;C:\Program Files\Java\jdk1.6.0_05\bin;C:\Program Files\Mercurial;c:\utils\ruby\bin I'm building this on c:\Users\David\Development\ruby-installer I tried to do this using jruby (jruby -S rake ...) but the result is the same. I also found out that the problem is not only with zlib. Openssl doesn't build also, neither does readline, and I'm pretty sure that every extension that depends on an external lib has this problem. rbconfig is generated with the LIBPATHFLAGS option set to "-L\"%s\"", but I can't figure out where that is coming from. Cheers, David On Fri, Apr 11, 2008 at 1:11 AM, Luis Lavena wrote: > On Thu, Apr 10, 2008 at 12:35 PM, David Leal wrote: > > > > Ok, I recompiled everything and got the same thing. There is a > > mkmf.log, which I'm pasting below. I hope it helps. > > > > have_library: checking for deflateReset() in -lz... -------------------- no > > > > "gcc -o conftest -I../.. -I../../../ruby_1_8 > > -I../../../ruby_1_8/ext/zlib -g -O2 conftest.c -L"." -L"../.." -L. > > -lmsvcrt-ruby18-static -lz -lws2_32 " > > conftest.c: In function `t': > > conftest.c:6: error: `deflateReset' undeclared (first use in this function) > > conftest.c:6: error: (Each undeclared identifier is reported only once > > conftest.c:6: error: for each function it appears in.) > > checked program was: > > /* begin */ > > 1: #include > > 2: #include > > 3: > > 4: /*top*/ > > 5: int main() { return 0; } > > 6: int t() { void ((*volatile p)()); p = (void ((*)()))deflateReset; return 0; } > > /* end */ > > > > I only can point one difference between the build process in XP > compared to Vista and is the library lookup paths passed into ld: > > -L"." -L"../.." > > versus the one I got: > > -L. -L../.. > > that is naive, but is the only difference I spot and is significant. > > Can you share with me the PATH and drive where you extracted the recipes? > > I'm just curious why it is quoting library (lib) lookup paths. > > Please let me know about this or contact me via gtalk so we can > workout a solution. > > > -- > Luis Lavena > Multimedia systems > - > Human beings, who are almost unique in having the ability to learn from > the experience of others, are also remarkable for their apparent > disinclination to do so. > Douglas Adams > _______________________________________________ > Rubyinstaller-devel mailing list > Rubyinstaller-devel at rubyforge.org > http://rubyforge.org/mailman/listinfo/rubyinstaller-devel > From luislavena at gmail.com Fri Apr 11 10:06:16 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 11 Apr 2008 11:06:16 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> Message-ID: <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> On Fri, Apr 11, 2008 at 6:49 AM, David Leal wrote: > Hi Luis, > > here's my path: > > C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program > Files\ATI Technologies\ATI.ACE;C:\Program > Files\Git\cmd;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program > Files\Bazaar;C:\Program > Files\Subversion\bin;c:\Utils\jruby-1.1\bin;C:\Program > Files\Java\jdk1.6.0_05\bin;C:\Program > Files\Mercurial;c:\utils\ruby\bin > > I'm building this on c:\Users\David\Development\ruby-installer > Wow, too weird... I can say is the first time I see something like this :-) Just for the sake of testing, can you move c:\utils\ruby\bin on top of the path? SET PATH=c:\utils\ruby\bin;%PATH% I know that sounds stupid (not silly), but what to exhaust all these issues before restore my notebook vista and give a whirl in there :-P > I tried to do this using jruby (jruby -S rake ...) but the result is > the same. I also found out that the problem is not only with zlib. > Openssl doesn't build also, neither does readline, and I'm pretty sure > that every extension that depends on an external lib has this problem. > rbconfig is generated with the LIBPATHFLAGS option set to "-L\"%s\"", > but I can't figure out where that is coming from. > That is taken from the generated config.h file in ruby_build Just run configure step by its own and peek what ended in there (of course, on a clean sandbox and after extract and prepare). > Cheers, > Thank you David, I'll see what can do to workaround this the weekend. Sorry the inconvenience. In the meantime you can grab a pre-build package from my dump server: http://dump.mmediasys.com/installer3 Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Fri Apr 11 16:57:34 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Fri, 11 Apr 2008 15:57:34 -0500 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> References: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> Message-ID: On Thu, Apr 10, 2008 at 3:01 PM, Luis Lavena wrote: > Hello Gordon! > > I wasn't aware there are OpenSSL failures in the MinGW build. AFAIK > the only blocker I still have is test_readline, which hangs and halt > the whole 'rake check' process. I'm running bzr revision 52. I get this on 'rake check'. ./ruby_1_8/test/openssl/test_hmac.rb:14: [BUG] Segmentation fault ruby 1.8.6 (2008-03-03) [i386-mingw32] This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. make: *** [test-all] Error 3 rake aborted! Command failed with status (2): ["C:/ruby/repo/installer3/sandbox/msys/bin/...] (See full trace by running task with --trace) > Can you provide the output or the error message you're getting when it > tries to extract it? "C:/ruby/repo/oci/sandbox/extract_utils/bsdtar.exe" xzf "C:/ruby/repo/oci/downloads/openssl-0.9.8g.tar.gz" openssl-0.9.8g/apps/md4.c: Can't create 'openssl-0.9.8g/apps/md4.c': No such file or directory openssl-0.9.8g/include/openssl/dtls1.h: Can't create 'openssl-0.9.8g/include/openssl/dtls1.h': No such file or directory openssl-0.9.8g/include/openssl/kssl.h: Can't create 'openssl-0.9.8g/include/openssl/kssl.h': No such file or directory openssl-0.9.8g/include/openssl/ssl.h: Can't create 'openssl-0.9.8g/include/openssl/ssl.h': No such file or directory openssl-0.9.8g/include/openssl/ssl2.h: Can't create 'openssl-0.9.8g/include/openssl/ssl2.h': No such file or directory openssl-0.9.8g/include/openssl/ssl23.h: Can't create 'openssl-0.9.8g/include/openssl/ssl23.h': No such file or directory openssl-0.9.8g/include/openssl/ssl3.h: Can't create 'openssl-0.9.8g/include/openssl/ssl3.h': No such file or directory openssl-0.9.8g/include/openssl/tls1.h: Can't create 'openssl-0.9.8g/include/openssl/tls1.h': No such file or directory bsdtar.exe: Error exit delayed from previous errors. rake aborted! Command failed with status (1): ["C:/ruby/repo/oci/sandbox/extract_utils/bs...] (See full trace by running task with --trace) > Also, this OpenSSL need ot be extracted in it's > own directory, instead of using the OpenSSL package target location, > instead of MinGW one. Right, I had set it up with a similar folder structure to Ruby's (openssl, openssl_build, openssl_mingw). > Please do, I'll suggest you revert your changes, use latest.zip and > let rake do it's stuff, then use the sandbox/mingw and sandbox/msys as > base MinGW and start playing with manual build of OpenSSL. I did bzr revert, and I'm going to give this a try. > I'll hang out at #ruby-lang the weekend, trying to get other gems > working on Windows and MinGW. I'll try to stop by. I could use some help ;) Gordon Thiesfeld From luislavena at gmail.com Fri Apr 11 17:57:35 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 11 Apr 2008 18:57:35 -0300 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: References: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> Message-ID: <71166b3b0804111457p2f97b037r576ffdbc147a76a3@mail.gmail.com> On Fri, Apr 11, 2008 at 5:57 PM, Gordon Thiesfeld wrote: > On Thu, Apr 10, 2008 at 3:01 PM, Luis Lavena wrote: > > Hello Gordon! > > > > I wasn't aware there are OpenSSL failures in the MinGW build. AFAIK > > the only blocker I still have is test_readline, which hangs and halt > > the whole 'rake check' process. > > I'm running bzr revision 52. I get this on 'rake check'. > > ./ruby_1_8/test/openssl/test_hmac.rb:14: [BUG] Segmentation fault > ruby 1.8.6 (2008-03-03) [i386-mingw32] > That segfault came from your OpenSSL change, or that is generated by "out of the box" recipes? Can you provide information about your Windows installation? (XP/Vista, home, ultimate, service pack level, etc). Also will be helpful know your PATH environment variable: ECHO %PATH% (or SET PATH without params) > > This application has requested the Runtime to terminate it in an unusual way. > Please contact the application's support team for more information. > make: *** [test-all] Error 3 > rake aborted! > Command failed with status (2): ["C:/ruby/repo/installer3/sandbox/msys/bin/...] > > (See full trace by running task with --trace) > > > > > Can you provide the output or the error message you're getting when it > > tries to extract it? > > "C:/ruby/repo/oci/sandbox/extract_utils/bsdtar.exe" xzf > "C:/ruby/repo/oci/downloads/openssl-0.9.8g.tar.gz" > openssl-0.9.8g/apps/md4.c: Can't create 'openssl-0.9.8g/apps/md4.c': > No such file or directory Ok, no doubt bsdtar cannot handle latest openssl packages. I'm checking right now what version can and cannot be unpacked: 0.9.7l, 0.9.7m, 0.9.8d, 0.9.8e, 0.9.8f and 0.9.8g all fail in the same files: openssl-0.9.7l/apps/md4.c: Can't create 'openssl-0.9.7l/apps/md4.c': No such file or directory openssl-0.9.7l/include/openssl/kssl.h: Can't create 'openssl-0.9.7l/include/openssl/kssl.h': No such file or directory openssl-0.9.7l/include/openssl/ssl23.h: Can't create 'openssl-0.9.7l/include/openssl/ssl23.h': No such file or directory openssl-0.9.7l/include/openssl/ssl2.h: Can't create 'openssl-0.9.7l/include/openssl/ssl2.h': No such file or directory openssl-0.9.7l/include/openssl/ssl3.h: Can't create 'openssl-0.9.7l/include/openssl/ssl3.h': No such file or directory openssl-0.9.7l/include/openssl/ssl.h: Can't create 'openssl-0.9.7l/include/openssl/ssl.h': No such file or directory openssl-0.9.7l/include/openssl/tls1.h: Can't create 'openssl-0.9.7l/include/openssl/tls1.h': No such file or directory openssl-0.9.7l/test/fips_aes_data: Can't create 'openssl-0.9.7l/test/fips_aes_data': No such file or directory If OpenSSL cannot be extracted using simple tar, then bsdtar is not enough or openssl packages are corrupt somehow. > > > Also, this OpenSSL need ot be extracted in it's > > own directory, instead of using the OpenSSL package target location, > > instead of MinGW one. > > Right, I had set it up with a similar folder structure to Ruby's > (openssl, openssl_build, openssl_mingw). > > > > Please do, I'll suggest you revert your changes, use latest.zip and > > let rake do it's stuff, then use the sandbox/mingw and sandbox/msys as > > base MinGW and start playing with manual build of OpenSSL. > > I did bzr revert, and I'm going to give this a try. > > > > I'll hang out at #ruby-lang the weekend, trying to get other gems > > working on Windows and MinGW. > > I'll try to stop by. I could use some help ;) > Good, me too ;-) -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From dgleal at gmail.com Fri Apr 11 18:01:33 2008 From: dgleal at gmail.com (David Leal) Date: Sat, 12 Apr 2008 00:01:33 +0200 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> Message-ID: <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> On 4/11/08, Luis Lavena wrote: > Just for the sake of testing, can you move c:\utils\ruby\bin on top of the path? Oh, I did that already. The ruby entry used to be the first in the path, but I changed it to see if that's what was causing the troubles. > Just run configure step by its own and peek what ended in there (of > course, on a clean sandbox and after extract and prepare). I sent you an email with all the files inside ruby_build. I hope it helps. > Thank you David, I'll see what can do to workaround this the weekend. > Sorry the inconvenience. No need to apologize. You're doing a great favor to us all. We're the ones in debt to you. > In the meantime you can grab a pre-build package from my dump server: > > http://dump.mmediasys.com/installer3 Thanks, I'll do that. Cheers, David From gthiesfeld at gmail.com Fri Apr 11 20:12:06 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Fri, 11 Apr 2008 19:12:06 -0500 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: <71166b3b0804111457p2f97b037r576ffdbc147a76a3@mail.gmail.com> References: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> <71166b3b0804111457p2f97b037r576ffdbc147a76a3@mail.gmail.com> Message-ID: On Fri, Apr 11, 2008 at 4:57 PM, Luis Lavena wrote: > > That segfault came from your OpenSSL change, or that is generated by > "out of the box" recipes? > With the "out of the box" recipes. I haven't actually gotten OpenSSL to compile yet ;) > Can you provide information about your Windows installation? > (XP/Vista, home, ultimate, service pack level, etc). > Win XP Pro SP2 > Also will be helpful know your PATH environment variable: > > ECHO %PATH% (or SET PATH without params) C:\ruby\repo\oci>path PATH=c:\wix;c:\ruby\ruby186\bin;c:\windows\system32;c:\windows\system;C:\Program Files\Subversion\bin;C:\Program Files\Git\cmd;C:\Program Files\Bazaar;C:\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Putty;c:\bin\console2 I also tried putting ruby_mingw\bin folder to the front of the path, and that didn't help. > Ok, no doubt bsdtar cannot handle latest openssl packages. I'm > checking right now what version can and cannot be unpacked: > If OpenSSL cannot be extracted using simple tar, then bsdtar is not > enough or openssl packages are corrupt somehow. 7zip can open them ok, and Winzip too. I was thinking about writing a new extract method using 7zip (7z.exe), but that would be a dependency (required to be installed and required to be in path). I guess before I even think about that, I should worry about getting OpenSSL compiled, and working ;) Thanks, Gordon From luislavena at gmail.com Fri Apr 11 20:18:12 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 11 Apr 2008 21:18:12 -0300 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: References: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> <71166b3b0804111457p2f97b037r576ffdbc147a76a3@mail.gmail.com> Message-ID: <71166b3b0804111718y1cd855ecv7321e90e48db08a0@mail.gmail.com> On Fri, Apr 11, 2008 at 9:12 PM, Gordon Thiesfeld wrote: > On Fri, Apr 11, 2008 at 4:57 PM, Luis Lavena wrote: > > > > That segfault came from your OpenSSL change, or that is generated by > > "out of the box" recipes? > > > > With the "out of the box" recipes. I haven't actually gotten OpenSSL > to compile yet ;) > Hehehe, ok, then it seems something smells fishy down there... Can you use Dependency Walker on top of the openssl.so file? it will try to resolve to msvcrt-ruby18.dll, libeay32.dll and libssl32.dll. Please take note the path where these files resolves to, it seems openssl.so, even is linked correctly at build time, at runtime it's resolving the location of one of these dependencies wrong. > > > If OpenSSL cannot be extracted using simple tar, then bsdtar is not > > enough or openssl packages are corrupt somehow. > > 7zip can open them ok, and Winzip too. I was thinking about writing a > new extract method using 7zip (7z.exe), but that would be a dependency > (required to be installed and required to be in path). I guess before > I even think about that, I should worry about getting OpenSSL > compiled, and working ;) > Maybe we can get a 7zip command line version package somewhere, as long is .zip file (enough to bootstrap it with rubyzip). Thank you for your time, I'll try to see what I can do for this later tonight. Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Fri Apr 11 21:32:12 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 11 Apr 2008 22:32:12 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> Message-ID: <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> On Fri, Apr 11, 2008 at 7:01 PM, David Leal wrote: > On 4/11/08, Luis Lavena wrote: > > > Just run configure step by its own and peek what ended in there (of > > course, on a clean sandbox and after extract and prepare). > > I sent you an email with all the files inside ruby_build. I hope it helps. > Yes, it helped and I think I spotted where the problem lies. Based on the files, it appears you updated the autoconf package (from 2.59 to 2.61). That is correct? "generated by GNU Autoconf 2.61." that is part of the config.log file. I sticked to 2.59 since the new set of files generated by 2.61 didn't worked properly. config.log (2.59): LIBPATHFLAG=' -L%s' your config.log (2.61): LIBPATHFLAG=' -L"%s"' Somehow, dunno from where, the newer version of autoconf is being called. The only one I see from your path that could be doing that is Git, even more precise if you have a .bashrc file in your HOME folder that is altering the $PATH... Try running msys.bat from sandbox/msys and 'which autoconf' and it should point to /bin/autoconf (7,663 bytes) and check the version information around line 130 of that file. Please let me know how it ended. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Fri Apr 11 22:26:12 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Fri, 11 Apr 2008 21:26:12 -0500 Subject: [Rubyinstaller-devel] compiling OpenSSL In-Reply-To: <71166b3b0804111718y1cd855ecv7321e90e48db08a0@mail.gmail.com> References: <71166b3b0804101301h4a1b1f96j51e0c1814bf5c922@mail.gmail.com> <71166b3b0804111457p2f97b037r576ffdbc147a76a3@mail.gmail.com> <71166b3b0804111718y1cd855ecv7321e90e48db08a0@mail.gmail.com> Message-ID: On Fri, Apr 11, 2008 at 7:18 PM, Luis Lavena wrote: > On Fri, Apr 11, 2008 at 9:12 PM, Gordon Thiesfeld wrote: > > On Fri, Apr 11, 2008 at 4:57 PM, Luis Lavena wrote: > > > > > > That segfault came from your OpenSSL change, or that is generated by > > > "out of the box" recipes? > > > > > > > With the "out of the box" recipes. I haven't actually gotten OpenSSL > > to compile yet ;) > > > > Hehehe, ok, then it seems something smells fishy down there... > > Can you use Dependency Walker on top of the openssl.so file? it will > try to resolve to msvcrt-ruby18.dll, libeay32.dll and libssl32.dll. > > Please take note the path where these files resolves to, it seems > openssl.so, even is linked correctly at build time, at runtime it's > resolving the location of one of these dependencies wrong. Good call. I have libeay32.dll and libssl32.dll in C:\Windows\system32. I'll clean that up and try again tomorrow morning. > > > > > If OpenSSL cannot be extracted using simple tar, then bsdtar is not > > > enough or openssl packages are corrupt somehow. > > > > 7zip can open them ok, and Winzip too. I was thinking about writing a > > new extract method using 7zip (7z.exe), but that would be a dependency > > (required to be installed and required to be in path). I guess before > > I even think about that, I should worry about getting OpenSSL > > compiled, and working ;) > > > > Maybe we can get a 7zip command line version package somewhere, as > long is .zip file (enough to bootstrap it with rubyzip). > Yes, here it is: http://downloads.sourceforge.net/sevenzip/7za457.zip The only thing is that 7z.exe can't extract files in a single step, you have to extract from gz or bz2, etc., then extract from tar. I don't think that would be too big of a problem, though. Thanks again, Luis. Gordon From dgleal at gmail.com Sat Apr 12 09:51:18 2008 From: dgleal at gmail.com (David Leal) Date: Sat, 12 Apr 2008 14:51:18 +0100 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> Message-ID: <1b86cb980804120651u6346a65en80dbfb4cbc8071da@mail.gmail.com> On Sat, Apr 12, 2008 at 2:32 AM, Luis Lavena wrote: > Based on the files, it appears you updated the autoconf package (from > 2.59 to 2.61). That is correct? > > "generated by GNU Autoconf 2.61." If you look at the ruby-1.8.6-p114.tar.gz, the configure file inside already says generated by autoconf 2.61, so I think the problem lies there. Anyway, I cleared my PATH, only leaving c:\Windows, c:\Windows\System32 and c:\Windows\System32\Wbem. It still says that the files were generated by autoconf 2.61. The msys autoconf is version 2.59. Deleting configure, running autoconf and then running rake configure doesn't help. I'm thinking that there's something else I should do, but I don't know what. What do you think, Luis? Thanks, David From luislavena at gmail.com Sat Apr 12 11:21:12 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sat, 12 Apr 2008 12:21:12 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <1b86cb980804120651u6346a65en80dbfb4cbc8071da@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> <1b86cb980804120651u6346a65en80dbfb4cbc8071da@mail.gmail.com> Message-ID: <71166b3b0804120821l121a4de3i63115325fbf103ad@mail.gmail.com> On Sat, Apr 12, 2008 at 10:51 AM, David Leal wrote: > On Sat, Apr 12, 2008 at 2:32 AM, Luis Lavena wrote: > > Based on the files, it appears you updated the autoconf package (from > > 2.59 to 2.61). That is correct? > > > > "generated by GNU Autoconf 2.61." > > If you look at the ruby-1.8.6-p114.tar.gz, the configure file inside > already says generated by autoconf 2.61, so I think the problem lies > there. > Let me try running from the source file, since I was using checkout mode (rake CHECKOUT=1) to workaround a series of bugs related to Readline and pooling (eat your cpu) and rubygems too. Updating the recipes for RubyGems 1.1.1 and trying again right now :-) > Anyway, I cleared my PATH, only leaving c:\Windows, > c:\Windows\System32 and c:\Windows\System32\Wbem. It still says that > the files were generated by autoconf 2.61. The msys autoconf is > version 2.59. > It seems the problems lies in the values generated by autoconf 2.61 compared to the ones form 2.59. Since I was running form source, been always generating the configure script with autoconf, so didn't found that until you exposed it. (which is good, give me enough arguments to scream at ruby-core list) :-) > Deleting configure, running autoconf and then running rake configure > doesn't help. I'm thinking that there's something else I should do, > but I don't know what. > > What do you think, Luis? > Working on it, will post a followup in a few minutes. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Sat Apr 12 13:25:45 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sat, 12 Apr 2008 14:25:45 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804120821l121a4de3i63115325fbf103ad@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> <1b86cb980804120651u6346a65en80dbfb4cbc8071da@mail.gmail.com> <71166b3b0804120821l121a4de3i63115325fbf103ad@mail.gmail.com> Message-ID: <71166b3b0804121025l2859524ai144225a138d83797@mail.gmail.com> On Sat, Apr 12, 2008 at 12:21 PM, Luis Lavena wrote: > > Let me try running from the source file, since I was using checkout > mode (rake CHECKOUT=1) to workaround a series of bugs related to > Readline and pooling (eat your cpu) and rubygems too. > > Updating the recipes for RubyGems 1.1.1 and trying again right now :-) > Ok, it worked in this end. even with the included configure script generated in 2.61, it works. (openssl get build, zlib too). So I guess is related to Vista now. Can you try the "rake CHECKOUT=1" build instead (you need to have subversion on the path) and send me your results? Based on that I'll know how to deal with this issue. Please apologize all the inconveniences and my request of testing :-) Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From builder at mmediasys.com Tue Apr 15 15:15:44 2008 From: builder at mmediasys.com (Integration Builder) Date: Tue, 15 Apr 2008 16:15:44 -0300 Subject: [Rubyinstaller-devel] [CruiseControl] rubygems-mswin32 build 1704.1 fixed Message-ID: <4804fee035390_fb813de3a61ae@edicion01.tmail> The build has been fixed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1704 detected Revision 1704 committed by drbrain on 2008-04-15 00:40:42 Add Gem::RemoteFetcher::fetcher= with lib/rubygems/test_utilities.rb A /trunk/lib/rubygems/test_utilities.rb M /trunk/test/test_gem_dependency_installer.rb M /trunk/test/test_gem_remote_fetcher.rb M /trunk/test/gemutilities.rb M /trunk/test/test_gem_commands_sources_command.rb Revision 1703 committed by drbrain on 2008-04-14 23:59:58 Expose FakeFetcher, TempIO via rubygems/test_utilities.rb M /trunk/test/test_gem_dependency_installer.rb M /trunk/test/gemutilities.rb M /trunk/ChangeLog BUILD LOG --------- D:/Users/Luis/.cruise/projects/rubygems-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" (in D:/Users/Luis/.cruise/projects/rubygems-mswin32/work) [CruiseControl] Invoking Rake task "test" Loaded suite D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started ...............................................................D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/openssl/x509.rb:24: warning: instance variable @config not initialized D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/openssl/x509.rb:24: warning: instance variable @config not initialized D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/openssl/x509.rb:24: warning: instance variable @config not initialized ................................D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/rdoc/parsers/parse_c.rb:204: warning: method redefined; discarding old progress ...WARNING: Unable to use symlinks on Windows, installing wrapper .WARNING: Unable to use symlinks on Windows, installing wrapper .WARNING: Unable to use symlinks on Windows, installing wrapper ..............................................................WARNING: Unable to use symlinks on Windows, installing wrapper .............WARNING: Unable to use symlinks on Windows, installing wrapper ..WARNING: Unable to use symlinks on Windows, installing wrapper ................................................................................................................................................................................................................................................................................................................................................................................................................................ Finished in 59.188 seconds. 593 tests, 1771 assertions, 0 failures, 0 errors PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['rubygems-developers at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.scheduler.polling_interval = 5.minutes end From luislavena at gmail.com Tue Apr 15 19:37:57 2008 From: luislavena at gmail.com (Luis Lavena) Date: Tue, 15 Apr 2008 20:37:57 -0300 Subject: [Rubyinstaller-devel] Ruby 1.8.7-preview1 binaries uploaded Message-ID: <71166b3b0804151637h2fe51cadv4130013321c6f0b1@mail.gmail.com> Hello Guys, The readline issues are still forcing me do it this manually, even when I have Integration builder in place [1] Anyway, I've updated the 7z files in the dump location [2], still waiting to have more spare time to work on the MSI scripts. I think this coming weekend will be a great time to work on those, even I still have a series of [BUG] and segfaults to track down (wxRuby). Also, when worked getting DataMapper run on Windows, found that the current version of OpenSSL we ship with Installer3 is older and made PostgreSQL fail. So, after all, I think we will require manually build the external libraries that Ruby depends on. Thoughts? [1] http://builder.mmediasys.com:8333/ [2] http://dump.mmediasys.com/installer3/ -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Wed Apr 16 00:07:55 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Tue, 15 Apr 2008 23:07:55 -0500 Subject: [Rubyinstaller-devel] Ruby 1.8.7-preview1 binaries uploaded In-Reply-To: <71166b3b0804151637h2fe51cadv4130013321c6f0b1@mail.gmail.com> References: <71166b3b0804151637h2fe51cadv4130013321c6f0b1@mail.gmail.com> Message-ID: > So, after all, I think we will require manually build the external > libraries that Ruby depends on. > > Thoughts? > > [1] http://builder.mmediasys.com:8333/ > [2] http://dump.mmediasys.com/installer3/ > I'll try to work on compiling OpenSSL some more this weekend. Also, I get a "Connection timed out" error when I go to http://builder.mmediasys.com:8333/ Thanks, Gordon From luislavena at gmail.com Wed Apr 16 00:13:07 2008 From: luislavena at gmail.com (Luis Lavena) Date: Wed, 16 Apr 2008 01:13:07 -0300 Subject: [Rubyinstaller-devel] Ruby 1.8.7-preview1 binaries uploaded In-Reply-To: References: <71166b3b0804151637h2fe51cadv4130013321c6f0b1@mail.gmail.com> Message-ID: <71166b3b0804152113y18b3dfa0sbd0dfb152eafb682@mail.gmail.com> On Wed, Apr 16, 2008 at 1:07 AM, Gordon Thiesfeld wrote: > > So, after all, I think we will require manually build the external > > libraries that Ruby depends on. > > > > Thoughts? > > > > [1] http://builder.mmediasys.com:8333/ > > [2] http://dump.mmediasys.com/installer3/ > > > > I'll try to work on compiling OpenSSL some more this weekend. > > Also, I get a "Connection timed out" error when I go to > > http://builder.mmediasys.com:8333/ > Yeah, forgot to put that system in the UPS, and turned down the power when leaving the office. Sorry for that :-( I think I need to re-work the whole rake recipes and compilation procedures, to allow building theses dependencies with the rake files. Maybe abuse of Ruby power and do my own DSL that generates the require rake task for it? After all, done that several times for projects like mongrel_service and it's dependencies. The only ones that can turn into a nightmare are gettext and libiconv, they need build two times since they depend each other... (what kind of sadistic programmer designed that?) I'm installing Vista at the office to see what is happening with it :-P Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From hramrach at centrum.cz Fri Apr 18 11:16:13 2008 From: hramrach at centrum.cz (Michal Suchanek) Date: Fri, 18 Apr 2008 17:16:13 +0200 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> Message-ID: On 12/04/2008, Luis Lavena wrote: > On Fri, Apr 11, 2008 at 7:01 PM, David Leal wrote: > > On 4/11/08, Luis Lavena wrote: > > > > > > Just run configure step by its own and peek what ended in there (of > > > course, on a clean sandbox and after extract and prepare). > > > > I sent you an email with all the files inside ruby_build. I hope it helps. > > > > > Yes, it helped and I think I spotted where the problem lies. > > Based on the files, it appears you updated the autoconf package (from > 2.59 to 2.61). That is correct? > > "generated by GNU Autoconf 2.61." > > that is part of the config.log file. > > I sticked to 2.59 since the new set of files generated by 2.61 didn't > worked properly. > > config.log (2.59): > > LIBPATHFLAG=' -L%s' > > your config.log (2.61): > > LIBPATHFLAG=' -L"%s"' > > Somehow, dunno from where, the newer version of autoconf is being > called. The only one I see from your path that could be doing that is > Git, even more precise if you have a .bashrc file in your HOME folder > that is altering the $PATH... > > Try running msys.bat from sandbox/msys and 'which autoconf' and it > should point to /bin/autoconf (7,663 bytes) and check the version > information around line 130 of that file. > Did you find a solution? I patched configure.in on OS X to remove the quotes. There are similar linking problems as on Vista so I hope I would get rid of them this way. Looks like the shipped configure has LIBPATHFLAG with the quotes, though. Thanks Michal -------------- next part -------------- A non-text attachment was scrubbed... Name: configure.diff Type: application/octet-stream Size: 272 bytes Desc: not available Url : http://rubyforge.org/pipermail/rubyinstaller-devel/attachments/20080418/f09ceb83/attachment.obj From gthiesfeld at gmail.com Fri Apr 18 11:57:38 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Fri, 18 Apr 2008 10:57:38 -0500 Subject: [Rubyinstaller-devel] make.cmd? Message-ID: So, I was looking at the way msysGit wraps the git command in a batch file, and I thought we could do the same thing for compiling extensions in gems. Something like this in \path_to_ruby\bin: REM make.cmd @echo off setlocal set path=%path%;c:\ruby\repo\oci\sandbox\mingw C:\ruby\repo\oci\sandbox\msys\bin\bash.exe --login -i -c "make %*" exit /B %ErrorLevel% This way we wouldn't need to worry about adding mingw to the path, except when it's needed (ie. when make is called). We may need to add msys to the path as well, I'm not sure. I can use this method to `gem install mongrel`. It compiles native extensions and all that. Of course when I try to run mongrel it fails ;), but I think that's a separate issue. What do you think? Am I oversimplifying the problem again? My setup: Windows XP, SP2 ruby 1.8.6 (2008-03-03 patchlevel 114) [i386-mingw32] rubygems 1.1.1 Thanks, Gordon From luislavena at gmail.com Fri Apr 18 19:31:05 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 18 Apr 2008 20:31:05 -0300 Subject: [Rubyinstaller-devel] Ruby MinGW on Vista In-Reply-To: References: <1b86cb980804100322t2ae23245s54a4315303fb0139@mail.gmail.com> <1b86cb980804100333u5408567cn553c3b53d915c1b1@mail.gmail.com> <71166b3b0804100513o6f60d52aicd89dfc174f23fc6@mail.gmail.com> <1b86cb980804100835i375ecc7fq898caabe06012d07@mail.gmail.com> <71166b3b0804101711m7d986144ga68cccc0ee30b0b5@mail.gmail.com> <1b86cb980804110249o3dfd9880vcf06a87634a83fec@mail.gmail.com> <71166b3b0804110706r7fe9600ardf898d3e27b21c2f@mail.gmail.com> <1b86cb980804111501h4c5286d0r42e845111795bafd@mail.gmail.com> <71166b3b0804111832i18732567ya4e768126481e7ec@mail.gmail.com> Message-ID: <71166b3b0804181631j3d4306c7j78d726e639ee8f41@mail.gmail.com> On Fri, Apr 18, 2008 at 12:16 PM, Michal Suchanek wrote: > On 12/04/2008, Luis Lavena wrote: > > On Fri, Apr 11, 2008 at 7:01 PM, David Leal wrote: > > > On 4/11/08, Luis Lavena wrote: > > > > > > > > > Just run configure step by its own and peek what ended in there (of > > > > course, on a clean sandbox and after extract and prepare). > > > > > > I sent you an email with all the files inside ruby_build. I hope it helps. > > > > > > > > > Yes, it helped and I think I spotted where the problem lies. > > > > Based on the files, it appears you updated the autoconf package (from > > 2.59 to 2.61). That is correct? > > > > "generated by GNU Autoconf 2.61." > > > > that is part of the config.log file. > > > > I sticked to 2.59 since the new set of files generated by 2.61 didn't > > worked properly. > > > > config.log (2.59): > > > > LIBPATHFLAG=' -L%s' > > > > your config.log (2.61): > > > > LIBPATHFLAG=' -L"%s"' > > > > Somehow, dunno from where, the newer version of autoconf is being > > called. The only one I see from your path that could be doing that is > > Git, even more precise if you have a .bashrc file in your HOME folder > > that is altering the $PATH... > > > > Try running msys.bat from sandbox/msys and 'which autoconf' and it > > should point to /bin/autoconf (7,663 bytes) and check the version > > information around line 130 of that file. > > > > Did you find a solution? > After all it seems is not related to quoted paths, but a GCC problem on Vista: http://sourceforge.net/mailarchive/message.php?msg_name=4808B254.9000403%40tdragon.net http://sourceforge.net/mailarchive/message.php?msg_name=4808B667.584B9FC9%40dessent.net I'm trying to report these problems back to MinGW developers since we (one-click project) don't have enough resources to run GCC compilation besides ruby one :-D > I patched configure.in on OS X to remove the quotes. There are similar > linking problems as on Vista so I hope I would get rid of them this > way. > Done that, didn't work, it seems that even small things like a gcc hello world is broken on Vista. Will keep working on getting things properly for it, since without the One-Click Developer Kit will be useless. > Looks like the shipped configure has LIBPATHFLAG with the quotes, though. > Is because they used autconf 2.61, older versions (2.58 AFAIK) didn't do that. > Thanks > Thanks to you for your interest, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Fri Apr 18 21:15:00 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 18 Apr 2008 22:15:00 -0300 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: References: Message-ID: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> On Fri, Apr 18, 2008 at 12:57 PM, Gordon Thiesfeld wrote: > So, I was looking at the way msysGit wraps the git command in a batch > file, and I thought we could do the same thing for compiling > extensions in gems. > Something like this in \path_to_ruby\bin: > > REM make.cmd > @echo off > setlocal > set path=%path%;c:\ruby\repo\oci\sandbox\mingw > C:\ruby\repo\oci\sandbox\msys\bin\bash.exe --login -i -c "make %*" > exit /B %ErrorLevel% > > This way we wouldn't need to worry about adding mingw to the path, > except when it's needed (ie. when make is called). We may need to add > msys to the path as well, I'm not sure. I can use this method to `gem > install mongrel`. It compiles native extensions and all that. Of > course when I try to run mongrel it fails ;), but I think that's a > separate issue. > There is no need to add mingw or msys to the path, since when bash start it parses profile and setup $PATH to include both, mingw and msys tools. Anyway, we will need wrap 'gcc' too, since is something extconf uses to try definitions that create the makefile. The only problem is that ruby doesn't like it, and I had problems in the past due that, and was ruby exec code. Let me explain: When you issue 'make' in the command line, the cmd interpreter (cmd.exe) will try to find an executable of make, based on 'make' + one of the extensions in PATHEXT environment variable, in the order they are listed: make.com, make.exe, make.bat, make.cmd, etc. The problem is ruby exec doesn't work like that. if you supply a command without the extension, it will look for executables (com and exe), but you must explicitly indicate .bat or .cmd when executing batch files. try creating a make.bat that just echo something and do: ruby -e "system('make --version')" Without mingw/msys in the path, that will fail until you supply .bat/.cmd to the system command. So, that will require us patch rubygems and replace conditions for RUBY_PLATFORM and issue 'make.bat/cmd' instead of plain 'make'. Take in consideration that right now there are conditions for mswin (nmake) and others platforms, plain make. > What do you think? Am I oversimplifying the problem again? > I like the idea and you aren't oversimplifying it, I think Ruby is broken in that aspect. Maybe we can fix that damn thing in ruby C code and workaround that? win32/win32.c:989 (CreateChild function), call dln_find_exe dlc.c:1671 (dln_find_exe function), call dln_find_1 dlc.c:1796 (dln_find_1 function), call eaccess file.c:897 (eaccess function), call access API with 'path' and mode = X_OK (io.h) Or maybe I ended tracing it to the wrong place :-P > Thanks, Thanks to you for your interest. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Sat Apr 19 10:51:10 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Sat, 19 Apr 2008 09:51:10 -0500 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> References: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> Message-ID: On Fri, Apr 18, 2008 at 8:15 PM, Luis Lavena wrote: > > There is no need to add mingw or msys to the path, since when bash > start it parses profile and setup $PATH to include both, mingw and > msys tools. > > Anyway, we will need wrap 'gcc' too, since is something extconf uses > to try definitions that create the makefile. > > The only problem is that ruby doesn't like it, and I had problems in > the past due that, and was ruby exec code. > > Let me explain: > > When you issue 'make' in the command line, the cmd interpreter > (cmd.exe) will try to find an executable of make, based on 'make' + > one of the extensions in PATHEXT environment variable, in the order > they are listed: > > make.com, make.exe, make.bat, make.cmd, etc. > > The problem is ruby exec doesn't work like that. if you supply a > command without the extension, it will look for executables (com and > exe), but you must explicitly indicate .bat or .cmd when executing > batch files. > > try creating a make.bat that just echo something and do: > > ruby -e "system('make --version')" :-P C:\ruby\ruby_mingw>which make.exe which: no make.exe in (c:\wix;c:\windows\system32;c:\windows\system;C:\Program Files\Subversion\bin;C:\Program Files\Bazaar;C:\Program Files\Git\cmd;C:\ruby\ruby_mingw\bin;C:\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Putty;c:\bin\console2) C:\ruby\ruby_mingw>which make.cmd C:\ruby\ruby_mingw\bin\make.cmd C:\ruby\ruby_mingw>irb >> `make --version` => "GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.\nBuilt for i686-pc-msys\nCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000\n\tFree Software Foundation, Inc.\nThis is free software; see the source for copying conditions.\nThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.\n\nReport bugs to .\n\n" >> OK, I've seen this problem before too, with Rakefiles that shell out to use 'gem' and things like that, and I've always made the same assumption that Ruby didn't process bat or cmd file. But what was bugging me after I read your email was that my make.cmd worked, and there is no other make in the path. First of all, it does seem to run bat and cmd files, but they have to be in the path not in the same folder you're in. This may be a 'feature' ;-), similar to the way *nix won't let you run shell commands in your current folder without adding ./ in front of them. Make a simple batch file, like this: REM test.cmd @echo off date /t Stick it in ruby\bin, or somewhere else in the path and then try to run it. It works for me. The problem with the gem command and commands created by RubyGems, is that Ruby will find the ruby file at the command first and try to execute it, and the shell doesn't know how to run it (Windows doesn't do shebang lines). So, if you move the ruby file with no extension out of the bin folder, and adjust the batch file to point to it, it will work. At least it works on my machine ;-). > I like the idea and you aren't oversimplifying it, I think Ruby is > broken in that aspect. > > Maybe we can fix that damn thing in ruby C code and workaround that? > > win32/win32.c:989 (CreateChild function), call dln_find_exe > dlc.c:1671 (dln_find_exe function), call dln_find_1 > dlc.c:1796 (dln_find_1 function), call eaccess > file.c:897 (eaccess function), call access API with 'path' and mode = > X_OK (io.h) > Maybe Ruby's not totally broken here, just undocumented? Take a look and let me know what you think. --Gordon From luislavena at gmail.com Sat Apr 19 19:23:04 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sat, 19 Apr 2008 20:23:04 -0300 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: References: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> Message-ID: <71166b3b0804191623t654d4c1pa7011e8ef594d3c4@mail.gmail.com> On Sat, Apr 19, 2008 at 11:51 AM, Gordon Thiesfeld wrote: > On Fri, Apr 18, 2008 at 8:15 PM, Luis Lavena wrote: > > > > There is no need to add mingw or msys to the path, since when bash > > start it parses profile and setup $PATH to include both, mingw and > > msys tools. > > > > Anyway, we will need wrap 'gcc' too, since is something extconf uses > > to try definitions that create the makefile. > > > > The only problem is that ruby doesn't like it, and I had problems in > > the past due that, and was ruby exec code. > > > > Let me explain: > > > > When you issue 'make' in the command line, the cmd interpreter > > (cmd.exe) will try to find an executable of make, based on 'make' + > > one of the extensions in PATHEXT environment variable, in the order > > they are listed: > > > > make.com, make.exe, make.bat, make.cmd, etc. > > > > The problem is ruby exec doesn't work like that. if you supply a > > command without the extension, it will look for executables (com and > > exe), but you must explicitly indicate .bat or .cmd when executing > > batch files. > > > > try creating a make.bat that just echo something and do: > > > > ruby -e "system('make --version')" > > :-P > > C:\ruby\ruby_mingw>which make.exe > which: no make.exe in > (c:\wix;c:\windows\system32;c:\windows\system;C:\Program > Files\Subversion\bin;C:\Program Files\Bazaar;C:\Program > Files\Git\cmd;C:\ruby\ruby_mingw\bin;C:\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program > Files\Putty;c:\bin\console2) > > C:\ruby\ruby_mingw>which make.cmd > C:\ruby\ruby_mingw\bin\make.cmd > > C:\ruby\ruby_mingw>irb > >> `make --version` > => "GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.\nBuilt for > i686-pc-msys\nCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, > 98, 99, 2000\n\tFree Software Foundation, Inc.\nThis is free software; > see the source for > copying conditions.\nThere is NO warranty; not even for > MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.\n\nReport bugs > to .\n\n" > >> > What The Hell??? I tried that before send the mail to the list, just to confirm what I was getting for the past years... and it failed... Now that I try again, and again, and again, it works??? (make.bat) put into %HOME%/bin (which is in PATH). @ECHO OFF ECHO.Simulate Make. ECHO.parameters to be passed: %* Now, using CMD.exe, in HOME or any other drive letter: C:\>make --version Simulate Make. parameters to be passed: --version (make.bat is in D:\Users\Luis\bin\make.bat), don't have msys tools in the path for this test. Ok, now Ruby: C:\>ruby -e "puts Dir.pwd; system('make --version')" C:/ Simulate Make. parameters to be passed: --version The damn thing worked! I always got mixed results from system/backticks/exec ... But!, now I know how to make it fail... 1) Create a empty 'make' file and put in a path that is listed *before* the one that holds your make.bat (system32 is a good place). D:\Users\Luis>ruby -e "puts Dir.pwd; system('make --version')" D:/Users/Luis No output from system call... because it found the first occurrence of make (extension less). 2) Now move the empty make file into a directory of PATH that happens *after* the position make.bat is located (example, I moved it to c;\program files\putty) C:\>ruby -e "puts Dir.pwd; system('make --version')" C:/ Simulate Make. parameters to be passed: --version Bingo! so it seems is not just looking for executable files, but any file that matches the search criteria (make.*), the first found, the first served, no matter if is an executable or not. > OK, I've seen this problem before too, with Rakefiles that shell out > to use 'gem' and things like that, and I've always made the same > assumption that Ruby didn't process bat or cmd file. But what was > bugging me after I read your email was that my make.cmd worked, and > there is no other make in the path. First of all, it does seem to run > bat and cmd files, but they have to be in the path not in the same > folder you're in. This may be a 'feature' ;-), similar to the way > *nix won't let you run shell commands in your current folder without > adding ./ in front of them. Make a simple batch file, like this: > Yes, a true feature :-P > REM test.cmd > @echo off > date /t > > Stick it in ruby\bin, or somewhere else in the path and then try to > run it. It works for me. > > The problem with the gem command and commands created by RubyGems, is > that Ruby will find the ruby file at the command first and try to > execute it, and the shell doesn't know how to run it (Windows doesn't > do shebang lines). So, if you move the ruby file with no extension out > of the bin folder, and adjust the batch file to point to it, it will > work. At least it works on my machine ;-). The issue with 'gem' is that rubygems generates to files: gem and gem.bat which is a stub to execute the true gem ruby script. If we move from script+stub to scripts similar of what ruby ships (take a look at irb.bat) can workaround the issues with "cross-compatibility" raised of being using system/exec/backticks/whatever > > I like the idea and you aren't oversimplifying it, I think Ruby is > > broken in that aspect. > > > > Maybe we can fix that damn thing in ruby C code and workaround that? > > > > win32/win32.c:989 (CreateChild function), call dln_find_exe > > dlc.c:1671 (dln_find_exe function), call dln_find_1 > > dlc.c:1796 (dln_find_1 function), call eaccess > > file.c:897 (eaccess function), call access API with 'path' and mode = > > X_OK (io.h) > > > > Maybe Ruby's not totally broken here, just undocumented? Take a look > and let me know what you think. > Please let me congrats you Gordon, you just hit one of the big issues that blocks true cross-platform implementation. Also, these injected stubs/scripts can workaround the pipes issues for scripts using .rb and being tried to executed standalone (this is an old issue of ruby and how cmd creates the process and pass the information to the child process). With the fix for Vista the MinGW guys are working, maybe then we could add a 'gcc' and 'make' stubs that transparently load the mingw/msys environment for you :-D So the Developer Kit only will be the packages we already have (a bit of cleanup) and let it drop these stubs into ruby/bin :-) I love the idea! Thank you for taking the time exposing your point, It was really enlightening Regards, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Sun Apr 20 11:15:17 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Sun, 20 Apr 2008 10:15:17 -0500 Subject: [Rubyinstaller-devel] Installer3 rake compile problem Message-ID: I've been having a problem with the compile step in installer3 compiling openssl C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `initialize': Permission denied - mkmftmp1.log (Errno::EACCES) from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `open' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `open' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:228:in `postpone' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:201:in `open' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:224:in `postpone' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:591:in `checking_for' from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:695:in `have_func' from ../../../ruby_1_8/ext/openssl/extconf.rb:73 from ../ruby_1_8/ext/extmk.rb:168:in `load' from ../ruby_1_8/ext/extmk.rb:168:in `extmake' from ../ruby_1_8/ext/extmk.rb:441 from ../ruby_1_8/ext/extmk.rb:440:in `each' from ../ruby_1_8/ext/extmk.rb:440 make: *** [all] Error 1 rake aborted! Command failed with status (2): ["C:/ruby/repo/oci_187/sandbox/msys/bin/bas...] (See full trace by running task with --trace) If I run it again, it might get past openssl, but fail on another extension. So I just keep running it until it finishes. If I comment out line 234 of ruby_1_8\lib\mkmf.rb it runs all the way through, but this seems suboptimal. Is anyone else seeing this? Thanks, Gordon From luislavena at gmail.com Sun Apr 20 13:21:50 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 20 Apr 2008 14:21:50 -0300 Subject: [Rubyinstaller-devel] Installer3 rake compile problem In-Reply-To: References: Message-ID: <71166b3b0804201021w59c56ca3nbcb2364cfa843bae@mail.gmail.com> On Sun, Apr 20, 2008 at 12:15 PM, Gordon Thiesfeld wrote: > I've been having a problem with the compile step in installer3 > > compiling openssl > C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `initialize': > Permission denied - mkmftmp1.log (Errno::EACCES) > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `open' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:197:in `open' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:228:in `postpone' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:201:in `open' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:224:in `postpone' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:591:in > `checking_for' > from C:/ruby/repo/oci_187/sandbox/ruby_1_8/lib/mkmf.rb:695:in > `have_func' > from ../../../ruby_1_8/ext/openssl/extconf.rb:73 > from ../ruby_1_8/ext/extmk.rb:168:in `load' > from ../ruby_1_8/ext/extmk.rb:168:in `extmake' > from ../ruby_1_8/ext/extmk.rb:441 > from ../ruby_1_8/ext/extmk.rb:440:in `each' > from ../ruby_1_8/ext/extmk.rb:440 > make: *** [all] Error 1 > rake aborted! > Command failed with status (2): ["C:/ruby/repo/oci_187/sandbox/msys/bin/bas...] > > (See full trace by running task with --trace) > > If I run it again, it might get past openssl, but fail on another > extension. So I just keep running it until it finishes. If I comment > out line 234 of ruby_1_8\lib\mkmf.rb it runs all the way through, but > this seems suboptimal. Is anyone else seeing this? > Mmm, looks like the OS is blocking the .log file when compiling the extension. Can you cleanup ruby_build/ext/openssl (remove folder) and also the .ext/i386-mingw32/openssl.so ? Also, check for a mkmf*.log in your %TEMP%. Sometimes some antivirus software block these files. HTH, -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Sun Apr 20 18:01:06 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 20 Apr 2008 19:01:06 -0300 Subject: [Rubyinstaller-devel] Reverting from 1.8.7 Message-ID: <71166b3b0804201501o1180176cn688a079cb2156621@mail.gmail.com> Hello Folks, I was so dumb perform a release and also some announcement of the preview of 1.8.7 based on MinGW. I neglected the importance of backward compatibility and followed the joy of new release, which introduced several bugs and incompatibilities, as reported in ruby-core [1] I'm aware that svn version after PATCHLEVEL 114 introduced some changes that made things like wxRuby crash. So I'm releasing right now a test version based on packaged ruby-1.8.6-p114 tarball. Also, I'm working right now on make rubyspecs (part of rubinius innitiative) work on Windows and ensure proper releases at least for the core of ruby. In the mean time, I also have added a text file alongside the 7z package which contains the output of 'make check' for each release. Hopefully someone will find this useful :-) The place were these files can be downloaded: http://dump.mmediasys.com/installer3 The only known problem with this release is the readline/irb CPU eating bug, but that cannot be fixed right now without monkey patching. I'm looking forward ruby maintainers workaround these issues, but for the time being, I only have hope :-) Regards and good weekend everybody. [1] http://www.ruby-forum.com/topic/150251 -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Sun Apr 20 18:14:38 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Sun, 20 Apr 2008 17:14:38 -0500 Subject: [Rubyinstaller-devel] Installer3 rake compile problem In-Reply-To: <71166b3b0804201021w59c56ca3nbcb2364cfa843bae@mail.gmail.com> References: <71166b3b0804201021w59c56ca3nbcb2364cfa843bae@mail.gmail.com> Message-ID: On Sun, Apr 20, 2008 at 12:21 PM, Luis Lavena wrote: > > > Mmm, looks like the OS is blocking the .log file when compiling the extension. > > Can you cleanup ruby_build/ext/openssl (remove folder) and also the > .ext/i386-mingw32/openssl.so ? > > Also, check for a mkmf*.log in your %TEMP%. > > Sometimes some antivirus software block these files. It was the antivirus software. Thanks, Luis. Gordon From gthiesfeld at gmail.com Mon Apr 21 22:03:45 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Mon, 21 Apr 2008 21:03:45 -0500 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: <71166b3b0804191623t654d4c1pa7011e8ef594d3c4@mail.gmail.com> References: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> <71166b3b0804191623t654d4c1pa7011e8ef594d3c4@mail.gmail.com> Message-ID: > The issue with 'gem' is that rubygems generates to files: gem and > gem.bat which is a stub to execute the true gem ruby script. > > If we move from script+stub to scripts similar of what ruby ships > (take a look at irb.bat) can workaround the issues with > "cross-compatibility" raised of being using > system/exec/backticks/whatever > Ok, I've stubbed make, gcc, and sh, and rubygems tests pass. I'm working on a patch for rubygems bin scripts as well, but I can't find a simple way to do it without breaking a lot of tests. I'll keep at it. I did discover that the exit /b %errorlevel% doesn't do the right thing when called in Ruby, so I'm just making the cmd files so that the last line is the one we care about.. This is my rake.cmd. It seems to be working fine. Let me know if you see any problems with it. @ECHO OFF goto endofruby #!c:/ruby/ruby_mingw/bin/ruby.exe # # This file was generated by RubyGems. # # The application 'rake' is installed as part of a gem, and # this file is here to facilitate running it. # require 'rubygems' version = ">= 0" if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then version = $1 ARGV.shift end gem 'rake', version load 'rake' __END__ :endofruby "%~d0%~p0ruby" -x "%~f0" %* > Please let me congrats you Gordon, you just hit one of the big issues > that blocks true cross-platform implementation. > > Also, these injected stubs/scripts can workaround the pipes issues for > scripts using .rb and being tried to executed standalone (this is an > old issue of ruby and how cmd creates the process and pass the > information to the child process). Yeah, I've been bitten by this one too :-). The only problem with batch files is that it makes ctrl-c cause the extremely annoying "Terminate batch job (Y/N)?". I did find a way to modify cmd.exe so that it doesn't do this, but it would be nice if there was a cleaner solution. From luislavena at gmail.com Mon Apr 21 22:55:09 2008 From: luislavena at gmail.com (Luis Lavena) Date: Mon, 21 Apr 2008 23:55:09 -0300 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: References: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> <71166b3b0804191623t654d4c1pa7011e8ef594d3c4@mail.gmail.com> Message-ID: <71166b3b0804211955k2e75c9ebya808e8d51ae8874e@mail.gmail.com> On Mon, Apr 21, 2008 at 11:03 PM, Gordon Thiesfeld wrote: > > The issue with 'gem' is that rubygems generates to files: gem and > > gem.bat which is a stub to execute the true gem ruby script. > > > > If we move from script+stub to scripts similar of what ruby ships > > (take a look at irb.bat) can workaround the issues with > > "cross-compatibility" raised of being using > > system/exec/backticks/whatever > > > > Ok, I've stubbed make, gcc, and sh, and rubygems tests pass. I'm > working on a patch for rubygems bin scripts as well, but I can't find > a simple way to do it without breaking a lot of tests. I'll keep at > it. I did discover that the exit /b %errorlevel% doesn't do the right > thing when called in Ruby, so I'm just making the cmd files so that > the last line is the one we care about.. > > This is my rake.cmd. It seems to be working fine. Let me know if you > see any problems with it. > > @ECHO OFF > goto endofruby > #!c:/ruby/ruby_mingw/bin/ruby.exe > # > # This file was generated by RubyGems. > # > # The application 'rake' is installed as part of a gem, and > # this file is here to facilitate running it. > # > > require 'rubygems' > > version = ">= 0" > > if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then > version = $1 > ARGV.shift > end > > gem 'rake', version > load 'rake' > __END__ > :endofruby > "%~d0%~p0ruby" -x "%~f0" %* > I was one of the responsible of change the .cmd files to .bat in latest rubygems releases. Why? because .bat take precedence instead of .cmd, also because, even we don't *support* win9x, at least it will work out of the box. I'll change to uppercase all the references to windows/batch commands (GOTO). I'll take a look at rubygems (again) to see if we can get rid of the separate batch/script files for the next release, or at least, our implementation, since I'm thinking seriously not ship 1.8.7... (there is a heated discussion about that). An alternative will be have a series of patches that can be rolled/applied to current 1.8.6-p114 and fix particular things in ruby source or rubygems until an official release ship them. As a RubyGems contributor I can slip these changes in, but we will require wait for the next release to make them available. > > Please let me congrats you Gordon, you just hit one of the big issues > > that blocks true cross-platform implementation. > > > > Also, these injected stubs/scripts can workaround the pipes issues for > > scripts using .rb and being tried to executed standalone (this is an > > old issue of ruby and how cmd creates the process and pass the > > information to the child process). > > Yeah, I've been bitten by this one too :-). The only problem with > batch files is that it makes ctrl-c cause the extremely annoying > "Terminate batch job (Y/N)?". I did find a way to modify cmd.exe so > that it doesn't do this, but it would be nice if there was a cleaner > solution. > There is no easy solution without binary patching cmd.exe, since in-memory patches will require us alter ruby.exe and we can get caught by DEP protection :-P We need to talk about the the future on this, do you feel comfortable we set a wiki page and start drawing a picture about the goals for the release? Thank you for your time Gordon. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Tue Apr 22 09:03:50 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Tue, 22 Apr 2008 08:03:50 -0500 Subject: [Rubyinstaller-devel] make.cmd? In-Reply-To: <71166b3b0804211955k2e75c9ebya808e8d51ae8874e@mail.gmail.com> References: <71166b3b0804181815k39ba53eevc09ff651d1a3470e@mail.gmail.com> <71166b3b0804191623t654d4c1pa7011e8ef594d3c4@mail.gmail.com> <71166b3b0804211955k2e75c9ebya808e8d51ae8874e@mail.gmail.com> Message-ID: On Mon, Apr 21, 2008 at 9:55 PM, Luis Lavena wrote: > We need to talk about the the future on this, do you feel comfortable > we set a wiki page and start drawing a picture about the goals for the > release? > This sounds like a great idea. I've been meaning to do some work on the wiki for a few weeks now. I should be on gtalk most of the day, too. Thanks, Gordon From builder at mmediasys.com Tue Apr 22 17:04:15 2008 From: builder at mmediasys.com (Integration Builder) Date: Tue, 22 Apr 2008 18:04:15 -0300 Subject: [Rubyinstaller-devel] [CruiseControl] mongrel-stable_1-2-mingw32 build 1012 failed Message-ID: <480e52cf2da78_fdc1462a8819@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1012 detected Revision 1012 committed by luislavena on 2008-04-18 07:09:44 Wait longer for child process terminate properly (max 20 seconds). Imported tests from RubyServices project. (Closes #18). M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas M /branches/stable_1-2/projects/mongrel_service/native/console_process.bas M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1011 committed by luislavena on 2008-04-18 07:09:41 Added emulation of slow termination processes. M /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas M /branches/stable_1-2 Revision 1010 committed by luislavena on 2008-04-18 07:09:38 Include tests projects and child process fixtures. M /branches/stable_1-2/projects/mongrel_service/Rakefile M /branches/stable_1-2 Revision 1009 committed by luislavena on 2008-04-18 07:09:36 Ported ConsoleProcess tests from RubyServices. A /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas A /branches/stable_1-2/projects/mongrel_service/tests/fixtures A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bi A /branches/stable_1-2/projects/mongrel_service/tests/all_tests.bas A /branches/stable_1-2/projects/mongrel_service/tests M /branches/stable_1-2 A /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1008 committed by luislavena on 2008-04-18 07:09:33 Updated FreeBASIC compilation tools. M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tools/freebasic.rb Revision 1007 committed by luislavena on 2008-04-17 23:20:50 mongrel_service: Merged changes from trunk. M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/lib/mongrel_service/init.rb M /branches/stable_1-2/projects/mongrel_service/Rakefile Revision 1006 committed by luislavena on 2008-04-17 18:59:55 mongrel_service: updated ServiceFB library (pistoned). M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/ServiceFB_Utils.bas M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/_utils_internals.bi Revision 1005 committed by evanweaver on 2008-04-17 04:32:11 Document issue with soft restart pid file setting (closes #29). M /branches/stable_1-2/bin/mongrel_rails Revision 1004 committed by evanweaver on 2008-04-17 04:29:44 Apply r1003 to stable. M /branches/stable_1-2/bin/mongrel_rails BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11.o - ext/http11/http11_parser.o - ext/http11/Makefile - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in -lc... no creating Makefile gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11.c gcc -I. -I. -ID:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/1.8/i386-mingw32 -I. -g -O2 -c http11_parser.c gcc -shared -s -o http11.so http11.o http11_parser.o -L. -LD:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -lmsvcrt-ruby18 -lshell32 -lws2_32 D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-svn-MINGW-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 34.157 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-svn-MINGW-ruby...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mingw32/build-1012/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mingw32\build-1012\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From builder at mmediasys.com Tue Apr 22 17:05:08 2008 From: builder at mmediasys.com (Integration Builder) Date: Tue, 22 Apr 2008 18:05:08 -0300 Subject: [Rubyinstaller-devel] [CruiseControl] mongrel-stable_1-2-mswin32 build 1012 failed Message-ID: <480e5304631f0_e3813de3a6187@edicion01.tmail> The build failed. Note: if you set Configuration.dashboard_url in config/site_config.rb, you'd see a link to the build page here. CHANGES ------- New revision 1012 detected Revision 1012 committed by luislavena on 2008-04-18 07:09:44 Wait longer for child process terminate properly (max 20 seconds). Imported tests from RubyServices project. (Closes #18). M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas M /branches/stable_1-2/projects/mongrel_service/native/console_process.bas M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1011 committed by luislavena on 2008-04-18 07:09:41 Added emulation of slow termination processes. M /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas M /branches/stable_1-2 Revision 1010 committed by luislavena on 2008-04-18 07:09:38 Include tests projects and child process fixtures. M /branches/stable_1-2/projects/mongrel_service/Rakefile M /branches/stable_1-2 Revision 1009 committed by luislavena on 2008-04-18 07:09:36 Ported ConsoleProcess tests from RubyServices. A /branches/stable_1-2/projects/mongrel_service/tests/fixtures/mock_process.bas A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bas A /branches/stable_1-2/projects/mongrel_service/tests/fixtures A /branches/stable_1-2/projects/mongrel_service/tests/test_helpers.bi A /branches/stable_1-2/projects/mongrel_service/tests/all_tests.bas A /branches/stable_1-2/projects/mongrel_service/tests M /branches/stable_1-2 A /branches/stable_1-2/projects/mongrel_service/tests/test_console_process.bas Revision 1008 committed by luislavena on 2008-04-18 07:09:33 Updated FreeBASIC compilation tools. M /branches/stable_1-2 M /branches/stable_1-2/projects/mongrel_service/tools/freebasic.rb Revision 1007 committed by luislavena on 2008-04-17 23:20:50 mongrel_service: Merged changes from trunk. M /branches/stable_1-2/projects/mongrel_service/CHANGELOG M /branches/stable_1-2/projects/mongrel_service/lib/mongrel_service/init.rb M /branches/stable_1-2/projects/mongrel_service/Rakefile Revision 1006 committed by luislavena on 2008-04-17 18:59:55 mongrel_service: updated ServiceFB library (pistoned). M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/ServiceFB_Utils.bas M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB M /branches/stable_1-2/projects/mongrel_service/lib/ServiceFB/_utils_internals.bi Revision 1005 committed by evanweaver on 2008-04-17 04:32:11 Document issue with soft restart pid file setting (closes #29). M /branches/stable_1-2/bin/mongrel_rails Revision 1004 committed by evanweaver on 2008-04-17 04:29:44 Apply r1003 to stable. M /branches/stable_1-2/bin/mongrel_rails BUILD LOG --------- D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby extconf.rb (in D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work) [CruiseControl] Invoking Rake task "clobber" Cleaning - ext/http11/http11-i386-mswin32.def - ext/http11/http11-i386-mswin32.exp - ext/http11/http11-i386-mswin32.lib - ext/http11/http11-i386-mswin32.pdb - ext/http11/http11.obj - ext/http11/http11_parser.obj - ext/http11/Makefile - ext/http11/vc60.pdb - lib/http11.so - log - test_stderr.log - test_stdout.log [CruiseControl] Invoking Rake task "compile" checking for main() in c.lib... no creating Makefile Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. D:\Users\Luis\ruby\ruby-186-p114-VC6-rubygems-110\bin\ruby -e "puts 'EXPORTS', 'Init_http11'" > http11-i386-mswin32.def cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11.c http11.c cl -nologo -I. -I. -ID:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tchttp11_parser.c http11_parser.c cl -nologo -LD -Fehttp11.so http11.obj http11_parser.obj msvcrt-ruby18.lib oldnames.lib user32.lib advapi32.lib ws2_32.lib -link -incremental:no -debug -opt:ref -opt:icf -dll -libpath:"." -libpath:"D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib" -def:http11-i386-mswin32.def -implib:http11-i386-mswin32.lib -pdb:http11-i386-mswin32.pdb Creating library http11-i386-mswin32.lib and object http11-i386-mswin32.exp D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/bin/ruby -Ilib;ext;bin;test "D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader.rb" "test/test_helper.rb" "test/unit/test_cgi_wrapper.rb" "test/unit/test_command.rb" "test/unit/test_conditional.rb" "test/unit/test_configurator.rb" "test/unit/test_debug.rb" "test/unit/test_handlers.rb" "test/unit/test_http_parser.rb" "test/unit/test_redirect_handler.rb" "test/unit/test_request_progress.rb" "test/unit/test_response.rb" "test/unit/test_stats.rb" "test/unit/test_uriclassifier.rb" "test/unit/test_ws.rb" [CruiseControl] Invoking Rake task "test" ./test/test_helper.rb:8: warning: already initialized constant HERE Loaded suite D:/Users/Luis/ruby/ruby-186-p114-VC6-rubygems-110/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake/rake_test_loader Started .......................F..E................................ Finished in 32.687 seconds. 1) Failure: test_horrible_queries(HttpParserTest) [./test/unit/test_http_parser.rb:105:in `test_horrible_queries' ./test/unit/test_http_parser.rb:103:in `times' ./test/unit/test_http_parser.rb:103:in `test_horrible_queries']: exception expected but none was thrown. 2) Error: test_parse_strange_headers(HttpParserTest): Mongrel::HttpParserError: Invalid HTTP format, parsing fails. ./test/unit/test_http_parser.rb:49:in `execute' ./test/unit/test_http_parser.rb:49:in `test_parse_strange_headers' 59 tests, 458 assertions, 1 failures, 1 errors rake aborted! Command failed with status (1): [D:/Users/Luis/ruby/ruby-186-p114-VC6-rubyg...] (See full trace by running task with --trace) dir : D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work command : ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" executed command : echo D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/work Luis$ ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:/Users/Luis/.cruise/projects/mongrel-stable_1-2-mswin32/build-1012/build.log && ruby -e "require 'rubygems' rescue nil; require 'rake'; load 'D:/Users/Luis/tools/ccrb/tasks/cc_build.rake'; ARGV << '--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear" >> D:\Users\Luis\.cruise\projects\mongrel-stable_1-2-mswin32\build-1012\build.log 2>&1 exitstatus: 1 STDERR TAIL START STDERR TAIL END PROJECT SETTINGS ---------------- # Project-specific configuration for CruiseControl.rb Project.configure do |project| project.email_notifier.emails = ['mongrel-development at rubyforge.org', 'rubyinstaller-devel at rubyforge.org'] project.rake_task = 'clobber compile test package' project.scheduler.polling_interval = 5.minutes end From luislavena at gmail.com Wed Apr 23 01:36:39 2008 From: luislavena at gmail.com (Luis Lavena) Date: Wed, 23 Apr 2008 02:36:39 -0300 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? Message-ID: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> Hello fellow developers, It seems I neglected to push or decide what to do regarding the code being developed for what I call it 'installer3' MinGW build. So far, the idea was push these changes back into svn, which will lower the entry point for others developers wanting to contribute back to it. Since 'git' is the new cool toy, I wondered a lot of Installer3 should also move to it, even when Git support is not 100% what I will love to have. Or, instead, I was thinking also move the repo from my host to launchpad, which will raise some critics about using closed-source software to host an open source project (github is closed source anyway)... What do you guys think will be best? I'm open to suggestions. What I love of the dvcs workflow is that I can keep local branches to foster experimentation and try new things before I merge them back cherry pick stuff from them. Thank you for your time guys, feel free to comment. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From will at hotgazpacho.org Wed Apr 23 08:01:59 2008 From: will at hotgazpacho.org (Will Green) Date: Wed, 23 Apr 2008 08:01:59 -0400 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> Message-ID: <480F2537.7030907@hotgazpacho.org> SVN has the lowest barrier to entry for Win32 developers (Collabnet's SVN installer for Windows, TortoiseSVN). To the best of knowledge, all the other tools (bzr, git, etc) do not have a stable, native win32 client. That is, they all require an existing Cygwin or MinGW install. The other benefit of SVN is that if folks want to use git, git-svn can push their changes back to the SVN repo. Given that this is a Win32 project for Win32 developers, my vote is for SVN. == Will Green Luis Lavena wrote: > Hello fellow developers, > > It seems I neglected to push or decide what to do regarding the code > being developed for what I call it 'installer3' MinGW build. > > So far, the idea was push these changes back into svn, which will > lower the entry point for others developers wanting to contribute back > to it. > > Since 'git' is the new cool toy, I wondered a lot of Installer3 should > also move to it, even when Git support is not 100% what I will love to > have. > > Or, instead, I was thinking also move the repo from my host to > launchpad, which will raise some critics about using closed-source > software to host an open source project (github is closed source > anyway)... > > What do you guys think will be best? I'm open to suggestions. > > What I love of the dvcs workflow is that I can keep local branches to > foster experimentation and try new things before I merge them back > cherry pick stuff from them. > > Thank you for your time guys, feel free to comment. > From luislavena at gmail.com Wed Apr 23 10:12:06 2008 From: luislavena at gmail.com (Luis Lavena) Date: Wed, 23 Apr 2008 11:12:06 -0300 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: <480F2537.7030907@hotgazpacho.org> References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> Message-ID: <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> On Wed, Apr 23, 2008 at 9:01 AM, Will Green wrote: > SVN has the lowest barrier to entry for Win32 developers (Collabnet's > SVN installer for Windows, TortoiseSVN). > Good points. Even I have installed TortoiseSVN, no longer uses it due some memory consumption that imposes on explorer.exe.... Anyway... > To the best of knowledge, all the other tools (bzr, git, etc) do not > have a stable, native win32 client. That is, they all require an > existing Cygwin or MinGW install. > On that topic, based in my personal experience. Bzr was one, if not the only one that worked out of the box, using the standalone version or the python packages. but as you state, there are no "stable" releases or sometimes requires fulfill dependencies that can make things a bit harder for developers. > The other benefit of SVN is that if folks want to use git, git-svn can > push their changes back to the SVN repo. > Right know I'm using bzr-svn which perform similar operations that git-svn, so I'm good with that. > Given that this is a Win32 project for Win32 developers, my vote is for SVN. > Then I'll push the changes back into existing repo (but it's own branch), and keep git or bzr for local workflow only. Thank you for your comments Will, . -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gerardo.santana at gmail.com Wed Apr 23 11:59:29 2008 From: gerardo.santana at gmail.com (=?ISO-8859-1?Q?Gerardo_Santana_G=F3mez_Garrido?=) Date: Wed, 23 Apr 2008 10:59:29 -0500 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> Message-ID: I'm a recent converted from CVS to Git, and find it very nice. One of its advantages is precisely what Luis mentions, to have the ability to create local experimental branches without impacting the main repository, and cherry-picking what you want. github.com helps open source projects to get even more exposure which is a good thing, getting attention and potentially getting more contributions back. Nothing that I can scientifically prove though. AFAIK, there's a Git version for MSYS. According to my logic book, since installer3 will run on MSYS, it doesn't feel wrong to use msysgit, which is already used in production environments (according to its Wikipedia entry). And more importantly, I don't like SVN and its long list of dependencies :-) That's my biased opinion, for whatever it's worth. -- Gerardo Santana From luislavena at gmail.com Wed Apr 23 12:10:02 2008 From: luislavena at gmail.com (Luis Lavena) Date: Wed, 23 Apr 2008 13:10:02 -0300 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> Message-ID: <71166b3b0804230910u27a04773x9e8ba08cef0e4565@mail.gmail.com> On Wed, Apr 23, 2008 at 12:59 PM, Gerardo Santana G?mez Garrido wrote: > I'm a recent converted from CVS to Git, and find it very nice. > Still get confused due the high quantity of commands available and the huge amount of combos to get simple things going... That's what I call a bad UI versus a good UI... > One of its advantages is precisely what Luis mentions, to have the > ability to create local experimental branches without impacting the > main repository, and cherry-picking what you want. > > github.com helps open source projects to get even more exposure which > is a good thing, getting attention and potentially getting more > contributions back. Nothing that I can scientifically prove though. > I'm not 100% positive abut github. Like Zed wasn't with the move of the svn repository outside rubyforge. We could better use gitorius [1] instead of a closed source implementation, like if we go for LaunchPad instead. Even we have a full repo that can be relocated/pushed to another hosting/site. I found quite annoying the relocation of repositories of OSS projects. > AFAIK, there's a Git version for MSYS. According to my logic book, > since installer3 will run on MSYS, it doesn't feel wrong to use > msysgit, which is already used in production environments (according > to its Wikipedia entry). > Well, I mention msysGit in the original mail, basically it works, still it misses a few bits but works. Still, we should keep using the SVN repo at least for users already using Subversion at their companies or working with other open-source projects that want to contribute back, at least with patches. What we do with MSYS is quite different of what Git does. we only use it for make and sh (bash) to get compatible support for configure scripts and generated makefiles. On the other hand, msysGit have it's own copy that I wouldn't touch since could break something :-P > And more importantly, I don't like SVN and its long list of dependencies :-) > We wouldn't be building svn from scratch, trust me, I'll not go that path... tried several times (more than 15 times) and failed all of them. > That's my biased opinion, for whatever it's worth. > Not biased, but valid. Is good to know there are users in Windows using Git, and I'll love to heard back regarding it's usage. -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Wed Apr 23 13:49:58 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Wed, 23 Apr 2008 12:49:58 -0500 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: <71166b3b0804230910u27a04773x9e8ba08cef0e4565@mail.gmail.com> References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> <71166b3b0804230910u27a04773x9e8ba08cef0e4565@mail.gmail.com> Message-ID: On Wed, Apr 23, 2008 at 11:10 AM, Luis Lavena wrote: > On Wed, Apr 23, 2008 at 12:59 PM, Gerardo Santana G?mez Garrido > wrote: > > I'm a recent converted from CVS to Git, and find it very nice. > > > > Still get confused due the high quantity of commands available and the > huge amount of combos to get simple things going... That's what I call > a bad UI versus a good UI... > > > > One of its advantages is precisely what Luis mentions, to have the > > ability to create local experimental branches without impacting the > > main repository, and cherry-picking what you want. > > > > github.com helps open source projects to get even more exposure which > > is a good thing, getting attention and potentially getting more > > contributions back. Nothing that I can scientifically prove though. > > > > I'm not 100% positive abut github. Like Zed wasn't with the move of > the svn repository outside rubyforge. We could better use gitorius [1] > instead of a closed source implementation, like if we go for LaunchPad > instead. > A lot of projects do primary souce control on Git, but merge to SVN on rubyforge on a regular basis. We could do the same, or the reverse. Maybe we could keep SVN as the primary, but sync it up to Git. Rubyforge also allows for a Git repo, although I don't know if it would be worth changing to it at this point. Also, I don't think we can fault GitHub for being closed source. After all, we're all here because we want Ruby to work as well as possible on a closed source OS. GitHub is friendly _and free_ to open source projects, and I agree with Gerardo that it could help us get more attention. > Even we have a full repo that can be relocated/pushed to another > hosting/site. I found quite annoying the relocation of repositories of > OSS projects. > > > > AFAIK, there's a Git version for MSYS. According to my logic book, > > since installer3 will run on MSYS, it doesn't feel wrong to use > > msysgit, which is already used in production environments (according > > to its Wikipedia entry). > > > > Well, I mention msysGit in the original mail, basically it works, > still it misses a few bits but works. Still, we should keep using the > SVN repo at least for users already using Subversion at their > companies or working with other open-source projects that want to > contribute back, at least with patches. I like this idea, there is no reason we can't do both. That's my two cents. Thanks, Gordon From luislavena at gmail.com Wed Apr 23 14:07:53 2008 From: luislavena at gmail.com (Luis Lavena) Date: Wed, 23 Apr 2008 15:07:53 -0300 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> <71166b3b0804230712j5d4ee585nb905b16bc19469cd@mail.gmail.com> <71166b3b0804230910u27a04773x9e8ba08cef0e4565@mail.gmail.com> Message-ID: <71166b3b0804231107u6ddfd9d3p16e392ca9d1b0ab7@mail.gmail.com> On Wed, Apr 23, 2008 at 2:49 PM, Gordon Thiesfeld wrote: > On Wed, Apr 23, 2008 at 11:10 AM, Luis Lavena wrote: > > > > I'm not 100% positive abut github. Like Zed wasn't with the move of > > the svn repository outside rubyforge. We could better use gitorius [1] > > instead of a closed source implementation, like if we go for LaunchPad > > instead. > > > > A lot of projects do primary souce control on Git, but merge to SVN on > rubyforge on a regular basis. We could do the same, or the reverse. > Maybe we could keep SVN as the primary, but sync it up to Git. > Rubyforge also allows for a Git repo, although I don't know if it > would be worth changing to it at this point. Also, I don't think we > can fault GitHub for being closed source. After all, we're all here > because we want Ruby to work as well as possible on a closed source > OS. GitHub is friendly _and free_ to open source projects, and I > agree with Gerardo that it could help us get more attention. > > I think I missed the point about Zed's comments. The issue with the svn repo is the "ownership" of it, the viability of the system you're depending on. DVCS break that model into pieces, all the users contributing to a project have copies _almost_ up-to date, so I don't see issues with that, Git or Bzr models. > > > > Well, I mention msysGit in the original mail, basically it works, > > still it misses a few bits but works. Still, we should keep using the > > SVN repo at least for users already using Subversion at their > > companies or working with other open-source projects that want to > > contribute back, at least with patches. > > I like this idea, there is no reason we can't do both. > I'll check if latest msysGit support dcommit to push changes back into SVN, after all, we will only maintain a mirror branch over there. > That's my two cents. Why only two cents? we all demand more! ;-) > Thanks, > So basically: - GitHub rubyinstaller project that holds the new code we have been creating. - Push via dcommit the changes back into SVN repo [1] as installer3 branch. - Provide simple instructions in the docs and rake helpers into the recipes for managing the git repo. We all agree? [1] http://rubyinstaller.rubyforge.org/svn -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From hramrach at centrum.cz Thu Apr 24 06:28:41 2008 From: hramrach at centrum.cz (Michal Suchanek) Date: Thu, 24 Apr 2008 12:28:41 +0200 Subject: [Rubyinstaller-devel] RFC: Version Control for new Installer? In-Reply-To: <480F2537.7030907@hotgazpacho.org> References: <71166b3b0804222236xe73e744qfd92a92085605b5c@mail.gmail.com> <480F2537.7030907@hotgazpacho.org> Message-ID: On 23/04/2008, Will Green wrote: > SVN has the lowest barrier to entry for Win32 developers (Collabnet's > SVN installer for Windows, TortoiseSVN). > > To the best of knowledge, all the other tools (bzr, git, etc) do not > have a stable, native win32 client. That is, they all require an > existing Cygwin or MinGW install. > > The other benefit of SVN is that if folks want to use git, git-svn can > push their changes back to the SVN repo. > > Given that this is a Win32 project for Win32 developers, my vote is for SVN. > I also find SVN or CVS a tool more accessible than git, at least on Windows. Still I can live with snapshot zips (or tarballs) exported from anything. Zip archives are probably the most acceptable option for Windows users, the OS has built-in support for them. Thanks Michal From gthiesfeld at gmail.com Fri Apr 25 00:01:21 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Thu, 24 Apr 2008 23:01:21 -0500 Subject: [Rubyinstaller-devel] Gem compatibility and platform specific dependencies Message-ID: This may be better asked on the RubyGems list, but I thought I'd try here first. I'm working on a patch[1] for the github gem[2]. The github command requires open3, which doesn't work on Windows because of fork, so I have it check for platform, and require WIn32-Open3 if on Windows. So, I have two questions about how to go about this. First, is Gem.win_platform? the proper way to go about this. I think it's safe to say this package will always be distributed as a gem, so Gem will always exist when I need it. Second, is there a way to have Gem depedencies that are platform specific? Open3 is part of the stdlib, so no dependency there, but on Windows we need the Win32 gem. I've borrowed a pattern from RSpec for this: begin require 'win32 package' rescue LoadError warn "You must 'gem install the win32 package to do this on Windows" exit 1 end But in the case of RSpec, it's only used for colored console output. If you don't use that feature, you'll never know you need to have the gem installed. In this case, the whole thing just won't work. That's what dependencies are all about, I'd think. If there isn't such a thing as platform specific dependencies, then what I'm fine doing it this way. I'm just wondering if there's a better way. Thanks, Gordon [1] http://github.com/vertiginous/github-gem/commit/a4f54d3b8d51549ff9922c55de160b713a761d8b [2] http://github.com/defunkt/github-gem/tree/master From luislavena at gmail.com Fri Apr 25 00:21:02 2008 From: luislavena at gmail.com (Luis Lavena) Date: Fri, 25 Apr 2008 01:21:02 -0300 Subject: [Rubyinstaller-devel] Gem compatibility and platform specific dependencies In-Reply-To: References: Message-ID: <71166b3b0804242121q5e1b60f6of55465a51f657e16@mail.gmail.com> On Fri, Apr 25, 2008 at 1:01 AM, Gordon Thiesfeld wrote: > This may be better asked on the RubyGems list, but I thought I'd try > here first. I'm working on a patch[1] for the github gem[2]. The > github command requires open3, which doesn't work on Windows because > of fork, so I have it check for platform, and require WIn32-Open3 if > on Windows. So, I have two questions about how to go about this. > > First, is Gem.win_platform? the proper way to go about this. I think > it's safe to say this package will always be distributed as a gem, so > Gem will always exist when I need it. > I think is safe to assume Gem.win_platform? is available since you're implementing that into a project that get's distributed/installed as gem. The only problem is that win_platform? will be 'true' even for cygwin implementation, which will render win32/open3 useless and I can smell that will crash :-P > Second, is there a way to have Gem depedencies that are platform > specific? Open3 is part of the stdlib, so no dependency there, but on > Windows we need the Win32 gem. I've borrowed a pattern from RSpec for > this: > To our bad, there isn't a way to do that, you can create a "windows-specific" version and in that gem include the dependencies, but without a real need to do that, I think workaround in the code should be used. > begin > require 'win32 package' > rescue LoadError > warn "You must 'gem install the win32 package to do this on Windows" > exit 1 > end > > But in the case of RSpec, it's only used for colored console output. > If you don't use that feature, you'll never know you need to have the > gem installed. In this case, the whole thing just won't work. > That's what dependencies are all about, I'd think. If there isn't > such a thing as platform specific dependencies, then what I'm fine > doing it this way. I'm just wondering if there's a better way. > A good workaround will be poke the ruby-core developers to merge win32/open3 package in and reduce our code cluttery, but I don't see that will happen anytime soon :-P > Thanks, Thanks to you Gordon! BTW: just pushed installer3 into the repository: http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From gthiesfeld at gmail.com Fri Apr 25 02:02:11 2008 From: gthiesfeld at gmail.com (Gordon Thiesfeld) Date: Fri, 25 Apr 2008 01:02:11 -0500 Subject: [Rubyinstaller-devel] Gem compatibility and platform specific dependencies In-Reply-To: <71166b3b0804242121q5e1b60f6of55465a51f657e16@mail.gmail.com> References: <71166b3b0804242121q5e1b60f6of55465a51f657e16@mail.gmail.com> Message-ID: On Thu, Apr 24, 2008 at 11:21 PM, Luis Lavena wrote: > On Fri, Apr 25, 2008 at 1:01 AM, Gordon Thiesfeld wrote: > > This may be better asked on the RubyGems list, but I thought I'd try > > here first. I'm working on a patch[1] for the github gem[2]. The > > github command requires open3, which doesn't work on Windows because > > of fork, so I have it check for platform, and require WIn32-Open3 if > > on Windows. So, I have two questions about how to go about this. > > > > First, is Gem.win_platform? the proper way to go about this. I think > > it's safe to say this package will always be distributed as a gem, so > > Gem will always exist when I need it. > > > > I think is safe to assume Gem.win_platform? is available since you're > implementing that into a project that get's distributed/installed as > gem. > > The only problem is that win_platform? will be 'true' even for cygwin > implementation, which will render win32/open3 useless and I can smell > that will crash :-P > Oh yeah, I forgot about cygwin. I guess open3 works on cygwin? Is this the proper regex, then? RUBY_PLATFORM =~ /mswin|mingw/ > > > Second, is there a way to have Gem depedencies that are platform > > specific? Open3 is part of the stdlib, so no dependency there, but on > > Windows we need the Win32 gem. I've borrowed a pattern from RSpec for > > this: > > > > To our bad, there isn't a way to do that, you can create a > "windows-specific" version and in that gem include the dependencies, > but without a real need to do that, I think workaround in the code > should be used. > I was hoping I'd missed something simple, like: add_dependency() if Gem.win_platform? But if it's not there I'm not going to ask for it. At least not in this case. > > > begin > > require 'win32 package' > > rescue LoadError > > warn "You must 'gem install the win32 package to do this on Windows" > > exit 1 > > end > > > > But in the case of RSpec, it's only used for colored console output. > > If you don't use that feature, you'll never know you need to have the > > gem installed. In this case, the whole thing just won't work. > > That's what dependencies are all about, I'd think. If there isn't > > such a thing as platform specific dependencies, then what I'm fine > > doing it this way. I'm just wondering if there's a better way. > > > > A good workaround will be poke the ruby-core developers to merge > win32/open3 package in and reduce our code cluttery, but I don't see > that will happen anytime soon :-P > I don't follow ruby-core that much, has this ever been suggested? I'm sure it must have at some point. > > Thanks, > > Thanks to you Gordon! > > BTW: just pushed installer3 into the repository: > http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ Should I switch from bzr to svn, or hold out for the git repo announcement ;-) -- Gordon From luislavena at gmail.com Sun Apr 27 19:18:38 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 27 Apr 2008 20:18:38 -0300 Subject: [Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)] In-Reply-To: <4814F564.10003@gmail.com> References: <4814F564.10003@gmail.com> Message-ID: <71166b3b0804271618h147b6ba1jf75998acdd822f50@mail.gmail.com> On Sun, Apr 27, 2008 at 6:51 PM, Phillip Gawlowski wrote: > > Since I have no clue if this arrived on the ruby installer list: > Nop, it didn't got into the list, you need to be subscribed to allow mails :-P Anyway, see my comments inline. > - -------- Original Message -------- > Subject: GCC 4.x on Windows (now with more statistics!) > Date: Fri, 25 Apr 2008 19:16:23 +0200 > From: Phillip Gawlowski > To: For RubyInstaller Developers > > I just read Luis' blog post on the state of the project[0], and saw that > MinGW with GCC4 is missing. > > While it is not officially supported, there are binaries available: > > http://www.develer.com/oss/GccWinBinaries > I prefer TDM release, since a downloadable file that could be extracted: http://www.tdragon.net/recentgcc/ The one that Giovanni maintains contains all bundled into a nice setup, which is good if you plan to install it on end-user computer, but prove no advantage for us. Also, it contains mingw32-make, which proven to be problematic for Ruby assumptions (the makefile extconf generates is more posix like than windows like). > GCC4 is a major update to GCC, especially in terms of speed (of the > compiler, and the compiled source), and the Ruby-Installer might want to > use it (for testing purposes, since MinGW themselves don't consider it > production ready yet, but GCC4 is out for years now...). > Yes, have played with it several times, you can see it in my older pastie, using noven.net release instead of TDM at that time (July 2007). http://pastie.caboo.se/95210 > Okay, for comparison (using Luis' 'benchmark'): > > mswin32: 30.334 sec | speedup: 1 > gcc4: 18.557 sec | speedup: 1.63 > gcc3: 19.528 sec | speedup: 1.55 > Nice numbers, the benchmark just use an average test instead of more of the specialized benchmarks out there, The nice thing is all the implementations support the script out of the box. Now that Installer3 is mirrored in the svn repository[1] you can grab them and provide patches for use of GCC4 instead of GCC3, you're welcome! :-D (The good thing of TDM releases is they keep using .tar.gz and .zip files for the packages, so there is no need to do some tricks for getting the files). Thank you for your time and effort on testing all this! PS: CC'ed this mail for the list to know about this! [1] http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From luislavena at gmail.com Sun Apr 27 19:44:14 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 27 Apr 2008 20:44:14 -0300 Subject: [Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)] In-Reply-To: <48150E1F.5040208@gmail.com> References: <4814F564.10003@gmail.com> <71166b3b0804271618h147b6ba1jf75998acdd822f50@mail.gmail.com> <48150E1F.5040208@gmail.com> Message-ID: <71166b3b0804271644y2ba92882uddb7e2a070a2f6d2@mail.gmail.com> On Sun, Apr 27, 2008 at 8:37 PM, Phillip Gawlowski wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Luis Lavena wrote: > | On Sun, Apr 27, 2008 at 6:51 PM, Phillip Gawlowski > | wrote: > |> Since I have no clue if this arrived on the ruby installer list: > |> > | > | Nop, it didn't got into the list, you need to be subscribed to allow > mails :-P > > Actually, I am. I didn't get a bounce, no nothing. Strange. I'll > investigate (and add all the possible GMail addresses I have, if need be > > :P). > Yeah, mailman sometimes does weird things :-P > | Anyway, see my comments inline. > | > | I prefer TDM release, since a downloadable file that could be extracted: > | > | http://www.tdragon.net/recentgcc/ > | > | The one that Giovanni maintains contains all bundled into a nice > | setup, which is good if you plan to install it on end-user computer, > | but prove no advantage for us. > > What ever floats your boat, really. I just picked that one, since it was > the least hassle to install for me, when I needed to grab a GCC. > Yes, as end user is more easy to install it, but if you take a look at what we do with the recipes, you will see we are actually downloading GCC and MSYS to actually create a development environment, and not forcing the developer already have one installed ;-) > > | > | Yes, have played with it several times, you can see it in my older > | pastie, using noven.net release instead of TDM at that time (July > | 2007). > | > | http://pastie.caboo.se/95210 > > Hm, interesting.. > > The speed increase GCC3 vs GCC4 seems most notable in lower end > machines, like mine. > Agree there too, running on the Core 2 Duo no ruby implemenation took real advantage of the CPU power it have available: it never used more than 45% :-P > > |> Okay, for comparison (using Luis' 'benchmark'): > |> > |> mswin32: 30.334 sec | speedup: 1 > |> gcc4: 18.557 sec | speedup: 1.63 > |> gcc3: 19.528 sec | speedup: 1.55 > |> > | > | Nice numbers, the benchmark just use an average test instead of more > | of the specialized benchmarks out there, The nice thing is all the > | implementations support the script out of the box. > > Yep, it is a good baseline, but not a 'real' benchmark, unfortunately. > But good enough to see trends, anyway. > Well, actually is more than a real benchmark. As example, the YARV bench only prove and excersice especific parts of the Ruby VM that has been optimized, but is not a real life test like PetStore is done for testing Rails performance. On average, I complete testing of a Rails application from 80 seconds (580 sepcs) down to 48 seconds running with MinGW build of Ruby. > | Now that Installer3 is mirrored in the svn repository[1] you can grab > | them and provide patches for use of GCC4 instead of GCC3, you're > | welcome! :-D > > Well, if I can do that, I will. But no guarantees (My GCC Fu is very, > very weak). ;) > You don't need a lot of GCC fu, just replace the locations for the GCC packages, check they download, extract and can successfuly 'configure' and compile Ruby :-) > However, when I built Ruby with GCC4, I had no problems to build it, > actually. I think that hinges more on the makefiles than the C source. > Did you use configure to generate the makefile? if so that means you need MSYS installed too, don't remember if Giovanni installed provides it. > > | Thank you for your time and effort on testing all this! > > No problem, really. > > > | PS: CC'ed this mail for the list to know about this! > > Thanks. > > > | [1] http://rubyinstaller.rubyforge.org/svn/trunk/installer3/ > > > - -- > Phillip Gawlowski > Twitter: twitter.com/cynicalryan > > Use recursive procedures for recursively-defined data structures. > ~ - The Elements of Programming Style (Kernighan & Plaugher) > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.8 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkgVDh0ACgkQbtAgaoJTgL928ACfcBlaRrX/edneJpttroysYHMh > ttsAnikkUq2jFwX9YUvh/Z2gh4eiVZMP > =IYIS > -----END PGP SIGNATURE----- > -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams From cmdjackryan at googlemail.com Sun Apr 27 19:56:47 2008 From: cmdjackryan at googlemail.com (Phillip Gawlowski) Date: Mon, 28 Apr 2008 01:56:47 +0200 Subject: [Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)] In-Reply-To: <71166b3b0804271644y2ba92882uddb7e2a070a2f6d2@mail.gmail.com> References: <4814F564.10003@gmail.com> <71166b3b0804271618h147b6ba1jf75998acdd822f50@mail.gmail.com> <48150E1F.5040208@gmail.com> <71166b3b0804271644y2ba92882uddb7e2a070a2f6d2@mail.gmail.com> Message-ID: <481512BF.5010008@gmail.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Luis Lavena wrote: | | Yeah, mailman sometimes does weird things :-P Don't get me started. :P | | Yes, as end user is more easy to install it, but if you take a look at | what we do with the recipes, you will see we are actually downloading | GCC and MSYS to actually create a development environment, and not | forcing the developer already have one installed ;-) Well, yeah. But it'd be nice if you'd have checked if I had MSYS/MinGW installed, like I do. :P | Agree there too, running on the Core 2 Duo no ruby implemenation took | real advantage of the CPU power it have available: it never used more | than 45% :-P No surprise there. MRI isn't multi-threaded, so of course it only uses one CPU :P | Well, actually is more than a real benchmark. As example, the YARV | bench only prove and excersice especific parts of the Ruby VM that has | been optimized, but is not a real life test like PetStore is done for | testing Rails performance. Yes and no. It it is a bit of number crunching, but doesn't test things like IO, compression, Arrays, etc. I'm not talking about benchmarks showing off features. ;) | You don't need a lot of GCC fu, just replace the locations for the GCC | packages, check they download, extract and can successfuly 'configure' | and compile Ruby :-) Well, that is easy (Search and replace FTW :P). But if something stumps because GCC decides to roll over and die, I'm of no help. ;) | Did you use configure to generate the makefile? if so that means you | need MSYS installed too, don't remember if Giovanni installed provides | it. I have a full MSYS environment with GCC4, so of course I used configure. :P P.S.: Sent to Rubyinstaller ML, too, in hope of a working subscription now... - -- Phillip Gawlowski Twitter: twitter.com/cynicalryan ~ - You know you've been hacking too long when... ...a fly lands on the screen and you try to pick it up with the mouse and put it in the onscreen trashcan! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkgVEr4ACgkQbtAgaoJTgL/ABQCfWxP4elzegkVvmhnnClzVtH7h zrYAoIC8W7qpkcVDMJU98aADCEwJLe/Y =OYUE -----END PGP SIGNATURE----- From luislavena at gmail.com Sun Apr 27 20:38:06 2008 From: luislavena at gmail.com (Luis Lavena) Date: Sun, 27 Apr 2008 21:38:06 -0300 Subject: [Rubyinstaller-devel] [Fwd: GCC 4.x on Windows (now with more statistics!)] In-Reply-To: <481512BF.5010008@gmail.com> References: <4814F564.10003@gmail.com> <71166b3b0804271618h147b6ba1jf75998acdd822f50@mail.gmail.com> <48150E1F.5040208@gmail.com> <71166b3b0804271644y2ba92882uddb7e2a070a2f6d2@mail.gmail.com> <481512BF.5010008@gmail.com> Message-ID: <71166b3b0804271738v6ec75f54t407989edf9147c55@mail.gmail.com> On Sun, Apr 27, 2008 at 8:56 PM, Phillip Gawlowski wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Luis Lavena wrote: > | > | Yeah, mailman sometimes does weird things :-P > > Don't get me started. :P > > > | > | Yes, as end user is more easy to install it, but if you take a look at > | what we do with the recipes, you will see we are actually downloading > | GCC and MSYS to actually create a development environment, and not > | forcing the developer already have one installed ;-) > > Well, yeah. But it'd be nice if you'd have checked if I had MSYS/MinGW > installed, like I do. :P > Oh sorry, you have GCC installed? ;-) Well, the idea was bootstrap ruby with the less tools installed possible. That's why the recipes even have a pure ruby-unzip that download bsdtar :-D > > | Well, actually is more than a real benchmark. As example, the YARV > | bench only prove and excersice especific parts of the Ruby VM that has > | been optimized, but is not a real life test like PetStore is done for > | testing Rails performance. > > Yes and no. It it is a bit of number crunching, but doesn't test things > like IO, compression, Arrays, etc. I'm not talking about benchmarks > showing off features. ;) > Is hard to compare IO processing against different platform and filesystems. I found that jRuby couldn't get this script "compiled" due the multi return point... funny. > > | You don't need a lot of GCC fu, just replace the locations for the GCC > | packages, check they download, extract and can successfuly 'configure' > | and compile Ruby :-) > > Well, that is easy (Search and replace FTW :P). But if something stumps > because GCC decides to roll over and die, I'm of no help. ;) > Don't worry, we are two :-D > | Did you use configure to generate the makefile? if so that means you > | need MSYS installed too, don't remember if Giovanni installed provides > | it. > > I have a full MSYS environment with GCC4, so of course I used configure. :P > Just asked, since that mean is another pre-requisite to get you started with MinGW. The original idea was have a exerb "rake.exe" that let you get Ruby build from scratch. but anyway, the sandbox and the recipes are for developers wanting to contribute back to One-Click project, and not creating the nightmare like Gentoo did for packages :-P > P.S.: Sent to Rubyinstaller ML, too, in hope of a working subscription > now... > Yep, it seems is now in the list, great! :-) Regards and good nights! -- Luis Lavena Multimedia systems - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams