Chauk-Mean P
2008-Dec-18 15:01 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Hi all, I''m trying to build completely Ruby and wxRuby from scratch with Visual C++ 2008 Express SP1 (which is freely available) on Windows XP SP2. So here is where I am : - I built successfully zlib 1.1.4 (zlib-1.1.4-1-src.zip from http://jarp.does.notwork.org/win32) - I built successfully ruby-1.8.7-p72 - I installed successfully rubygems-1.3.1 - I installed successfully the rake-0.8.3 gem - I built successfully wxWidgets 2.8.9 with all the required options (GL canvas and GDI+ ...) - I installed winswig-1.3.35 with the little patch for Lib/ruby/file.i for ruby-1.9.1 Now when I want to build wxRuby : D:\HOME\wxruby2>rake --trace gem WXRUBY_VERSION=1.9.9 (in D:/HOME/wxruby2) Enabling STATIC build Enabling UNICODE build ** Invoke gem (first_time) ** Invoke default (first_time) ** Invoke lib/wxruby2.so (first_time) ** Invoke obj/AboutDialogInfo.obj (first_time) ** Invoke src/AboutDialogInfo.cpp (first_time) ** Invoke swig/classes/AboutDialogInfo.i (first_time, not_needed) ** Invoke D:/HOME/wxruby2/swig/common.i (first_time, not_needed) ** Invoke D:/HOME/wxruby2/swig/classes/include/wxAboutDialogInfo.h (first_time, not_needed) ** Execute src/AboutDialogInfo.cpp swig -ID:\opt\wxWidgets-2.8.9/include -D__WXMSW__ -ID:\opt\wxWidgets-2.8.9/lib/v c_lib/mswu -D_UNICODE -DUNICODE -Iswig/custom -w401 -w801 -w515 -c++ -ruby -o sr c/AboutDialogInfo.cpp swig/classes/AboutDialogInfo.i ruby swig/renamer.rb src/AboutDialogInfo.cpp ruby swig/fixplatform.rb src/AboutDialogInfo.cpp ruby swig/fixmodule.rb src/AboutDialogInfo.cpp Class: AboutDialogInfo class wxAboutDialogInfo ** Execute obj/AboutDialogInfo.obj cl.exe -c -ID:\opt\wxWidgets-2.8.9/include -D__WXMSW__ -ID:\opt\wxWidgets-2.8.9 /lib/vc_lib/mswu -D_UNICODE -DUNICODE -MD -O2b2xty- -DNDEBUG /GR /EHsc -DSTR ICT -DWIN32 -D__WIN32__ -DWINVER=0x0400 -D_WINDOWS /D__WINDOWS__ /D__WIN95__ -I . -I C:/ruby18/lib/ruby/1.8/i386-mswin32_90 /Foobj/AboutDialogInfo.obj src/About DialogInfo.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. AboutDialogInfo.cpp ** Invoke obj/AcceleratorEntry.obj (first_time) ** Invoke src/AcceleratorEntry.cpp (first_time) ** Invoke swig/classes/AcceleratorEntry.i (first_time, not_needed) ** Invoke D:/HOME/wxruby2/swig/common.i (not_needed) ** Invoke D:/HOME/wxruby2/swig/classes/include/wxAcceleratorEntry.h (first_time, not_needed) ** Execute src/AcceleratorEntry.cpp swig -ID:\opt\wxWidgets-2.8.9/include -D__WXMSW__ -ID:\opt\wxWidgets-2.8.9/lib/v c_lib/mswu -D_UNICODE -DUNICODE -Iswig/custom -w401 -w801 -w515 -c++ -ruby -o sr c/AcceleratorEntry.cpp swig/classes/AcceleratorEntry.i ruby swig/renamer.rb src/AcceleratorEntry.cpp ruby swig/fixplatform.rb src/AcceleratorEntry.cpp ruby swig/fixmodule.rb src/AcceleratorEntry.cpp Class: AcceleratorEntry class wxAcceleratorEntry ** Execute obj/AcceleratorEntry.obj cl.exe -c -ID:\opt\wxWidgets-2.8.9/include -D__WXMSW__ -ID:\opt\wxWidgets-2.8.9 /lib/vc_lib/mswu -D_UNICODE -DUNICODE -MD -O2b2xty- -DNDEBUG /GR /EHsc -DSTR ICT -DWIN32 -D__WIN32__ -DWINVER=0x0400 -D_WINDOWS /D__WINDOWS__ /D__WIN95__ -I . -I C:/ruby18/lib/ruby/1.8/i386-mswin32_90 /Foobj/AcceleratorEntry.obj src/Acce leratorEntry.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. AcceleratorEntry.cpp C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(320) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(320) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(320) : error C20 59: syntax error : '','' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(330) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(330) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(330) : error C20 59: syntax error : '','' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(348) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(348) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(348) : error C20 59: syntax error : ''const'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(364) : error C20 59: syntax error : ''const'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(365) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(366) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(367) : error C20 59: syntax error : ''const'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(368) : error C20 65: ''_Callable'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(369) : error C20 65: ''_MyBind'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(370) : error C21 43: syntax error : missing '';'' before ''}'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(238) : error C29 06: ''std::tr1::_Binder<false,1>'' : explicit specialization requires ''template <> '' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(255) : error C29 47: expecting ''>'' to terminate template-argument-list, found ''>'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(257) : error C20 65: ''_Callable'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(258) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(260) : error C20 65: ''_Self'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(260) : error C22 75: ''std::tr1::_Arg0'' : illegal use of this type as an expression C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(255) : s ee declaration of ''std::tr1::_Arg0'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(364) : error C38 61: ''_Rx'': identifier not found C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(260) : error C21 43: syntax error : missing '','' before '';'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(265) : error C29 47: expecting ''>'' to terminate template-argument-list, found ''>'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(265) : error C29 77: ''std::tr1::_Callable_fun'' : too many template arguments C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xrefwrap(215) : see declaration of ''std::tr1::_Callable_fun'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(267) : error C22 36: unexpected ''struct'' ''std::tr1::_Return''. Did you forget a '';''? C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(267) : error C21 43: syntax error : missing ''>'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(267) : error C21 43: syntax error : missing ''>'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(267) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(267) : error C24 47: ''{'' : missing function header (old-style formal list?) C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(274) : error C26 53: ''_Callable'' : is not a class or namespace name C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(274) : error C21 46: syntax error : missing '','' before identifier ''_Val'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(274) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(275) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(275) : error C20 65: ''_Ax0'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(275) : error C20 65: ''_Callable'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(275) : error C20 65: ''_Val'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(276) : error C25 50: ''std::tr1::_Bind1'' : constructor initializer lists are only allowed on const ructor definitions C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(277) : warning C 4508: ''std::tr1::_Bind1'' : function should return a value; ''void'' return type as sumed C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(284) : error C22 70: ''_ApplyX'' : modifiers not allowed on nonmember functions C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(291) : error C29 95: ''_Ret std::tr1::_ApplyX(_Barg0 &,_Barg1 &,_Barg2 &,_Barg3 &,_Barg4 &,_Barg5 &,_Barg6 &,_Barg7 &,_Barg8 &,_Barg9 &)'' : function template has already been def ined C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(281) : s ee declaration of ''std::tr1::_ApplyX'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(293) : error C20 79: ''_Vx0'' uses undefined class ''std::tr1::_Arg0'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(298) : error C21 43: syntax error : missing '';'' before ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(298) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(303) : error C21 43: syntax error : missing '';'' before ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(303) : error C20 59: syntax error : ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(304) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(304) : error C24 47: ''{'' : missing function header (old-style formal list?) C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(309) : error C20 65: ''_Bind'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(309) : error C20 65: ''_Notforced'' : undeclared identifier C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(309) : error C21 43: syntax error : missing '';'' before '','' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(309) : error C29 76: ''std::_Result_of1'' : too few template arguments C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(303) : s ee declaration of ''std::_Result_of1'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(309) : error C20 59: syntax error : '','' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(310) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(310) : error C24 47: ''{'' : missing function header (old-style formal list?) C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(320) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : error C21 43: syntax error : missing '';'' before ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : error C20 59: syntax error : ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(330) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(331) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(331) : error C24 47: ''{'' : missing function header (old-style formal list?) C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(348) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(346) : error C21 43: syntax error : missing '';'' before ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(346) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(346) : error C20 86: ''int std::_Bind'' : redefinition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : s ee declaration of ''std::_Bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(346) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(346) : error C20 59: syntax error : ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(365) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(366) : error C21 43: syntax error : missing '';'' before ''{'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(366) : error C24 47: ''{'' : missing function header (old-style formal list?) C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(379) : warning C 4003: not enough actual parameters for macro ''bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(377) : error C21 43: syntax error : missing '';'' before ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(377) : error C44 30: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(377) : error C20 86: ''int std::_Bind'' : redefinition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(318) : s ee declaration of ''std::_Bind'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(377) : error C29 88: unrecognizable template declaration/definition C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(377) : error C20 59: syntax error : ''<'' C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(378) : error C26 53: ''_Farg0'' : is not a class or namespace name C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(378) : error C26 45: no qualified name for pointer to member (found '':: *'') C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xxbind1(378) : fatal err or C1903: unable to recover from previous error(s); stopping compilation rake aborted! Command failed with status (2): [cl.exe -c -ID:\opt\wxWidgets-2.8.9/includ...] C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:971:in `sh'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:984:in `call'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:984:in `sh'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1072:in `sh'' ./rake/rakewx.rb:154 C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:615:in `call'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:615:in `execute'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `each'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `execute'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:578:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/1.8/monitor.rb:242:in `synchronize'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/1.8/monitor.rb:242:in `synchronize'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/1.8/monitor.rb:242:in `synchronize'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequis ites'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/1.8/monitor.rb:242:in `synchronize'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call _chain'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:564:in `invoke'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2019:in `invoke_task'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `each'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_except ion_handling'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1991:in `top_level'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1970:in `run'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_except ion_handling'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1967:in `run'' C:/ruby18/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:31 C:/ruby18/bin/rake:19:in `load'' C:/ruby18/bin/rake:19 D:\HOME\wxruby2> As you can see, AboutDialogInfo.obj has been built successfully. But there is an error with AcceleratorEntry. Questions : - Which versions of Visual C++ are currently supported if I rebuild everything from scratch like what I did ? - Can the error above be fixed ? Thanks in advance. Chauk-Mean.
Alex Fenton
2008-Dec-19 00:56 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Hi Chauk-Mean Chauk-Mean P wrote:> I''m trying to build completely Ruby and wxRuby from scratch with > Visual C++ 2008 Express SP1 (which is freely available) on Windows XP > SP2. >Thanks for trying this and reporting back. I haven''t ever tried building with VC++ 2008. My understanding was that not all Ruby standard libraries could be built with VC++ versions > 6.0 or 7.1.> So here is where I am : > - I built successfully zlib 1.1.4 (zlib-1.1.4-1-src.zip from > http://jarp.does.notwork.org/win32) > - I built successfully ruby-1.8.7-p72 > - I installed successfully rubygems-1.3.1 > - I installed successfully the rake-0.8.3 gem > - I built successfully wxWidgets 2.8.9 with all the required options > (GL canvas and GDI+ ...) > - I installed winswig-1.3.35 with the little patch for Lib/ruby/file.i > for ruby-1.9.1 > > Now when I want to build wxRuby : >...> As you can see, AboutDialogInfo.obj has been built successfully. > But there is an error with AcceleratorEntry. > > Questions : > - Which versions of Visual C++ are currently supported if I rebuild > everything from scratch like what I did ? >I''m currently using VC 7.1 to provide the mswin binary gems (building wxWidgets, and then wxRuby against the one-click installer). VC 6.0 is not supported by wxWidgets 2.8, and using VC 8.0 + creates big headaches with the one-click installer (it requires shipping dlls and manifests; we tried this with 1.9.6 or .7 and ended up trashing people''s ruby installations. oops). So for wxRuby the only officially supported VC++ is 7.1. This can''t be downloaded from Microsoft but is not too hard to find...> - Can the error above be fixed ?Probably, but I personally have no plans to work adding support for different MSVC versions. The one-click installer is being rebuilt using MingW, which is freely available and produces binaries that are as fast or faster than those compiled with recent MSVC [1]. The downsides are that the compiler itself is considerably slower and the binaries are bigger. We''ll continue to supply binary gems for wxRuby for Windows (including for ruby 1.9, shortly), but in the longer term I can foresee MSVC getting phased out. Personally I prefer working with the Unix-ish toolset on all three platforms, and I don''t have the sense that there are lots of people out there working from source on MSVC (unlike eg Linux) to help develop that platform. If you want to try out Ruby 1.9 + wxRuby on Windows now, I''d recommend using MingW - get it via Luis Lavena''s easy installer + the patched GDI header files. I''ve got a complete working set up with this route, and happy to help track down any problems you run into. cheers alex [1] http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/2978d6ff3a087d60
Chauk-Mean P
2008-Dec-20 00:19 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Hi Alex, 2008/12/19 Alex Fenton <alex at pressure.to>:> If you want to try out Ruby 1.9 + wxRuby on Windows now, I''d recommend using > MingW - get it via Luis Lavena''s easy installer + the patched GDI header > files. I''ve got a complete working set up with this route, and happy to help > track down any problems you run into.I followed your advice and took successfully the MinGW way ... I installed MinGW and MSYS myself. Then I built ruby-1.8.7-p72, wxWidgets with patches for GDI+, wxRuby (the current svn), and finally I obtained the gem. I tested some samples to check the gem, and the samples work ! Then I built ruby-1.9.1-preview2 with the same options as for ruby-1.8.7-p72. I just add the --program-suffix=19 option. Unfortunately, I haven''t been able to build wxRuby for ruby-1.9. After a cleanup of wxRuby (rake19 clean, rake19 clean_src), the rake gem task produces the following output : D:\HOME\wxruby2>rake19 gem WXRUBY_VERSION=1.9.9 (in D:/HOME/wxruby2) Enabling UNICODE build Class: AboutDialogInfo class wxAboutDialogInfo In file included from C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:24, from C:/opt/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../incl ude/direct.h:22, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/win32.h:48, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/defines.h:192, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/ruby.h:70, from C:/opt/ruby19/include/ruby19-1.9.1/ruby.h:32, from src/AboutDialogInfo.cpp:826: C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:74: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:75: error: variable or field `rb_enc_set_index'' declared void C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:75: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:75: error: expected primary-e xpression before "int" C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:75: error: initializer expres sion list treated as compound expression C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:77: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:78: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:79: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:80: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:80: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:80: error: initializer expres sion list treated as compound expression C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:81: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:81: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:81: error: initializer expres sion list treated as compound expression C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:82: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:83: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:84: error: variable or field `rb_enc_copy'' declared void C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:84: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:84: error: `VALUE'' was not de clared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:84: error: initializer expres sion list treated as compound expression C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:86: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:87: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:88: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:89: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:92: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:93: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:95: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:96: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:97: error: `VALUE'' does not n ame a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:161: error: `ID'' does not nam e a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:162: error: `ID'' does not nam e a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:164: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:166: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:168: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:179: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:180: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:181: error: variable or field `rb_enc_set_default_external'' declared void C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:181: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:182: error: variable or field `rb_enc_set_default_internal'' declared void C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:182: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:183: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:186: error: `RUBY_EXTERN'' doe s not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:218: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:221: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:221: error: `VALUE'' was not d eclared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:221: error: `ecopts'' was not declared in this scope C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:221: error: initializer expre ssion list treated as compound expression C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:224: error: `VALUE'' has not b een declared C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:239: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:258: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:259: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:260: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:261: error: `VALUE'' does not name a type In file included from C:/opt/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../incl ude/direct.h:22, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/win32.h:48, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/defines.h:192, from C:/opt/ruby19/include/ruby19-1.9.1/ruby/ruby.h:70, from C:/opt/ruby19/include/ruby19-1.9.1/ruby.h:32, from src/AboutDialogInfo.cpp:826: C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:36: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:49: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:61: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:71: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:73: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:76: error: `VALUE'' does not name a type C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:160: error: `VALUE'' does not name a type src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetName(int, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:1893: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:1893: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetVersion(i nt, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:1966: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:1966: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetDescripti on(int, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:2039: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:2039: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetCopyright (int, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:2112: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:2112: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetLicence(i nt, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:2210: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:2210: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetWebSiteUR L(int, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:2370: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:2370: warning: unused variable ''rb_enc_str_new'' src/AboutDialogInfo.cpp: In function `VALUE _wrap_wxAboutDialogInfo_GetWebSiteDe scription(int, VALUE*, VALUE)'': src/AboutDialogInfo.cpp:2394: error: `rb_enc_str_new'' was not declared in this s cope src/AboutDialogInfo.cpp:2394: warning: unused variable ''rb_enc_str_new'' rake aborted! Command failed with status (1): [g++ -c -ID:/HOME/wxWidgets-2.8.9/include ...] (See full trace by running task with --trace) Cheers. Chauk-Mean.
Alex Fenton
2008-Dec-23 19:32 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Hi Chauk-Mean> I followed your advice and took successfully the MinGW way ... >Thanks for your patience. I''m on holiday at the moment and won''t have access to a Windows dev environment until January so can''t try it out myself. Below is a patch which I hope will fix this; please try at your convenience.> Then I built ruby-1.9.1-preview >What does ruby19 -v tell you? Just to confirm that I''m using the same preview on OS X: Abaddon:~ alex$ ~/bleed/bin/ruby -v ruby 1.9.1 (2008-12-01 revision 20438) [i386-darwin9.5.0]> After a cleanup of wxRuby (rake19 clean, rake19 clean_src), the rake > gem task produces the following output : > > D:\HOME\wxruby2>rake19 gem WXRUBY_VERSION=1.9.9 > (in D:/HOME/wxruby2) > Enabling UNICODE build > Class: AboutDialogInfo > class wxAboutDialogInfo > In file included from C:/opt/ruby19/include/ruby19-1.9.1/ruby/io.h:24, > from C:/opt/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../incl > ude/direct.h:22, > from C:/opt/ruby19/include/ruby19-1.9.1/ruby/win32.h:48, > from C:/opt/ruby19/include/ruby19-1.9.1/ruby/defines.h:192, > from C:/opt/ruby19/include/ruby19-1.9.1/ruby/ruby.h:70, > from C:/opt/ruby19/include/ruby19-1.9.1/ruby.h:32, > from src/AboutDialogInfo.cpp:826: > C:/opt/ruby19/include/ruby19-1.9.1/ruby/encoding.h:74: error: `VALUE'' was not de > clared in this scopeI think the wrong header file is getting included - ruby''s <ruby/io.h> instead of MingW''s <io.h>. Looking at it, I believe this arises from a naive attempt on my part to fix compatibility against an early preview of 1.9.0. The SWIG patch (which has now been accepted) is the correct way to fix this. Please can you try applying the attached patch to our rake/rakeconfigure.rb. Alternatively, if it''s easier to edit direct, just delete line 44, which reads File.join(Config::CONFIG["rubyhdrdir"], "ruby") ] And replace the comma on the preceding line with a "]" to close the array. Let me know how it goes. It seems to have no effect (as expected) on OS X. If it doesn''t work out, please run rake with -v so we can see the gcc command line issued by rake. thanks alex -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: rakeconfigure_for_mingw19.patch URL: <http://rubyforge.org/pipermail/wxruby-development/attachments/20081223/ef0c7bf0/attachment.pl>
Chauk-Mean P
2008-Dec-23 23:17 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Hi Alex, 2008/12/23 Alex Fenton <alex at pressure.to>:> What does ruby19 -v tell you? Just to confirm that I''m using the same > preview on OS X: > > Abaddon:~ alex$ ~/bleed/bin/ruby -v > ruby 1.9.1 (2008-12-01 revision 20438) [i386-darwin9.5.0]Yes, this is the same version.> I think the wrong header file is getting included - ruby''s <ruby/io.h> > instead of MingW''s <io.h>. Looking at it, I believe this arises from a naive > attempt on my part to fix compatibility against an early preview of 1.9.0. > The SWIG patch (which has now been accepted) is the correct way to fix this.> Please can you try applying the attached patch to our rake/rakeconfigure.rb.> Let me know how it goes. It seems to have no effect (as expected) on OS X.The patch works great. I can now play with wxRuby with ruby-1.9.1. Merry Christmas. Cheers. Chauk-Mean.
Alex Fenton
2008-Dec-24 13:41 UTC
[wxruby-development] Building wxRuby and Ruby 1.8.7 on Windows
Chauk-Mean P wrote:>> Let me know how it goes. It seems to have no effect (as expected) on OS X. >> > > The patch works great. I can now play with wxRuby with ruby-1.9.1.Thanks. Excellent. Committed to SVN. Very happy christmas to all. alex