Ruby 1.8.6 One-Click Installer for Windows with Oniguruma-Patch compiled in

496 views
Skip to first unread message

Zeno R.R. Davatz

unread,
Jan 6, 2011, 9:58:15 AM1/6/11
to RubyInstaller
I am looking for a Ruby One-Click Installer with the Oniguruma-Patch
compiled in, for Windows. I believe there are many people out there
that want Ruby 1.8.6 but also want to use regular expressions because
they do not want to upgrade their applications as fast.

This is the Patch that needs to go into Ruby:

http://dev.ywesee.com/uploads/$PageName//oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-san.tar.gz

What we do on Linux is compile Ruby with that Patch, as we need Ruby
1.8.6 and the Oniguruma Patch. Oniguruma takes care of regular
expressions. I know Ruby 1.9 has it all. But I believe there are
actually many people who want Ruby 1.8.6 with regular expressions
enabled.

Now it would be great if there would be a one-click installer for that
so that the user does not have to Patch Ruby 1.8.6 in Windows himself.

As Luis Lavena recommends this is the place to go for the Ruby-One-
Click Installer
for Windows. So how about providing a separate package of Ruby1.8.6
with the Oniguruma Patch compiled in (Oniguruma does Regex-Expressions
in Ruby 1.8.6).

I would be willing to pay for it in USD or EUR or any other
currency. Are you interested or do you know somebody who could do
that?

I am also interested in providing the work to anybody who needs it.

Thank you for your Feedback.

Best
Zeno

Jon

unread,
Jan 6, 2011, 10:16:59 AM1/6/11
to rubyin...@googlegroups.com
> I am looking for a Ruby One-Click Installer with the Oniguruma-Patch
> compiled in, for Windows. I believe there are many people out there
> that want Ruby 1.8.6 but also want to use regular expressions because
> they do not want to upgrade their applications as fast.
>
> This is the Patch that needs to go into Ruby:
>
> http://dev.ywesee.com/uploads/$PageName//oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-san.tar.gz
>
> What we do on Linux is compile Ruby with that Patch, as we need Ruby
> 1.8.6 and the Oniguruma Patch. Oniguruma takes care of regular
> expressions. I know Ruby 1.9 has it all. But I believe there are
> actually many people who want Ruby 1.8.6 with regular expressions
> enabled.

Hi Zeno,

I'd like to better understand what you are requesting.

1) Are you asking for a custom RubyInstaller .exe (not .7z archive) in which the only difference from the 1.8.6 version we currently provide is the Onigurma patch applied?

2) Are you asking that this project continue to support (1) as we do with the other RubyInstallers? Or is this a custom build that you'd maintain and support?

3) Why 1.8.6 rather than 1.8.7? Does the patch apply successfully to 1.8.7 when building from Linux?

4) Have you tried cloning our git://github.com/oneclick/rubyinstaller.git repo, applying the patch, and building a 1.8.6 installer on your system? Any issues?

Jon

---
http://jonforums.github.com/

Gordon Thiesfeld

unread,
Jan 6, 2011, 10:27:59 AM1/6/11
to rubyin...@googlegroups.com

Have you looked at the Oniguruma gem[1]? I'm using it with 1.8.7, and
I could write up the steps needed to install the Oniguruma gem, if
that sounds like a good alternative.

Gordon

[1] http://oniguruma.rubyforge.org/

Zeno R.R. Davatz

unread,
Jan 6, 2011, 10:44:37 AM1/6/11
to RubyInstaller
Hi Jon

Thanks for the reply.

On 6 Jan., 16:16, Jon <jon.for...@gmail.com> wrote:
> > I am looking for a Ruby One-Click Installer with the Oniguruma-Patch
> > compiled in, for Windows. I believe there are many people out there
> > that want Ruby 1.8.6 but also want to use regular expressions because
> > they do not want to upgrade their applications as fast.
>
> > This is the Patch that needs to go into Ruby:
>
> >http://dev.ywesee.com/uploads/$PageName//oniguruma_patch_for_ruby-1.8...
>
> > What we do on Linux is compile Ruby with that Patch, as we need Ruby
> > 1.8.6 and the Oniguruma Patch. Oniguruma takes care of regular
> > expressions. I know Ruby 1.9 has it all. But I believe there are
> > actually many people who want Ruby 1.8.6 with regular expressions
> > enabled.

> I'd like to better understand what you are requesting.
>
> 1) Are you asking for a custom RubyInstaller .exe (not .7z archive) in which the only difference from the 1.8.6 version we currently provide is the Onigurma patch applied?

Yes correct. With the patch I linked above with Ruby Version 1.8.6
patch level 369

> 2) Are you asking that this project continue to support (1) as we do with the other RubyInstallers?  Or is this a custom build that you'd maintain and support?

I would maintain and support. Their would not be a lot of support I
guess, as it should just simplify installing Ruby 1.8.6 with the
Oniguruma Patch applied.

> 3) Why 1.8.6 rather than 1.8.7?  Does the patch apply successfully to 1.8.7 when building from Linux?

No. The patch does not (yet) work with Ruby 1.8.7 on Linux. Not yet
and may never do.

> 4) Have you tried cloning our git://github.com/oneclick/rubyinstaller.git repo, applying the patch, and building a 1.8.6 installer on your system?  Any issues?

No have not done that yet. I am looking into the README now. We
successfully applied the patch today on Cygwin. But what I want is a
clean Ruby-1.8.6-Oniguruma.exe Installer. One click and Ruby 1.8.6
with the Patch should be installed.

Let me know if you have any further questions.

Best
Zeno

PS: I know that Ruby 1.9 Regexp have less functions then Oniguruma
with Ruy 1.8.6 so this may find many Windows users happy. See this
discussion:
http://fossplanet.com/f14/%5Bruby-core-28235%5D-%5Bfeature-2759%5D-regexp-g-g-options-33265/

Zeno R.R. Davatz

unread,
Jan 6, 2011, 10:46:47 AM1/6/11
to RubyInstaller
Dear Gordon

Thank you for your reply.

> Have you looked at the Oniguruma gem[1]?  I'm using it with 1.8.7, and
> I could write up the steps needed to install the Oniguruma gem, if
> that sounds like a good alternative.

Yes, we have. But that does not work for us as we need Ruby 1.8.6 with
the Oniguruma Patch Version 2 as linked above, which is slightly
different then the Oniguruma Patch Version 5.x.

Best
Zeno

Jon

unread,
Jan 6, 2011, 10:58:36 AM1/6/11
to rubyin...@googlegroups.com
> > 2) Are you asking that this project continue to support (1) as we do with the other RubyInstallers?  Or is this a custom build that you'd maintain and support?
>
> I would maintain and support. Their would not be a lot of support I
> guess, as it should just simplify installing Ruby 1.8.6 with the
> Oniguruma Patch applied.

Understood and it makes a lot of sense especially for those who still want to use 1.8.6.

The key issue I have is that you'd not use the "RubyInstaller" or "OneClick" names for the custom installer you'd support as this could lead to a lot of confusion in that users might come to this project and want support that we wouldn't be able to provide. I think that would be very frustrating to all involved.

That said, Luis is the project manager of the RubyInstaller and his perspective on the naming issue is the one that's final :)


> > 4) Have you tried cloning our git://github.com/oneclick/rubyinstaller.git repo, applying the patch, and building a 1.8.6 installer on your system?  Any issues?
>
> No have not done that yet. I am looking into the README now. We
> successfully applied the patch today on Cygwin. But what I want is a
> clean Ruby-1.8.6-Oniguruma.exe Installer. One click and Ruby 1.8.6
> with the Patch should be installed.

I think you'll find that we've structured the build recipes in such a way that they're fairly easy to use and customize. They should provide the quickest way to build your custom installer. Hopefully :)

After you've tried the recipes and see how they work for you, let us know if you have any problems or further questions.


Jon

---
http://jonforums.github.com/

Zeno R.R. Davatz

unread,
Jan 6, 2011, 11:07:01 AM1/6/11
to RubyInstaller
On 6 Jan., 16:58, Jon <jon.for...@gmail.com> wrote:

> Understood and it makes a lot of sense especially for those who still want to use 1.8.6.

Yes, that is what I think as well.

> The key issue I have is that you'd not use the "RubyInstaller" or "OneClick" names for the custom installer you'd support as this could lead to a lot of confusion in that users might come to this project and want support that we wouldn't be able to provide.  I think that would be very frustrating to all involved.

Not a problem, I could name it
ywesee_Ruby_1.8.6_with_Oniguruma_Patch_2.x.exe and host it on
http://dev.ywesee.com - hot a word of you guys if you do not want
that.

> That said, Luis is the project manager of the RubyInstaller and his perspective on the naming issue is the one that's final :)

Ok. He is informed anyway.

> I think you'll find that we've structured the build recipes in such a way that they're fairly easy to use and customize.  They should provide the quickest way to build your custom installer.  Hopefully :)

I am trying this now. It fails for me without any patch, just running
this in the cloned rubyinstaller dir on Windows Vista according to the
README:

rake ruby18 COMPAT=1

with

** Invoke c:/Users/zdavatz/software/rubyinstaller/
sandbox/.checkpoints/.openssl-prepare (first_time)
** Execute c:/Users/zdavatz/software/rubyinstaller/
sandbox/.checkpoints/.openssl-prepare
git apply --directory sandbox/src-openssl resources/patches/openssl/
0001-Removed-static-for-exported-data.patch
resources/patches/openssl/0001-Removed-static-for-exported-data.patch:
19: trailing whitespace.
type _hide_##name
error: patch failed: sandbox/src-openssl/e_os2.h:264
error: sandbox/src-openssl/e_os2.h: patch does not apply
rake aborted!
Command failed with status (1): [git apply --directory sandbox/src-
openssl ...]
c:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in `sh'
c:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in
`call'
c:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `sh'
c:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `sh'

> After you've tried the recipes and see how they work for you, let us know if you have any problems or further questions.

I will try some more asap.

Thanks so far. Question: In which directory would I have to put the
patch? Can you provide me with a short howto for going about? I am
willing to pay for that as well.

Best
Zeno

Luis Lavena

unread,
Jan 6, 2011, 11:22:50 AM1/6/11
to rubyin...@googlegroups.com
On Thu, Jan 6, 2011 at 1:07 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> I am trying this now. It fails for me without any patch, just running
> this in the cloned rubyinstaller dir on Windows Vista according to the
> README:
>
> rake ruby18 COMPAT=1
>
> with
>
> ** Invoke c:/Users/zdavatz/software/rubyinstaller/
> sandbox/.checkpoints/.openssl-prepare (first_time)
> ** Execute c:/Users/zdavatz/software/rubyinstaller/
> sandbox/.checkpoints/.openssl-prepare
> git apply --directory sandbox/src-openssl resources/patches/openssl/
> 0001-Removed-static-for-exported-data.patch
> resources/patches/openssl/0001-Removed-static-for-exported-data.patch:
> 19: trailing whitespace.
>        type _hide_##name
> error: patch failed: sandbox/src-openssl/e_os2.h:264
> error: sandbox/src-openssl/e_os2.h: patch does not apply
> rake aborted!

Please ensure that autocrlf is set to false in your checkout of
rubyinstaller, patches are very sensitive about line endings and an
incorrect checkout will produce this.


>
> Thanks so far. Question: In which directory would I have to put the
> patch? Can you provide me with a short howto for going about? I am
> willing to pay for that as well.
>

Take a look to how other packages like libffi or openssl contains the
patches, these are basically diffs applied to the extracted source
code that needs to be compatible with "git apply" command.
--
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Jon

unread,
Jan 6, 2011, 11:34:38 AM1/6/11
to rubyin...@googlegroups.com
> > I think you'll find that we've structured the build recipes in such a way that they're fairly easy to use and customize.  They should provide the quickest way to build your custom installer.  Hopefully :)
>
> I am trying this now. It fails for me without any patch, just running
> this in the cloned rubyinstaller dir on Windows Vista according to the
> README:
>
> rake ruby18 COMPAT=1
>
> with
>
> ** Invoke c:/Users/zdavatz/software/rubyinstaller/
> sandbox/.checkpoints/.openssl-prepare (first_time)
> ** Execute c:/Users/zdavatz/software/rubyinstaller/
> sandbox/.checkpoints/.openssl-prepare
> git apply --directory sandbox/src-openssl resources/patches/openssl/
> 0001-Removed-static-for-exported-data.patch
> resources/patches/openssl/0001-Removed-static-for-exported-data.patch:
> 19: trailing whitespace.
> type _hide_##name
> error: patch failed: sandbox/src-openssl/e_os2.h:264
> error: sandbox/src-openssl/e_os2.h: patch does not apply
> rake aborted!

Yikes, looks like you have git on PATH so the easy fix is out. I never use or build 1.8.6 anymore, but let me try it on my machine this afternoon.

BTW, the above will try to build 1.8.6-p398 because of https://github.com/oneclick/rubyinstaller/blob/master/config/ruby_installer.rb#L46 This can be overridden in a few ways, but lets see if I can replicate your failure on my Win7 box.

Don't wait on me to get back with you...try putting a .rb file into <RUBYINSTALLER_DIR>\override and do something similar to the following in which you override the relevant parts of https://github.com/oneclick/rubyinstaller/blob/master/config/ruby_installer.rb#L18-51 and bypass the COMPAT command line flag. Force the 1.8 build recipe to download and use the right 1.8.6 patch level you need.

# file: override\rbreadline_updates.rb
if ENV['RBREADLINE'] then
puts '[INFO] Overriding to use updated rbreadline...'

RubyInstaller::PureReadline.url = 'https://github.com/downloads/luislavena/rb-readline'
RubyInstaller::PureReadline.files = [ 'rb-readline-0.3.0.zip' ]
end


> > After you've tried the recipes and see how they work for you, let us know if you have any problems or further questions.
>
> I will try some more asap.
>
> Thanks so far. Question: In which directory would I have to put the
> patch? Can you provide me with a short howto for going about? I am
> willing to pay for that as well.

We put the actual patches in https://github.com/oneclick/rubyinstaller/tree/master/resources/patches and then have specific build recipes apply the patch.

For example, here's the openssl patch part of the recipe https://github.com/oneclick/rubyinstaller/blob/master/recipes/dependencies/openssl.rake#L34-40

We normally do not patch up the Ruby source, but recently Luis needed to patch 1.9 for a serious issue regarding registry access. He added https://github.com/oneclick/rubyinstaller/blob/master/recipes/interpreter/ruby19.rake#L72-76 to the 1.9 build recipe and you'd likely need to do something similiar to the 1.8 recipe, but I've not looked at the 1.8 recipe at https://github.com/oneclick/rubyinstaller/blob/master/recipes/interpreter/ruby18.rake


Jon

---
http://jonforums.github.com/

Jon

unread,
Jan 6, 2011, 11:37:20 AM1/6/11
to rubyin...@googlegroups.com
> Please ensure that autocrlf is set to false in your checkout of
> rubyinstaller, patches are very sensitive about line endings and an
> incorrect checkout will produce this.

something like:

C:\Users\Jon\Documents\RubyDev>git config --global --list
core.editor=c:/vim/vim73/gvim.exe
core.autocrlf=false
color.ui=auto
user.name=Jon
...

Zeno R.R. Davatz

unread,
Jan 6, 2011, 3:02:41 PM1/6/11
to RubyInstaller
On 6 Jan., 17:34, Jon <jon.for...@gmail.com> wrote:
> > > I think you'll find that we've structured the build recipes in such a way that they're fairly easy to use and customize.  They should provide the quickest way to build your custom installer.  Hopefully :)
>
> > I am trying this now. It fails for me without any patch, just running
> > this in the cloned rubyinstaller dir on Windows Vista according to the
> > README:
>
> > rake ruby18 COMPAT=1
>
> > with
>
> > ** Invoke c:/Users/zdavatz/software/rubyinstaller/
> > sandbox/.checkpoints/.openssl-prepare (first_time)
> > ** Execute c:/Users/zdavatz/software/rubyinstaller/
> > sandbox/.checkpoints/.openssl-prepare
> > git apply --directory sandbox/src-openssl resources/patches/openssl/
> > 0001-Removed-static-for-exported-data.patch
> > resources/patches/openssl/0001-Removed-static-for-exported-data.patch:
> > 19: trailing whitespace.
> >         type _hide_##name
> > error: patch failed: sandbox/src-openssl/e_os2.h:264
> > error: sandbox/src-openssl/e_os2.h: patch does not apply
> > rake aborted!
>
> Yikes, looks like you have git on PATH so the easy fix is out.  I never use or build 1.8.6 anymore, but let me try it on my machine this afternoon.
>
> BTW, the above will try to build 1.8.6-p398 because ofhttps://github.com/oneclick/rubyinstaller/blob/master/config/ruby_ins... This can be overridden in a few ways, but lets see if I can replicate your failure on my Win7 box.
>
> Don't wait on me to get back with you...try putting a .rb file into <RUBYINSTALLER_DIR>\override and do something similar to the following in which you override the relevant parts ofhttps://github.com/oneclick/rubyinstaller/blob/master/config/ruby_ins...and bypass the COMPAT command line flag.  Force the 1.8 build recipe to download and use the right 1.8.6 patch level you need.
>
> # file: override\rbreadline_updates.rb
> if ENV['RBREADLINE'] then
>   puts '[INFO] Overriding to use updated rbreadline...'
>
>   RubyInstaller::PureReadline.url = 'https://github.com/downloads/luislavena/rb-readline'
>   RubyInstaller::PureReadline.files = [ 'rb-readline-0.3.0.zip' ]
> end
>
> > > After you've tried the recipes and see how they work for you, let us know if you have any problems or further questions.
>
> > I will try some more asap.
>
> > Thanks so far. Question: In which directory would I have to put the
> > patch? Can you provide me with a short howto for going about? I am
> > willing to pay for that as well.
>
> We put the actual patches inhttps://github.com/oneclick/rubyinstaller/tree/master/resources/patchesand then have specific build recipes apply the patch.
>
> For example, here's the openssl patch part of the recipehttps://github.com/oneclick/rubyinstaller/blob/master/recipes/depende...
>
> We normally do not patch up the Ruby source, but recently Luis needed to patch 1.9 for a serious issue regarding registry access.  He addedhttps://github.com/oneclick/rubyinstaller/blob/master/recipes/interpr...to the 1.9 build recipe and you'd likely need to do something similiar to the 1.8 recipe, but I've not looked at the 1.8 recipe athttps://github.com/oneclick/rubyinstaller/blob/master/recipes/interpr...

Thanks I am gonna try this. I believe the easier it is to build
patched versions of ruby with Ruby-Installer that you then can install
with one click, the better for everybody. I think this is a really
useful feature for a lot of companies because they can distribute
their patched versions of Ruby like that.

I will look into this further tomorrow.

Thanks again.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 6, 2011, 3:09:39 PM1/6/11
to RubyInstaller
On 6 Jan., 17:22, Luis Lavena <luislav...@gmail.com> wrote:

> Please ensure that autocrlf is set to false in your checkout of
> rubyinstaller, patches are very sensitive about line endings and an
> incorrect checkout will produce this.

Thank you Luis, very helpful as usual!

Little question: Which git package on Windows do you use? I am using
msysgit. I will double-check those settings.

Is there any git package you recommend?

I am more familiar with Linux. ;) - I can also take git out of my path
if that is what you recommend (Jon) and then just use the supplied git-
terminal of msysgit.

Best
Zeno

Jon

unread,
Jan 6, 2011, 3:19:02 PM1/6/11
to rubyin...@googlegroups.com
> Little question: Which git package on Windows do you use? I am using
> msysgit. I will double-check those settings.
>
> Is there any git package you recommend?
>
> I am more familiar with Linux. ;) - I can also take git out of my path
> if that is what you recommend (Jon) and then just use the supplied git-
> terminal of msysgit.

I'm all for keeping git on PATH :) I use the latest msysgit (1.7.3.1) and put C:\git\cmd on PATH and it Just Works using Command Prompt and Console2 shells. My earlier feedback was simply showing you git's autocrlf setting that Luis suggested.


Jon

---
http://jonforums.github.com/

Zeno R.R. Davatz

unread,
Jan 6, 2011, 3:26:06 PM1/6/11
to RubyInstaller
Thanks, msysgit [http://code.google.com/p/msysgit/] asks you what
endings you want when you install it the first time on Windows. I will
double check tomorrow.

Best
Zeno

Luis Lavena

unread,
Jan 6, 2011, 3:28:11 PM1/6/11
to rubyin...@googlegroups.com
On Thu, Jan 6, 2011 at 5:26 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Thanks, msysgit [http://code.google.com/p/msysgit/] asks you what
> endings you want when you install it the first time on Windows. I will
> double check tomorrow.
>

You can select the medium option (which is checkout as is, commit as
LF) or the 3rd option which equals to setting autocrlf to false.

Jon

unread,
Jan 6, 2011, 3:29:37 PM1/6/11
to rubyin...@googlegroups.com

An easy way to set it is to edit your %USERPROFILE%\.gitconfig to include something like:

[core]
editor = c:/vim/vim73/gvim.exe
autocrlf = false
[color]
ui = auto
[push]
default = current

...


Jon

---
http://jonforums.github.com/

Zeno R.R. Davatz

unread,
Jan 7, 2011, 2:44:54 AM1/7/11
to RubyInstaller
Ok, I am documenting my steps here:

http://dev.ywesee.com/wiki.php/Ruby/186OnigurumaWindows

at the moment it is compiling just fine without the Oniguruma Patch.

That will be the next step.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 7, 2011, 3:05:45 AM1/7/11
to RubyInstaller
On 6 Jan., 21:28, Luis Lavena <luislav...@gmail.com> wrote:
> On Thu, Jan 6, 2011 at 5:26 PM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:
>
> > Thanks, msysgit [http://code.google.com/p/msysgit/] asks you what
> > endings you want when you install it the first time on Windows. I will
> > double check tomorrow.
>
> You can select the medium option (which is checkout as is, commit as
> LF) or the 3rd option which equals to setting autocrlf to false.

Ok, I am running

rake ruby18 COMPAT=1 --trace

again and it results in

make[1]: Entering directory `/c/Users/zdavatz/software/rubyinstaller/
sandbox/ruby18_build/ext/socket'
gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/socket -
DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -
Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GET
HOSTNAME -I. -g -O2 -DFD_SETSIZE=256 -c ../../../ruby_1_8/ext/
socket/socket.c
In file included from ../../../ruby_1_8/win32/win32.h:30:0,
from ../../../ruby_1_8/defines.h:183,
from ../../../ruby_1_8/ruby.h:37,
from ../../../ruby_1_8/ext/socket/socket.c:13:
c:\users\zdavatz\software\rubyinstaller\sandbox\devkit\mingw\bin\../
lib/gcc/mingw32/4.5.1/../../../../include/ws2tcpip.h:272:13: error:
two or more data types in declaration
specifiers
make[1]: *** [socket.o] Error 1
make[1]: Leaving directory `/c/Users/zdavatz/software/rubyinstaller/
sandbox/ruby18_build/ext/socket'
make: *** [all] Error 1
rake aborted!
Command failed with status (2): [make...]
C:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995:in `sh'
C:/Ruby187/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in
`call'

any hints?

my git settings are

C:\Users\zdavatz\software\rubyinstaller>git config --global --list
core.editor=c:/vim/vim73/gvim.exe
core.autocrlf=false
color.ui=auto
push.default=current

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 7, 2011, 3:12:45 AM1/7/11
to RubyInstaller
this seems to be related to the error:

http://groups.google.com/group/rubyinstaller/msg/145c7fcf65881036

hints on the next step?

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 6:39:04 AM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 5:12 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> hints on the next step?
>

rd sandbox /s/q

rake devkit DKVER=mingw-32-3.4.5

rake ruby18 COMPAT=1

See my previous comment on this thread: Ruby 1.8.6 is not compatible
with our GCC 4.5.1, you need GCC 3.4.5.

Zeno R.R. Davatz

unread,
Jan 7, 2011, 7:45:24 AM1/7/11
to RubyInstaller
On 7 Jan., 12:39, Luis Lavena <luislav...@gmail.com> wrote:
> On Fri, Jan 7, 2011 at 5:12 AM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:

> > hints on the next step?
>
> rd sandbox /s/q
>
> rake devkit DKVER=mingw-32-3.4.5
>
> rake ruby18 COMPAT=1
>
> See my previous comment on this thread: Ruby 1.8.6 is not compatible
> with our GCC 4.5.1, you need GCC 3.4.5.

Thanks!

I am running

rake ruby18 COMPAT=1

now. Interesting. First I got a permission denied error for my
sandbox. Then I ran the command again:

rake ruby18 COMPAT=1 --trace

then it continued and stopped with another error.

Then I rand it again

rake ruby18 COMPAT=1

an not it is running even longer?

Will keep you posted on the outcome. But this permission denied error
is strange. It disappears when running the comand again with --trace.

I also noticed that the Oniguruma-patch for Windows ist different from
the one for Linux.

Linux: http://dev.ywesee.com/uploads/$PageName//Oniguruma_2.5.9_patch.txt

I guess this patch still has to be ported to windows to work, or can
this be applied? It worked with cygwin.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 7, 2011, 7:59:41 AM1/7/11
to RubyInstaller
On 7 Jan., 12:39, Luis Lavena <luislav...@gmail.com> wrote:
> rd sandbox /s/q
>
> rake devkit DKVER=mingw-32-3.4.5
>
> rake ruby18 COMPAT=1
>
> See my previous comment on this thread: Ruby 1.8.6 is not compatible
> with our GCC 4.5.1, you need GCC 3.4.5.

Ok this ends with:

** Moving out pkgs from rubygems-1.3.7 and drop into sandbox/rubygems
** Moving out Rakefile from rubygems-1.3.7 and drop into sandbox/
rubygems
** Moving out README from rubygems-1.3.7 and drop into sandbox/
rubygems
** Moving out setup.rb from rubygems-1.3.7 and drop into sandbox/
rubygems
** Moving out test from rubygems-1.3.7 and drop into sandbox/rubygems
rake aborted!
Permission denied - sandbox/rubygems/rubygems-1.3.7/test or sandbox/
rubygems/test
C:/Ruby187/lib/ruby/1.8/fileutils.rb:506:in `rename'
C:/Ruby187/lib/ruby/1.8/fileutils.rb:506:in `mv'
C:/Ruby187/lib/ruby/1.8/fileutils.rb:1397:in `fu_each_src_dest'
C:/Ruby187/lib/ruby/1.8/fileutils.rb:1411:in `fu_each_src_dest0'
C:/Ruby187/lib/ruby/1.8/fileutils.rb:1395:in `fu_each_src_dest'
C:/Ruby187/lib/ruby/1.8/fileutils.rb:495:in `mv'

I do not have any special permissions on that directory. I would not
even know how to change them on Windows.

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 8:03:10 AM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 9:59 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Ok this ends with:

>
> Permission denied - sandbox/rubygems/rubygems-1.3.7/test or sandbox/
> rubygems/test

Permission issues happen when you have antivirus software running or a
Windows explorer monitoring that folder (or any open editor or program
that might be locking the tree)

Please see in the group, this was mentioned before.

Zeno R.R. Davatz

unread,
Jan 7, 2011, 8:25:05 AM1/7/11
to RubyInstaller
On 7 Jan., 14:03, Luis Lavena <luislav...@gmail.com> wrote:

> Permission issues happen when you have antivirus software running or a
> Windows explorer monitoring that folder (or any open editor or program
> that might be locking the tree)

Excellent that worked! Thank you very much!

Now to the Oniguruma patch. Can I just wrap a recipe around the Linux-
Oniguruma-Patch or will that not work? As I understand that will not
work as simple as it worked with Cygwin.

This is the Oniguruma Patch for Linux, Version 2.5.9.

http://dev.ywesee.com/uploads/$PageName//Oniguruma_2.5.9_patch.txt

All the files can be found here:
http://dev.ywesee.com/uploads/%24PageName//oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-san.tar.gz

For Linux we normally use these steps to patch:

$ tar zxvf ruby-1.8.6-p369.tar.gz
$ tar zxvf oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-
san.tar.gz
$ cd oniguruma
$ ./configure --with-rubydir=/home/masa/work/ruby-1.8.6-p369
$ make 186
$ cd /home/masa/work/ruby-1.8.6-p369
$ ./configure --prefix=/home/masa/bin/ruby186
$ make
$ make install

Any hints for Windows?

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 7, 2011, 9:24:57 AM1/7/11
to RubyInstaller
On 7 Jan., 14:25, "Zeno R.R. Davatz" <zdav...@gmail.com> wrote:
> On 7 Jan., 14:03, Luis Lavena <luislav...@gmail.com> wrote:
>
> > Permission issues happen when you have antivirus software running or a
> > Windows explorer monitoring that folder (or any open editor or program
> > that might be locking the tree)
>
> Excellent that worked! Thank you very much!
>
> Now to the Oniguruma patch. Can I just wrap a recipe around the Linux-
> Oniguruma-Patch or will that not work? As I understand that will not
> work as simple as it worked with Cygwin.
>
> This is the Oniguruma Patch for Linux, Version 2.5.9.
>
> http://dev.ywesee.com/uploads/$PageName//Oniguruma_2.5.9_patch.txt
>
> All the files can be found here:http://dev.ywesee.com/uploads/%24PageName//oniguruma_patch_for_ruby-1...
>
> For Linux we normally use these steps to patch:
>
> $ tar zxvf ruby-1.8.6-p369.tar.gz
> $ tar zxvf oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-
> san.tar.gz
> $ cd oniguruma
> $ ./configure --with-rubydir=/home/masa/work/ruby-1.8.6-p369
> $ make 186
> $ cd /home/masa/work/ruby-1.8.6-p369
> $ ./configure --prefix=/home/masa/bin/ruby186
> $ make
> $ make install

Ok, from line 72 I added this:

patches = Dir.glob("#{package.patches}/*.patch").sort
patches.each do |patch|
sh "git apply --directory #{package.target} #{patch}"
end

in C:\Users\zdavatz\software\rubyinstaller\recipes\interpreter
\ruby18.rake

now I will run it ;)

Best
Zeno

Jon

unread,
Jan 7, 2011, 9:25:10 AM1/7/11
to rubyin...@googlegroups.com
> > Permission issues happen when you have antivirus software running or a
> > Windows explorer monitoring that folder (or any open editor or program
> > that might be locking the tree)

Also, disable Windows indexing for the build folders as it often causes frustrating random build failures.


> Now to the Oniguruma patch. Can I just wrap a recipe around the Linux-
> Oniguruma-Patch or will that not work? As I understand that will not
> work as simple as it worked with Cygwin.

Try the following first before you spend time building a recipe. If it works, it's your quickest solution I think.

WARNING...I haven't tried this as I don't use 1.8.x, but it's similar enough to how I do regular 1.9 and trunk builds from a local ruby git repo:

* download ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.bz2 and extract it to somewhere, say c:\build\ruby
* apply your patches
* cd to <RUBYINSTALLER_BASE_DIR> and type the following...this _should_ cause the recipes to build from your patched 1.8.6-p369 version in c:\build\ruby rather than trying to download ruby

rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby"

Jon

---
http://jonforums.github.com/

Zeno R.R. Davatz

unread,
Jan 7, 2011, 10:02:23 AM1/7/11
to RubyInstaller
Ok this compiled without a single error! But now I need to confirm it.
This seems very suspicious to me. ;)

Where are the Ruby-Installer exe-files stored? I need to find that out
now.

All I done was put the patch to

C:\Users\zdavatz\software\rubyinstaller\resources\patches

in

oniguruma

as

0001-ruby186-oniguruma.patch

and edited the file

C:\Users\zdavatz\software\rubyinstaller\recipes\interpreter
\ruby18.rake

to include

patches = Dir.glob("#{package.patches}/*.patch").sort
patches.each do |patch|
sh "git apply --directory #{package.target} #{patch}"
end

from line 72.

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 10:27:31 AM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 12:02 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:

Hello,

Don't want to be a jerk, but a patch for a specific patchlevel will
not apply to latest.

At minimum I recommend you read RubyInstaller's README for
instructions, better yet, read the code to understand what is doing.

Also, all this trouble and seems you're very anxious, why not try oniguruma gem?

https://rubygems.org/gems/oniguruma

Gordon already mentioned that before and you ignored and insisted on
the patch-path.

At least provide an answer of "tried that didn't work"...

Zeno R.R. Davatz

unread,
Jan 7, 2011, 10:49:05 AM1/7/11
to RubyInstaller
On 7 Jan., 16:27, Luis Lavena <luislav...@gmail.com> wrote:

> At minimum I recommend you read RubyInstaller's README for
> instructions, better yet, read the code to understand what is doing.

That is why I need help and I am willing to pay for it.

> Also, all this trouble and seems you're very anxious, why not try oniguruma gem?

Because we need Ruby 1.8.6 and the gem does not work for us. We tested
that.

> https://rubygems.org/gems/oniguruma
>
> Gordon already mentioned that before and you ignored and insisted on
> the patch-path.

We need Regexp-lookbehind.

The simple reason is: Our software runs on Linux with Ruby-1.8.6 with
the Oniguruma-Patch. We are not using the gem because it does not work
in Linux for us.

We use the patch on Linux, we need it on Windows because we want to
install the same gem on Windows.

I want some consistency in our Apps, cross-plattform.

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 11:02:46 AM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 12:49 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> Because we need Ruby 1.8.6 and the gem does not work for us. We tested
> that.
>

Can I ask why? Doesn't install, doesn't contain what are you
requiring? Can you be more specific?

>> https://rubygems.org/gems/oniguruma
>>
>> Gordon already mentioned that before and you ignored and insisted on
>> the patch-path.
>
> We need Regexp-lookbehind.
>

I believe that is what the gem provides.

> The simple reason is: Our software runs on Linux with Ruby-1.8.6 with
> the Oniguruma-Patch. We are not using the gem because it does not work
> in Linux for us.
>

Did you install oniguruma library dependency? Asking all this because
if is not clear for you how the patching works, we are going to be in
a thread of 200 messages without any real progress...

> I want some consistency in our Apps, cross-plattform.
>

Consistency can be achieved differently, the patched version of Ruby
seems too brittle from my point of view.

Zeno R.R. Davatz

unread,
Jan 7, 2011, 11:29:29 AM1/7/11
to RubyInstaller
Dear Jon

Thank you for your help.

On 7 Jan., 15:25, Jon <jon.for...@gmail.com> wrote:
> Also, disable Windows indexing for the build folders as it often causes frustrating random build failures.

Done. Thanks for the hint.

> Try the following first before you spend time building a recipe. If it works, it's your quickest solution I think.
> * downloadftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.bz2and extract it to somewhere, say c:\build\ruby

Done.

> * apply your patches

Ok, this is where the problem obviously starts. I can not run

cd oniguruma
./configure --with-rubydir=C:\build\ruby\ruby-1.8.6-p369
make 186

I can not even do the configure on Windows. Sorry, I am a Linux guy.
But I am willing to pay for any professional help for my lack of
Windows experience.

> * cd to <RUBYINSTALLER_BASE_DIR> and type the following...this _should_ cause the recipes to build from your patched 1.8.6-p369 version in c:\build\ruby rather than trying to download ruby
>
> rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby"

Thanks I am gonna try that, hopefully soon.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 7, 2011, 11:35:48 AM1/7/11
to RubyInstaller
On 7 Jan., 17:02, Luis Lavena <luislav...@gmail.com> wrote:
> On Fri, Jan 7, 2011 at 12:49 PM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:

> Can I ask why? Doesn't install, doesn't contain what are you
> requiring? Can you be more specific?

Our Application does not start up with the oniguruma gem. Our code has
lots of legacy, we started in 2003. It is a big application. We are in
process of porting to 1.9 but that will still take some time, trust
me.

> Did you install oniguruma library dependency? Asking all this because
> if is not clear for you how the patching works, we are going to be in
> a thread of 200 messages without any real progress...

No, because the patch works fine on Linux.

> > I want some consistency in our Apps, cross-plattform.
>
> Consistency can be achieved differently, the patched version of Ruby
> seems too brittle from my point of view.

It works perfectly well on Linux and on Cygwin with Windows. We have
millions of users on our App every year. It works perfectly well on
Linux. No brittle there.

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 11:52:50 AM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 1:35 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> On 7 Jan., 17:02, Luis Lavena <luislav...@gmail.com> wrote:
>> On Fri, Jan 7, 2011 at 12:49 PM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:
>
>> Can I ask why? Doesn't install, doesn't contain what are you
>> requiring? Can you be more specific?
>
> Our Application does not start up with the oniguruma gem. Our code has
> lots of legacy, we started in 2003. It is a big application. We are in
> process of porting to 1.9 but that will still take some time, trust
> me.
>

I don't trust myself, asked politely because most of the times the
complicated path can be solved more simpler.

>> Did you install oniguruma library dependency? Asking all this because
>> if is not clear for you how the patching works, we are going to be in
>> a thread of 200 messages without any real progress...
>
> No, because the patch works fine on Linux.
>

I just looked in the massive patch file you provided, and is not clear
how to get that working.

Your request for help is not very convincing for me as is not clear
(sounds convoluted).

If you can provide, in a logical fashion the steps you (or one of your
developers/co-workers) did for this special Ruby compilation, I could
take a look to it.

But, just to clarify:

* You can extract Ruby into any folder (any version of Ruby)
* You can apply the patch yourself to it (however that is done)
* Then you can compile ruby with "rake ruby18
LOCAL=C:\Path\To\Your\Patched\Ruby"

Zeno R.R. Davatz

unread,
Jan 7, 2011, 12:11:49 PM1/7/11
to RubyInstaller
On 7 Jan., 17:52, Luis Lavena <luislav...@gmail.com> wrote:

> I just looked in the massive patch file you provided, and is not clear
> how to get that working.

;) - that is why I am asking for help for windows.

Download these files:

http://dev.ywesee.com/uploads/$PageName//oniguruma_patch_for_ruby-1.8.6_p369.20100615_from_Hannes-san.tar.gz

extract them and look at the following files:

re.c.184.patch
ruby186.patch

and look at both makefiles for a) Linux and that b) in the subfolder
of win32.

As mentioned I can apply the patch with Cygwin on Windows. Same steps
as on Linux. See the link below.

Now I would like to do the same with mingw on Windows and create a
wonderful one-click installer for Windows for Ruby-1.8.6 with the
Oniguruma-Patch compiled in.

> Your request for help is not very convincing for me as is not clear
> (sounds convoluted).

I am trying my best.

> If you can provide, in a logical fashion the steps you (or one of your
> developers/co-workers) did for this special Ruby compilation, I could
> take a look to it.

This is how it is done on Linux:

http://dev.ywesee.com/wiki.php/Masa/20100907-install-ruby#oniguruma

Thank you for your help so far.

Best
Zeno

Luis Lavena

unread,
Jan 7, 2011, 1:17:00 PM1/7/11
to rubyin...@googlegroups.com
On Fri, Jan 7, 2011 at 2:11 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> extract them and look at the following files:
>
> re.c.184.patch
> ruby186.patch
>

These patches are svn patches, we no longer bundle with patch utiltiy
and instead we use git apply to avoid UAC warnings.

If you transform these patches to git diff format, git apply should work.

>
> http://dev.ywesee.com/wiki.php/Masa/20100907-install-ruby#oniguruma
>

Following these instructions can work too, you just need a few steps before:

the make 186 will need to be modified to do "git apply" instead of
patch, as patch is not integrated OR download patch for windows:

http://gnuwin32.sourceforge.net/packages/patch.htm

Then:

rake ruby18:dependencies devkit:sh

That should give you a bash shell where you can apply the patches, etc.

This onigumura patch/hack is tricky, worked on Linux because you have
installed all your dependencies before, but on Windows, there is no
dependency (zlib or any other is not bundled with the OS), so
RubyInstaller have recipes for that.

I can't help you further as this tricky thing is time consuming and
time is something I lack right now.

To generate the installers and compile you're pretty close, you just
need read the code and time and patience (which for the flood of
emails looks like you're running out).

Hope above helps you.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 4:38:15 AM1/8/11
to RubyInstaller
Dear Luis

Thanks for the reply.

What I do not understand yet is:

1. What is the win32 directory in the oniguruma directory for?

2. Can I apply the Linux Patch on Windows with the tools you mentioned
above? Should that be possible? If so, what is the win32 directory for
then?

Once this is clear for me, I guess we are a large step ahead.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 5:19:21 AM1/8/11
to RubyInstaller
Dear Jon

On 7 Jan., 15:25, Jon <jon.for...@gmail.com> wrote:

> Try the following first before you spend time building a recipe. If it works, it's your quickest solution I think.

> * downloadftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.bz2and extract it to somewhere, say c:\build\ruby
> * apply your patches

This I done doing

cd C:\build\ruby\ruby-1.8.6-p369
patch < ../oniguruma/ruby186.patch (the same patch-file I use for
Linux)

I did not get any output, but I assume the patch was applied, as I
also did not get any errors. Should I get any output from patch on
Windows if I apply a patch as above?

> * cd to <RUBYINSTALLER_BASE_DIR> and type the following...this _should_ cause the recipes to build from your patched 1.8.6-p369 version in c:\build\ruby rather than trying to download ruby

then I done

cd C:\Users\zdavatz\software\rubyinstaller
rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby\ruby-1.8.6-p369"

now configure and make are running. I will keep you posted.

;)

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 5:31:24 AM1/8/11
to RubyInstaller
Dear Luis

On 7 Jan., 19:17, Luis Lavena <luislav...@gmail.com> wrote:

I downloaded

> http://gnuwin32.sourceforge.net/packages/patch.htm

and done

cd C:\Users\zdavatz\software\rubyinstaller
rake ruby18:dependencies devkit:sh

that resulted in

sh-3.1$

then I wanted to do

patch < ../oniguruma/ruby186.patch

but that command just hangs and nothing happens in sh-3.1$

When I tried it Jon's way I got no output but the command did not hang
and finished with no error but also no output. After that I could
compile with Jons suggestion

rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby\ruby-1.8.6-p369"

and it finished clean.

So now my questions are:

1. Was the patch applied with Jon's version?
2. If yes, where is the Ruby executable and how can I install it on my
Windows?

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 5:37:10 AM1/8/11
to RubyInstaller
Dear Jon

On 8 Jan., 11:19, "Zeno R.R. Davatz" <zdav...@gmail.com> wrote:

> On 7 Jan., 15:25, Jon <jon.for...@gmail.com> wrote:
>
> > Try the following first before you spend time building a recipe. If it works, it's your quickest solution I think.
> > * downloadftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p369.tar.bz2andextract it to somewhere, say c:\build\ruby
> > * apply your patches
>
> This I done doing
>
> cd C:\build\ruby\ruby-1.8.6-p369
> patch < ../oniguruma/ruby186.patch (the same patch-file I use for
> Linux)
>
> I did not get any output, but I assume the patch was applied, as I
> also did not get any errors. Should I get any output from patch on
> Windows if I apply a patch as above?
>
> > * cd to <RUBYINSTALLER_BASE_DIR> and type the following...this _should_ cause the recipes to build from your patched 1.8.6-p369 version in c:\build\ruby rather than trying to download ruby
>
> then I done
>
> cd C:\Users\zdavatz\software\rubyinstaller
> rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby\ruby-1.8.6-p369"
>
> now configure and make are running. I will keep you posted.

This compiled completely clean!?! I assume it worked. Will check back
later.

Thanks so far for your help!

Best
Zeno

Jon

unread,
Jan 8, 2011, 11:09:29 AM1/8/11
to rubyin...@googlegroups.com
> > then I done
> >
> > cd C:\Users\zdavatz\software\rubyinstaller
> > rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby\ruby-1.8.6-p369"
> >
> > now configure and make are running. I will keep you posted.
>
> This compiled completely clean!?! I assume it worked. Will check back
> later.

Ensure you've got Inno http://www.innosetup.com/isdl.php installed, both isetup and ispack (only need the pre-processor installed from ispack) if you want to build the .exe installer. Looks like you may be close :)

Jon

---
http://jonforums.github.com/

Zeno R.R. Davatz

unread,
Jan 8, 2011, 12:27:31 PM1/8/11
to RubyInstaller
Dear Jon

Thanks for the hint!

On 8 Jan., 17:09, Jon <jon.for...@gmail.com> wrote:

> Ensure you've got Inno http://www.innosetup.com/isdl.phpinstalled, both isetup and ispack (only need the pre-processor installed from ispack) if you want to build the .exe installer.  Looks like you may be close :)

I got both ispack and isetup installed. Now what do I do to create my
Ruby-1.8.6-p369-oniguruma.exe Installer? I am back to reading the FAQ.

https://github.com/oneclick/rubyinstaller/wiki/FAQ/97ea5fdf2103446a99a9aee2bbfe52bee7714e3f

;)

Thanks for your help so far.

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 12:49:20 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 2:27 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Dear Jon
>
> Thanks for the hint!
>
> On 8 Jan., 17:09, Jon <jon.for...@gmail.com> wrote:
>
>> Ensure you've got Inno http://www.innosetup.com/isdl.phpinstalled, both isetup and ispack (only need the pre-processor installed from ispack) if you want to build the .exe installer.  Looks like you may be close :)
>
> I got both ispack and isetup installed. Now what do I do to create my
> Ruby-1.8.6-p369-oniguruma.exe Installer? I am back to reading the FAQ.
>

Have you tested that the ruby actually contains the patch and is working?

Asking this because the "make 186" from the onigumura download copies
a lot of files, not just the patch files.

Once you test that you can create the executable with "rake
ruby18:package RELEASE=onigumura"

Again, as mentioned before, I don't recommend creating the installer
or even distribute them. I would recommend you take
sandbox/ruby18_mingw (where Ruby was compiled) and compress it with
7zip or WinZip and distribute internally in your company.

Building installers that could be distributed in the wild and
installed by others will bring lot of folks with questions since
menus, shortcuts and instructions of the installer points to
RubyInstaller (since you haven't mention you modified them).

Zeno R.R. Davatz

unread,
Jan 8, 2011, 1:09:42 PM1/8/11
to RubyInstaller
Dear Luis

On 8 Jan., 18:49, Luis Lavena <luislav...@gmail.com> wrote:

> Have you tested that the ruby actually contains the patch and is working?

This is the main question ;) how do I test it? This said I still do
not know what the difference between

ruby18_mingw

and

ruby18_build

is. If I run

C:\Users\zdavatz\software\rubyinstaller\sandbox\ruby18_mingw
\bin>ruby.exe

it does show me the right version.

ruby 1.8.6 (2009-06-08 patchlevel 369) [i386-mingw32]

But what I need to do now is start up my application that is a gem and
it is in

C:\Ruby186\lib\ruby\gems\1.8\gems\de.oddb-2.0.0\bin\oddbd

and I have a lot of other gems that are in

C:\Ruby186\lib\ruby\gems\1.8\gems

that I need for oddbd start up to work.

So how do I tell ruby to take the gems that I installed in

C:\Ruby186\lib\ruby\gems\1.8\gems\

but my new Ruby-Oniguruma-Version that is now installed in

C:\Program Files\Ruby_1.8.6-p369-oniguruma\ruby.exe

Sorry, this I do not understand yet. Also it would be nice if I could
add Rubygems to my installer as well or distribute my Ruby-Executable
in a way that uses the RubyInstaller but just replaces the Ruby-
Version with the patched Oniguruma-Version.

> Asking this because the "make 186" from the onigumura download copies
> a lot of files, not just the patch files.

Sure I am very curious myself as well.

> Once you test that you can create the executable with "rake
> ruby18:package RELEASE=onigumura"

Ok, will do.

> Again, as mentioned before, I don't recommend creating the installer
> or even distribute them. I would recommend you take
> sandbox/ruby18_mingw (where Ruby was compiled) and compress it with
> 7zip or WinZip and distribute internally in your company.

Yes, sounds very reasonable. But first I need to know that it works.

> Building installers that could be distributed in the wild and
> installed by others will bring lot of folks with questions since
> menus, shortcuts and instructions of the installer points to
> RubyInstaller (since you haven't mention you modified them).

I am not quite there yet. ;) - but I will not distribute anything that
will trouble you. I will double-check that with you.

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 1:17:25 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 3:09 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Dear Luis
>
> On 8 Jan., 18:49, Luis Lavena <luislav...@gmail.com> wrote:
>
>> Have you tested that the ruby actually contains the patch and is working?
>
> This is the main question ;) how do I test it? This said I still do
> not know what the difference between
>
> ruby18_mingw
>
> and
>
> ruby18_build
>

ruby18_build is where the configure and make process of Ruby is held.
ruby_1_8 contains the extracted source code of the ruby package you
donwloaded and where patches should have been applied.

ruby18_mingw is the target of "make install" and is a standalone
portable version of the Ruby as distributed in the official
installers.

Everything that is in that folder should work on any other computer as
long 'bin' directory is in the PATH.

>
> But what I need to do now is start up my application that is a gem and
> it is in
>
> C:\Ruby186\lib\ruby\gems\1.8\gems\de.oddb-2.0.0\bin\oddbd
>
> and I have a lot of other gems that are in
>
> C:\Ruby186\lib\ruby\gems\1.8\gems
>
> that I need for oddbd start up to work.
>

You need to consider ruby18_mingw a *new* Ruby installation and
install the gems into it, do not copy things from your existing
installation as things are different and will not prove that this
version of Ruby works as expected.

>
> but my new Ruby-Oniguruma-Version that is now installed in
>
> C:\Program Files\Ruby_1.8.6-p369-oniguruma\ruby.exe
>

I have no idea why you installed inside Program Files. RubyInstaller
installer script do not select program files, and dunno why you
selected it.

>
>> Again, as mentioned before, I don't recommend creating the installer
>> or even distribute them. I would recommend you take
>> sandbox/ruby18_mingw (where Ruby was compiled) and compress it with
>> 7zip or WinZip and distribute internally in your company.
>
> Yes, sounds very reasonable. But first I need to know that it works.
>

So copy ruby18_mingw into a different folder (C:\Ruby186-Mine) and add
C:\Ruby186-Mine\bin to the PATH and install gems and your application
into it.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 1:32:11 PM1/8/11
to RubyInstaller
Dear Luis

On 8 Jan., 19:17, Luis Lavena <luislav...@gmail.com> wrote:

> ruby18_build is where the configure and make process of Ruby is held.
> ruby_1_8 contains the extracted source code of the ruby package you
> donwloaded and where patches should have been applied.

Thanks, exceptionally helpful!

> ruby18_mingw is the target of "make install" and is a standalone
> portable version of the Ruby as distributed in the official
> installers.

Thank, exceptionally helpful!

> Everything that is in that folder should work on any other computer as
> long 'bin' directory is in the PATH.

got it!

> You need to consider ruby18_mingw a *new* Ruby installation and
> install the gems into it, do not copy things from your existing
> installation as things are different and will not prove that this
> version of Ruby works as expected.

thanks, exceptionally helpful! Really good to know!

> I have no idea why you installed inside Program Files. RubyInstaller
> installer script do not select program files, and dunno why you
> selected it.

I created an Installer according to Jon. Will correct that asap. No
intention there. Just happened.

> So copy ruby18_mingw into a different folder (C:\Ruby186-Mine) and add
> C:\Ruby186-Mine\bin to the PATH and install gems and your application
> into it.

Ok, will do so. You are exceptionally helpful so far. Thanks!

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 2:06:19 PM1/8/11
to RubyInstaller
On 8 Jan., 19:17, Luis Lavena <luislav...@gmail.com> wrote:

> >> Have you tested that the ruby actually contains the patch and is working?

Ok, it seems like the Patch was not applied. I am getting the same
error as with the un-patched version of ruby 1.8.6-398. This is
strange because the patch command did not give me an error but also
did not say something like "patch applied".

I patched the following way, like Jon recommended:

1. tar -xzf the files
2. ls
3. oniguruma ruby-1.8.6-p369

then

4. cd ruby-1.8.6-p369
5. patch < ..\oniguruma\ruby186.patch

and then

6. cd C:\Users\zdavatz\software\rubyinstaller
7. rake ruby18 dkver=mingw-32-3.4.5 local="C:\build\ruby\ruby-1.8.6-
p369"

Any hints on that?

Well, learned a lot so far, thanks!

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 2:15:36 PM1/8/11
to RubyInstaller
On 8 Jan., 20:06, "Zeno R.R. Davatz" <zdav...@gmail.com> wrote:

> 5. patch < ..\oniguruma\ruby186.patch

My freaking patch file was empty! Sorry! Trying again! My brain is
eaten by Windows!

Now it applied:

C:\build\ruby\ruby-1.8.6-p369>patch < ..\oniguruma\ruby186.patch
patching file `gc.c'
patching file `re.h'
patching file `re.c'
patching file `string.c'

rebuilding now!

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 2:16:57 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 4:06 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> On 8 Jan., 19:17, Luis Lavena <luislav...@gmail.com> wrote:
>
>> >> Have you tested that the ruby actually contains the patch and is working?
>
> Ok, it seems like the Patch was not applied. I am getting the same
> error as with the un-patched version of ruby 1.8.6-398. This is
> strange because the patch command did not give me an error but also
> did not say something like "patch applied".
>

The patch is not the issue, checking the steps from the linux link you
provided, you're missing "make 186" from the onigumura extracted
folder.

Opening the makefile I saw it also copes several onigumura files to
replace the Ruby ones. Also check that before rebuild.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 2:32:54 PM1/8/11
to RubyInstaller
Dear Luis

Thanks so far!

On 8 Jan., 20:16, Luis Lavena <luislav...@gmail.com> wrote:

> The patch is not the issue, checking the steps from the linux link you
> provided, you're missing "make 186" from the onigumura extracted
> folder.
>
> Opening the makefile I saw it also copes several onigumura files to
> replace the Ruby ones. Also check that before rebuild.

Which ones would that be? As far as I can tell it just patches:

line 217 in the Makefile

186: cpruby
patch -d $(RUBYDIR) -p0 < $(srcdir)/ruby186.patch

do you mean these files?

cpruby:
$(CP) $(RUBYDIR)/regex.c $(RUBYDIR)/regex.c.$(SORIG)
$(CP) $(RUBYDIR)/regex.h $(RUBYDIR)/regex.h.$(SORIG)
$(CP) $(RUBYDIR)/re.h $(RUBYDIR)/re.h.$(SORIG)
$(CP) $(RUBYDIR)/re.c $(RUBYDIR)/re.c.$(SORIG)
$(CP) $(RUBYDIR)/gc.c $(RUBYDIR)/gc.c.$(SORIG)
$(CP) $(RUBYDIR)/string.c $(RUBYDIR)/string.c.$(SORIG)
$(CP) $(srcdir)/regex.c $(RUBYDIR)
$(CP) $(srcdir)/regerror.c $(RUBYDIR)
$(CP) $(srcdir)/regparse.c $(RUBYDIR)
$(CP) $(srcdir)/regcomp.c $(RUBYDIR)
$(CP) $(srcdir)/regexec.c $(RUBYDIR)
$(CP) $(srcdir)/reggnu.c $(RUBYDIR)
$(CP) $(srcdir)/regenc.c $(RUBYDIR)
$(CP) $(srcdir)/regint.h $(RUBYDIR)
$(CP) $(srcdir)/regparse.h $(RUBYDIR)
$(CP) $(srcdir)/regenc.h $(RUBYDIR)
$(CP) $(srcdir)/oniguruma.h $(RUBYDIR)
$(CP) $(srcdir)/oniggnu.h $(RUBYDIR)/regex.h
test -d $(RUBYDIR)/$(encdir) || mkdir $(RUBYDIR)/$(encdir)
$(CP) $(srcdir)/$(encdir)/ascii.c $(RUBYDIR)/$(encdir)/
ascii.c
$(CP) $(srcdir)/$(encdir)/utf8.c $(RUBYDIR)/$(encdir)/utf8.c
$(CP) $(srcdir)/$(encdir)/euc_jp.c $(RUBYDIR)/$(encdir)/
euc_jp.c
$(CP) $(srcdir)/$(encdir)/sjis.c $(RUBYDIR)/$(encdir)/sjis.c

Do you recommend I just copy them manually? Or do you recommend a
script?

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 2:35:41 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 4:32 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> Which ones would that be? As far as I can tell it just patches:
>
> line 217 in the Makefile
>
> 186: cpruby
>        patch -d $(RUBYDIR) -p0 < $(srcdir)/ruby186.patch
>
> do you mean these files?
>

Yes, task "186" depends on cpruby task and the patch command.

So first it copies the files from onigumura (which you can manually
copy) and then it applies the patch.

I don't think a script is needed now, just getting it working first
and then you can automate or document it later.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 3:58:25 PM1/8/11
to RubyInstaller
Dear Luis

On 8 Jan., 20:35, Luis Lavena <luislav...@gmail.com> wrote:
> Yes, task "186" depends on cpruby task and the patch command.
>
> So first it copies the files from onigumura (which you can manually
> copy) and then it applies the patch.
>
> I don't think a script is needed now, just getting it working first
> and then you can automate or document it later.

Thank you for the confirmation. I will try this asap and report to you
later.

I still do not understand how configure is run on Windows, though.

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 4:06:52 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 5:58 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Dear Luis

>
> I still do not understand how configure is run on Windows, though.
>

configure is a bash script, and for that you need to execute inside a
bash/sh shell, that is why I told you about devkit:sh rake task.

Pseudo steps to get this done:

* Extract ruby .tar package into a clean directory (called it C:\Source-Ruby)
* Extract onigumura somehere (call it C:\onigumura)
* Download patch.exe and place it somewhere in the PATH
* Inside RubyInstaller, invoke rake devkit:sh
* cd to /c/onigumura
* ./configure and point to /c/Source-Ruby
* make 186
* exit
* Now proceed with "rake ruby18 LOCAL=C:\Source-Ruby

From there, you will end with sandbox\ruby18_mingw, that is a working
Ruby installation, use that for testing (as explained before)

Something along these lines should do the trick. The key point is
onigumura configure and make do the right thing, I can't confirm how
that will work, up to you now.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 4:13:29 PM1/8/11
to RubyInstaller
On 7 Jan., 19:17, Luis Lavena <luislav...@gmail.com> wrote:
> http://gnuwin32.sourceforge.net/packages/patch.htm
>
> Then:
>
> rake ruby18:dependencies devkit:sh
>
> That should give you a bash shell where you can apply the patches, etc.

I will retry this, as I believe configure should work here.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 8, 2011, 4:30:58 PM1/8/11
to RubyInstaller
On 8 Jan., 22:06, Luis Lavena <luislav...@gmail.com> wrote:
> configure is a bash script, and for that you need to execute inside a
> bash/sh shell, that is why I told you about devkit:sh rake task.

Got it, and I screwed up because I tried to apply an empty patch! ;)

> Pseudo steps to get this done:
>
> * Extract ruby .tar package into a clean directory (called it C:\Source-Ruby)
> * Extract onigumura somehere (call it C:\onigumura)
> * Download patch.exe and place it somewhere in the PATH
> * Inside RubyInstaller, invoke rake devkit:sh
> * cd to /c/onigumura
> * ./configure and point to /c/Source-Ruby
> * make 186
> * exit
> * Now proceed with "rake ruby18 LOCAL=C:\Source-Ruby

Got it, thanks for the summary! Very helpful. Will report later.

> From there, you will end with sandbox\ruby18_mingw, that is a working
> Ruby installation, use that for testing (as explained before)

Ok. Small question: Will I have to wipe my old directory C:\Ruby-1.8.6-
oniguruma\ (rd /s/q) and install all the gems again? Do you recommend
that?

> Something along these lines should do the trick. The key point is
> onigumura configure and make do the right thing, I can't confirm how
> that will work, up to you now.

I am very curious as well, cause it worked with cygwin and I want to
know if it will work with mingw as well. mingw seems so much handier
and "better", simpler, specially with your great RubyInstaller Tools
which are awesome!

Best
Zeno

Luis Lavena

unread,
Jan 8, 2011, 4:35:05 PM1/8/11
to rubyin...@googlegroups.com
On Sat, Jan 8, 2011 at 6:30 PM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
>> From there, you will end with sandbox\ruby18_mingw, that is a working
>> Ruby installation, use that for testing (as explained before)
>
> Ok. Small question: Will I have to wipe my old directory C:\Ruby-1.8.6-
> oniguruma\ (rd /s/q) and install all the gems again? Do you recommend
> that?
>

Is the Ruby-1.8.6-onigumura your installation directory? Then I will
say yes, remove it to avoid any possible leftover interfere.

We don't want any of these things produce a fluke of results than then
make you loose hair when installing in X number of machines and things
not working.

You need to always scratch and start from zero to reproduce as close
as possible the end-user scenario.

Zeno R.R. Davatz

unread,
Jan 8, 2011, 5:02:58 PM1/8/11
to RubyInstaller
Luis-sensei

On 8 Jan., 22:35, Luis Lavena <luislav...@gmail.com> wrote:
> On Sat, Jan 8, 2011 at 6:30 PM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:

> >> From there, you will end with sandbox\ruby18_mingw, that is a working
> >> Ruby installation, use that for testing (as explained before)
>
> > Ok. Small question: Will I have to wipe my old directory C:\Ruby-1.8.6-
> > oniguruma\ (rd /s/q) and install all the gems again? Do you recommend
> > that?
>
> Is the Ruby-1.8.6-onigumura your installation directory? Then I will
> say yes, remove it to avoid any possible leftover interfere.
>
> We don't want any of these things produce a fluke of results than then
> make you loose hair when installing in X number of machines and things
> not working.
>
> You need to always scratch and start from zero to reproduce as close
> as possible the end-user scenario.

Hai! Got it! Will do so.

Gruss
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 2:25:09 AM1/10/11
to RubyInstaller
> On 8 Jan., 22:06, Luis Lavena <luislav...@gmail.com> wrote:
> > * Extract ruby .tar package into a clean directory (called it C:\Source-Ruby)
> > * Extract onigumura somehere (call it C:\onigumura)
> > * Download patch.exe and place it somewhere in the PATH
> > * Inside RubyInstaller, invoke rake devkit:sh
> > * cd to /c/onigumura
> > * ./configure and point to /c/Source-Ruby
> > * make 186

This results in

sh-3.1$ make 186
cp -p ../ruby-1.8.6-p369/regex.c ../ruby-1.8.6-p369/
regex.c.ruby_orig
cp -p ../ruby-1.8.6-p369/regex.h ../ruby-1.8.6-p369/
regex.h.ruby_orig
cp -p ../ruby-1.8.6-p369/re.h ../ruby-1.8.6-p369/re.h.ruby_orig
cp -p ../ruby-1.8.6-p369/re.c ../ruby-1.8.6-p369/re.c.ruby_orig
cp -p ../ruby-1.8.6-p369/gc.c ../ruby-1.8.6-p369/gc.c.ruby_orig
cp -p ../ruby-1.8.6-p369/string.c ../ruby-1.8.6-p369/
string.c.ruby_orig
cp -p ./regex.c ../ruby-1.8.6-p369
cp -p ./regerror.c ../ruby-1.8.6-p369
cp -p ./regparse.c ../ruby-1.8.6-p369
cp -p ./regcomp.c ../ruby-1.8.6-p369
cp -p ./regexec.c ../ruby-1.8.6-p369
cp -p ./reggnu.c ../ruby-1.8.6-p369
cp -p ./regenc.c ../ruby-1.8.6-p369
cp -p ./regint.h ../ruby-1.8.6-p369
cp -p ./regparse.h ../ruby-1.8.6-p369
cp -p ./regenc.h ../ruby-1.8.6-p369
cp -p ./oniguruma.h ../ruby-1.8.6-p369
cp -p ./oniggnu.h ../ruby-1.8.6-p369/regex.h
test -d ../ruby-1.8.6-p369/enc || mkdir ../ruby-1.8.6-p369/enc
cp -p ./enc/ascii.c ../ruby-1.8.6-p369/enc/ascii.c
cp -p ./enc/utf8.c ../ruby-1.8.6-p369/enc/utf8.c
cp -p ./enc/euc_jp.c ../ruby-1.8.6-p369/enc/euc_jp.c
cp -p ./enc/sjis.c ../ruby-1.8.6-p369/enc/sjis.c
patch -d ../ruby-1.8.6-p369 -p0 < ./ruby186.patch
0 [main] patch 204 open_stackdumpfile: Dumping stack trace to
patch.exe.stackdump
make: *** [186] Error 5

Interesting. Any hints? Maybe I can try applying the patch directly
now.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 2:34:01 AM1/10/11
to RubyInstaller
Dear Luis
Now if I patch in the normal windows commandline the patch applies
just fine:

C:\build\ruby\ruby-1.8.6-p369>patch < ../oniguruma/ruby186.patch
patching file `gc.c'
patching file `re.h'
patching file `re.c'
patching file `string.c'

Do you agree that the ./configure did copy all the files correctly? As
far as I can tell that worked correctly.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 2:43:33 AM1/10/11
to RubyInstaller
This is the outcome I get when running make186 on Linux:

http://pastebin.com/2Lpuja2B

So it looks just fine.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 3:49:03 AM1/10/11
to RubyInstaller
Freaking Cool! It seems to have worked!

Thank you so much for your help Luis-sensei and Jon-sensei!

Your Ruby-Installer Rocks-My-Balls-Off! It is truly a very helpful
tool.

So now Luis we have to discuss how we want to distribute this. I
believe there is a big demand out there for a Windows-Ruby-
Installer-1.8.6 with the Oniguruma Patch applied for _Windows_.

I will also try to get my results double-checked asap.

But I get the exact same error now as I got with cygwin, that means
our software now starts-up passed the Regular Expressions we have. ;)

Best
Zeno

Luis Lavena

unread,
Jan 10, 2011, 7:26:01 AM1/10/11
to rubyin...@googlegroups.com
On Mon, Jan 10, 2011 at 5:49 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
> Freaking Cool! It seems to have worked!
>

Good to know.


>
> So now Luis we have to discuss how we want to distribute this. I
> believe there is a big demand out there for a Windows-Ruby-
> Installer-1.8.6 with the Oniguruma Patch applied for _Windows_.
>

Where are your sources about that? (links, requests)

The patch itself is a big change from Ruby mainline, which goes
against RubyInstaller rules (less deviation from source).

I personally not going to consider such level of deviation (and the
manual steps required) just to get this patch in.

From what I see on onigumura gem, it is suppose to do the same thing
(depends on a fully working onigumura) and not patching Ruby. The only
difference is that you don't refer things as Regexp but instead use
Onigumura regexp.

Please note that that specific patchlevel might not contain needed
fixes for Windows, which was required for Ruby to work properly (see
the ChangeLog file for differences between p398 and p369)

Zeno R.R. Davatz

unread,
Jan 10, 2011, 7:42:38 AM1/10/11
to RubyInstaller
Dear Luis

Your RubyInstaller is a truly great DevKit for Windows!

On 10 Jan., 13:26, Luis Lavena <luislav...@gmail.com> wrote:
> On Mon, Jan 10, 2011 at 5:49 AM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:

> > So now Luis we have to discuss how we want to distribute this. I
> > believe there is a big demand out there for a Windows-Ruby-
> > Installer-1.8.6 with the Oniguruma Patch applied for _Windows_.
>
> Where are your sources about that? (links, requests)

This would be one:

http://fossplanet.com/f14/%5Bruby-core-28235%5D-%5Bfeature-2759%5D-regexp-g-g-options-33265/

> The patch itself is a big change from Ruby mainline, which goes
> against RubyInstaller rules (less deviation from source).

Ok, understand.

> I personally not going to consider such level of deviation (and the
> manual steps required) just to get this patch in.

Ok. Let me know if I can help you with something. My next step will be
to get the character-encodings gem to work on windows.

> From what I see on onigumura gem, it is suppose to do the same thing
> (depends on a fully working onigumura) and not patching Ruby. The only
> difference is that you don't refer things as Regexp but instead use
> Onigumura regexp.

I guess patching Ruby will result in better performance - though this
has not been tested. The Oniguruma gem does not work for us. Also the
oniguruma gem fails on windows with Ruby 1.8.6-p396 and 1.8.7

C:\Users\zdavatz>gem install oniguruma
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing oniguruma:
ERROR: Failed to build gem native extension.

C:/Ruby186/bin/ruby.exe extconf.rb
checking for main() in -lonig... no
creating Makefile

make
gcc -I. -I. -IC:/Ruby186/lib/ruby/1.8/i386-mingw32 -I. -Wall -c
oregexp.c
oregexp.c:2:23: fatal error: oniguruma.h: No such file or directory
compilation terminated.
make: *** [oregexp.o] Error 1

BTW: Same error on Ruby 1.8.7 -

Does it install for you?

> Please note that that specific patchlevel might not contain needed
> fixes for Windows, which was required for Ruby to work properly (see
> the ChangeLog file for differences between p398 and p369)

Can you paste me the link to the changelog please? I may be able to
apply the patch to a later version of Ruby as well.

On Linux I patched Ruby-1.8.6-p388 with the same patch. So that should
basically work on Windows as well.

Best
Zeno

PS: http://just.do/2011/01/10/a-vote-for-ruby-1-8-8/

Luis Lavena

unread,
Jan 10, 2011, 7:56:15 AM1/10/11
to rubyin...@googlegroups.com
On Mon, Jan 10, 2011 at 9:42 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> I guess patching Ruby will result in better performance - though this
> has not been tested. The Oniguruma gem does not work for us. Also the
> oniguruma gem fails on windows with Ruby 1.8.6-p396 and 1.8.7
>
> C:\Users\zdavatz>gem install oniguruma
> Temporarily enhancing PATH to include DevKit...
> Building native extensions.  This could take a while...
> ERROR:  Error installing oniguruma:
>        ERROR: Failed to build gem native extension.
>
> C:/Ruby186/bin/ruby.exe extconf.rb
> checking for main() in -lonig... no
> creating Makefile
>
> make
> gcc -I. -I. -IC:/Ruby186/lib/ruby/1.8/i386-mingw32 -I.  -Wall  -c
> oregexp.c
> oregexp.c:2:23: fatal error: oniguruma.h: No such file or directory
> compilation terminated.
> make: *** [oregexp.o] Error 1
>
> BTW: Same error on Ruby 1.8.7 -
>
> Does it install for you?
>

You need to compile and install onigumura first. That is a dependency
of the gem:

For example, in Mac OSX, it didn't install either, so needed to
install it first:

https://gist.github.com/769679

Same applies to Windows.

>> Please note that that specific patchlevel might not contain needed
>> fixes for Windows, which was required for Ruby to work properly (see
>> the ChangeLog file for differences between p398 and p369)
>
> Can you paste me the link to the changelog please? I may be able to
> apply the patch to a later version of Ruby as well.
>

Inside each ruby source package is the ChangeLog file.

>
> PS: http://just.do/2011/01/10/a-vote-for-ruby-1-8-8/
>

1.8.x is a burden to maintain. New features added to 1.8.x beyond
expectations of 1.8.6 just break things. I'm not a Rails user either,
and 1.8.7 initially broke lot of stuff for us (RubyInstaller). Look at
my blog from my thoughts about 1.8.7

Continue bring features from 1.9.x branch into 1.8.x seems wrong.

One big example is the inability of 1.8.x to support filenames and
directories with unicode characters... that is not going to happen and
that is an excellent reason not to support 1.8.x anymore.

Latin and non-roman characters should be supported properly. 1.8.x can
only handle english at the filesystem.

It also split our focus on improving Ruby.

For example, the method of fixing bugs is first on trunk and then
those changes are backported to the specific branches.

Sometimes my patches to improve Ruby on windows never reach Ruby 1.8.x
branch... not because of my, but the structure of Ruby development.

So, that is a burden of development and I'll need to continuously poke
branch maintainers to backport my changes.

I honestly prefer do something else.

Zeno R.R. Davatz

unread,
Jan 10, 2011, 8:23:12 AM1/10/11
to RubyInstaller
On 10 Jan., 13:56, Luis Lavena <luislav...@gmail.com> wrote:

> You need to compile and install onigumura first. That is a dependency
> of the gem:

Well that is another reason for the Ruby-1.8.6-p369-Oniguruma One-
Click Installer. With that you do not have to compile anything. Also
no extra-gem is needed.

> For example, in Mac OSX, it didn't install either, so needed to
> install it first:
>
> https://gist.github.com/769679
>
> Same applies to Windows.

Thanks for the hint. Very helpful.

> Inside each ruby source package is the ChangeLog file.

Yes looking at them now. Anything noteworthy from your side that I
should pay attention to?

> > PS:http://just.do/2011/01/10/a-vote-for-ruby-1-8-8/
>
> 1.8.x is a burden to maintain. New features added to 1.8.x beyond
> expectations of 1.8.6 just break things.

I could not agree more.

> I'm not a Rails user either,
> and 1.8.7 initially broke lot of stuff for us (RubyInstaller). Look at
> my blog from my thoughts about 1.8.7

Well that is why I think that 1.8.8 should be a better 1.8.6 - after
all it is a nice an even number that suggests confidence ;)

> Continue bring features from 1.9.x branch into 1.8.x seems wrong.

Well actually it is the other way around. Oniguruma was first and it
was ported to Ruby 1.9.2 but it was not fully ported and that makes
things very difficult for developers and companies that use Ruby 1.8.6
on their daily lives, if they want to upgrade. After all even Yui
Naruse says that 1.8.6 is very stable. I mean that is magnificent for
everybody.

Linus always explicitly tries not to break things and only does so if
something is anyway really broken.

> One big example is the inability of 1.8.x to support filenames and
> directories with unicode characters... that is not going to happen and
> that is an excellent reason not to support 1.8.x anymore.

Sure.

> Latin and non-roman characters should be supported properly. 1.8.x can
> only handle english at the filesystem.

Yes, and this is why I need character-encodings on windows. ;) - In
Switzerland we have lots of öäü and in French éà as well.

> It also split our focus on improving Ruby.

Why? If you smoothen out the road the ride is a lot more comfortable.
See the Linux Kernel. I always use the latest RC-Release from git and
it always works (say 98% of the time)! That is amazing! Linus Torvalds
wants consistency. Every new rc1 is allowed the least consistency ;) -
every rc8 has to be very consistent ;) because it is right before the
next stable release.

As I understand it the Ruby-Devs like a bit of an adventure.

> For example, the method of fixing bugs is first on trunk and then
> those changes are backported to the specific branches.
>
> Sometimes my patches to improve Ruby on windows never reach Ruby 1.8.x
> branch... not because of my, but the structure of Ruby development.

Can you make a specific example?

> So, that is a burden of development and I'll need to continuously poke
> branch maintainers to backport my changes.

Can you make a specific example?

Best
Zeno

Luis Lavena

unread,
Jan 10, 2011, 8:31:23 AM1/10/11
to rubyin...@googlegroups.com
On Mon, Jan 10, 2011 at 10:23 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
>> It also split our focus on improving Ruby.
>
> Why? If you smoothen out the road the ride is a lot more comfortable.
> See the Linux Kernel. I always use the latest RC-Release from git and
> it always works (say 98% of the time)! That is amazing! Linus Torvalds
> wants consistency. Every new rc1 is allowed the least consistency ;) -
> every rc8 has to be very consistent ;) because it is right before the
> next stable release.
>
> As I understand it the Ruby-Devs like a bit of an adventure.
>

It not about adventure, I'm talking about improve Ruby on Windows and
splitting efforts to support so many 1.8.x with new features or
performance improvements with Ruby trunk split our time and effort.

>> For example, the method of fixing bugs is first on trunk and then
>> those changes are backported to the specific branches.
>>
>> Sometimes my patches to improve Ruby on windows never reach Ruby 1.8.x
>> branch... not because of my, but the structure of Ruby development.
>
> Can you make a specific example?
>
>> So, that is a burden of development and I'll need to continuously poke
>> branch maintainers to backport my changes.
>
> Can you make a specific example?
>

For both, see all my discussions on Ruby core, see all the tickets
open from me on Redmine. See my blog for comments on the issues of
Ruby 1.8.7 not been able to cross-compile itself.

It will take me time to summarize all that, which I don't have right
now, but if you search the group, ruby-core and redmine will find
them.

As for the installer and the onigumura dependency, my position
remains, either these changes need to be part of Ruby or you depend on
a gem/extension to do the job.

Zeno R.R. Davatz

unread,
Jan 10, 2011, 8:46:08 AM1/10/11
to RubyInstaller
On 10 Jan., 14:31, Luis Lavena <luislav...@gmail.com> wrote:

> > As I understand it the Ruby-Devs like a bit of an adventure.
>
> It not about adventure, I'm talking about improve Ruby on Windows and
> splitting efforts to support so many 1.8.x with new features or
> performance improvements with Ruby trunk split our time and effort.

Sure, I understand. I meant Matz and the Ruby-Dev.

> >> For example, the method of fixing bugs is first on trunk and then
> >> those changes are backported to the specific branches.
>
> >> Sometimes my patches to improve Ruby on windows never reach Ruby 1.8.x
> >> branch... not because of my, but the structure of Ruby development.
>
> > Can you make a specific example?
>
> >> So, that is a burden of development and I'll need to continuously poke
> >> branch maintainers to backport my changes.
>
> > Can you make a specific example?
>
> For both, see all my discussions on Ruby core, see all the tickets
> open from me on Redmine. See my blog for comments on the issues of
> Ruby 1.8.7 not been able to cross-compile itself.
>
> It will take me time to summarize all that, which I don't have right
> now, but if you search the group, ruby-core and redmine will find
> them.

Sure, I will look into that.

> As for the installer and the onigumura dependency, my position
> remains, either these changes need to be part of Ruby or you depend on
> a gem/extension to do the job.

That is exactly why I want them in 1.8.8. The goal of 1.8.8 should be
to make the transition to 1.9.2 smoother, for any application for any
developer using Ruby 1.8.6.

Ruby-1.9.2 and Ruby-1.8.7 have a big large Crevasse between them. It
is scary to jump that crevasse. You really have to prepare for the
jump, or you have to take the chopper and start fresh from Ruby 1.9.2
- and that chopper ride is expensive.

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 8:46:18 AM1/10/11
to RubyInstaller
On 10 Jan., 14:31, Luis Lavena <luislav...@gmail.com> wrote:

> > As I understand it the Ruby-Devs like a bit of an adventure.
>
> It not about adventure, I'm talking about improve Ruby on Windows and
> splitting efforts to support so many 1.8.x with new features or
> performance improvements with Ruby trunk split our time and effort.

Sure, I understand. I meant Matz and the Ruby-Dev.

> >> For example, the method of fixing bugs is first on trunk and then
> >> those changes are backported to the specific branches.
>
> >> Sometimes my patches to improve Ruby on windows never reach Ruby 1.8.x
> >> branch... not because of my, but the structure of Ruby development.
>
> > Can you make a specific example?
>
> >> So, that is a burden of development and I'll need to continuously poke
> >> branch maintainers to backport my changes.
>
> > Can you make a specific example?
>
> For both, see all my discussions on Ruby core, see all the tickets
> open from me on Redmine. See my blog for comments on the issues of
> Ruby 1.8.7 not been able to cross-compile itself.
>
> It will take me time to summarize all that, which I don't have right
> now, but if you search the group, ruby-core and redmine will find
> them.

Sure, I will look into that.

> As for the installer and the onigumura dependency, my position
> remains, either these changes need to be part of Ruby or you depend on
> a gem/extension to do the job.

Luis Lavena

unread,
Jan 10, 2011, 8:49:05 AM1/10/11
to rubyin...@googlegroups.com
On Mon, Jan 10, 2011 at 10:46 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>> As for the installer and the onigumura dependency, my position
>> remains, either these changes need to be part of Ruby or you depend on
>> a gem/extension to do the job.
>
> That is exactly why I want them in 1.8.8. The goal of 1.8.8 should be
> to make the transition to 1.9.2 smoother, for any application for any
> developer using Ruby 1.8.6.
>

And that is again what 1.8.7 broke from 1.8.6, and you want 1.8.8 make
that even more broken.

You're changing expectations from 1.8.x features with these changes,
same as 1.8.7.

Gordon Thiesfeld

unread,
Jan 10, 2011, 10:45:34 AM1/10/11
to rubyin...@googlegroups.com

I realize I'm late here, but I wanted to step back for a second. I
don't think we've ever gotten to the bottom of why the Oniguruma gem
won't work for you. If the gem is definitely not an option for you,
I'm sorry for pressing again.

I've had good success with the gem, although my needs may be much
simpler than yours. If we can determine whether it is workable for
you, I think it would be much easier for you to build and distribute a
binary gem to your users than a modified installer. It's just a
suggestion, but I hope you'll give it consideration.

Here are the steps for building the gem on Windows, if you're insterested.

https://gist.github.com/772895

>
>> Please note that that specific patchlevel might not contain needed
>> fixes for Windows, which was required for Ruby to work properly (see
>> the ChangeLog file for differences between p398 and p369)
>
> Can you paste me the link to the changelog please? I may be able to
> apply the patch to a later version of Ruby as well.
>
> On Linux I patched Ruby-1.8.6-p388 with the same patch. So that should
> basically work on Windows as well.
>
> Best
> Zeno
>
> PS: http://just.do/2011/01/10/a-vote-for-ruby-1-8-8/
>

> --
> You received this message because you are subscribed to the Google Groups "RubyInstaller" group.
> To post to this group, send email to rubyin...@googlegroups.com.
> To unsubscribe from this group, send email to rubyinstalle...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyinstaller?hl=en.
>
>

--
Gordon Thiesfeld
http://vert.igino.us

Jon

unread,
Jan 10, 2011, 10:49:14 AM1/10/11
to rubyin...@googlegroups.com
I'm catching up after being out of town this weekend, but it looks you two have spent a bunch of time on this one. Luis has (once again) provided an amazing amount of detail and support.

However, this post http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/34286 is too enticing not to pass along. It captures my current views on 1.8.x and is relevant as I question whether your efforts on 1.8.6 are maintainable.

Specifically, as your "flavor" gets further and further away from the mainstream, I think the cost (money and developer resources) for you to maintain may quickly become too much. You likely believe moving to 1.9.2 isn't feasible, but given how much time you and Luis have spent so far, is transitioning your clients forward in fact the less costly and more sustainable option?

A rhetorical question (no need for a reply) as it appears you're already well aware of the issue.


> > As for the installer and the onigumura dependency, my position
> > remains, either these changes need to be part of Ruby or you depend on
> > a gem/extension to do the job.

I think this is really wise feedback. For you to maintain a patch queue (and the expertise needed to keep it working) for Ruby (and other gems?) may defocus your resources. Focus on where you add value and leverage as much as you can :)


> That is exactly why I want them in 1.8.8. The goal of 1.8.8 should be
> to make the transition to 1.9.2 smoother, for any application for any
> developer using Ruby 1.8.6.

I believe that day (1.8.x smoothing the transition to 1.9.x) has long since passed and the goal is no longer relevant. FWIW, this is one of the reasons I've focused my team exclusively on 1.9.x.

Jon

---
http://jonforums.github.com/

Gordon Thiesfeld

unread,
Jan 10, 2011, 10:49:24 AM1/10/11
to rubyin...@googlegroups.com

I can also build this alternative Oniguruma gem[1], with similar
steps. It supports the 2.x version of Oniguruma as well. That might
be an option.

[1] https://github.com/geoffgarside/oniguruma

Zeno R.R. Davatz

unread,
Jan 10, 2011, 11:18:01 AM1/10/11
to RubyInstaller
On 10 Jan., 16:49, Gordon Thiesfeld <gthiesf...@gmail.com> wrote:
> On Mon, Jan 10, 2011 at 9:45 AM, Gordon Thiesfeld <gthiesf...@gmail.com> wrote:
> > On Mon, Jan 10, 2011 at 6:42 AM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:
> >> Dear Luis
>
> >> Your RubyInstaller is a truly great DevKit for Windows!
>
> >> On 10 Jan., 13:26, Luis Lavena <luislav...@gmail.com> wrote:
> >>> On Mon, Jan 10, 2011 at 5:49 AM, Zeno R.R. Davatz <zdav...@gmail.com> wrote:
>
> >>> > So now Luis we have to discuss how we want to distribute this. I
> >>> > believe there is a big demand out there for a Windows-Ruby-
> >>> > Installer-1.8.6 with the Oniguruma Patch applied for _Windows_.
>
> >>> Where are your sources about that? (links, requests)
>
> >> This would be one:
>
> >>http://fossplanet.com/f14/%5Bruby-core-28235%5D-%5Bfeature-2759%5D-re...
> > Here are the steps for building the gem on Windows, if you're interested.
>
> >https://gist.github.com/772895
>
> I can also build this alternative Oniguruma gem[1], with similar
> steps.  It supports the 2.x version of Oniguruma as well.  That might
> be an option.
>
> [1]https://github.com/geoffgarside/oniguruma

Thanks for the hint!

Best
Zeno

Zeno R.R. Davatz

unread,
Jan 10, 2011, 11:31:09 AM1/10/11
to RubyInstaller
On 10 Jan., 16:49, Jon <jon.for...@gmail.com> wrote:

> However, this posthttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/34286is too enticing not to pass along. It captures my current views on 1.8.x and is relevant as I question whether your efforts on 1.8.6 are maintainable.

The link does not really mention Regular Expressions or Oniguruma. The
fact that 1.9.2 does support Regex à la Oniguruma but not 100% is
telling. That bump I would like to smoothen out.

> Specifically, as your "flavor" gets further and further away from the mainstream, I think the cost (money and developer resources) for you to maintain may quickly become too much.  You likely believe moving to 1.9.2 isn't feasible, but given how much time you and Luis have spent so far, is transitioning your clients forward in fact the less costly and more sustainable option?

Moving to 1.9.2 is very feasible. But that does not mean destroying
all our 1.8.6 and 1.8.7 applications with just skipping Oniguruma. Our
applications are running very stable at the moment after many years of
development. Why start instantly from scratch again just for 1.9.2? In
order to fund development for Ruby 1.9.2 we need our customer base to
grow on Windows via Ruby-1.8.6-Oniguruma. It is as simple as that.

> A rhetorical question (no need for a reply) as it appears you're already well aware of the issue.
>
> > > As for the installer and the onigumura dependency, my position
> > > remains, either these changes need to be part of Ruby or you depend on
> > > a gem/extension to do the job.
>
> I think this is really wise feedback. For you to maintain a patch queue (and the expertise needed to keep it working) for Ruby (and other gems?) may defocus your resources.  Focus on where you add value and leverage as much as you can :)

Sure. But installing our Application on Windows can be very
interesting and for that we need the same conditions as on Linux those
are: Ruby-1.8.6 with the Oniguruma Patch.

> > That is exactly why I want them in 1.8.8. The goal of 1.8.8 should be
> > to make the transition to 1.9.2 smoother, for any application for any
> > developer using Ruby 1.8.6.
>
> I believe that day (1.8.x smoothing the transition to 1.9.x) has long since passed and the goal is no longer relevant. FWIW, this is one of the reasons I've focused my team exclusively on 1.9.x.

So why has the Oniguruma-patch not made it into 1.8.7? It seems that
Regular Expressions are really not popular these days ;(.

Anyway you guys helped me a lot, so thank you so far!

My next issues is the GD2 issue: Any hints on that?
http://groups.google.com/group/rubyinstaller/browse_thread/thread/b5d29771c81cdc18/75ed2d08af03d1f1#75ed2d08af03d1f1

Best
Zeno

Vít Ondruch

unread,
Jan 10, 2011, 2:21:40 PM1/10/11
to rubyin...@googlegroups.com

> That is exactly why I want them in 1.8.8. The goal of 1.8.8 should be
> to make the transition to 1.9.2 smoother, for any application for any
> developer using Ruby 1.8.6.
>
> Ruby-1.9.2 and Ruby-1.8.7 have a big large Crevasse between them. It
> is scary to jump that crevasse. You really have to prepare for the
> jump, or you have to take the chopper and start fresh from Ruby 1.9.2
> - and that chopper ride is expensive.
>
> Best
> Zeno
>

The funny thing is, that usually the more you wait, the more you are
afraid and the bigger the gap is. Working with legacy code it is usually
hard to even adopt and enforce constructs which would eventually shrink
the gap.

Also, there is this strange myth of R1.9 not supporting some gems. But
if you would spent the amount of time you spent with the backporting on
conversion to R1.9, you could be already done. In my previous company,
we switched from R1.8 to R1.9 one and half year ago and it never made
any problems worth of mentioning. Of course that was success story
because of wonderful RubyInstaller :)


Vit

Zeno R.R. Davatz

unread,
Jan 11, 2011, 3:44:17 AM1/11/11
to RubyInstaller
On 10 Jan., 20:21, Vít Ondruch <v.ondr...@gmail.com> wrote:

> The funny thing is, that usually the more you wait, the more you are
> afraid and the bigger the gap is. Working with legacy code it is usually
> hard to even adopt and enforce constructs which would eventually shrink
> the gap.

I do not understand what is funny abou that. Throwing away code every
two years is not economical. Think about the environment!

> Also, there is this strange myth of R1.9 not supporting some gems. But
> if you would spent the amount of time you spent with the backporting on
> conversion to R1.9, you could be already done. In my previous company,
> we switched from R1.8 to R1.9 one and half year ago and it never made
> any problems worth of mentioning. Of course that was success story
> because of wonderful RubyInstaller :)

Well so you already switched your job twice! That I do not call
consistent. That is a lot of noise, if you ask me. We are working on
the same code since 10 years and the code base has just grown. Very
simple. I think you do not understand my problem.

Yes, RubyInstaller is wonderful for Windows. I agree. But we are just
enhancing our gems to windows. An easy task. But other gems like gd2
are not yet working on Windows. They work perfectly well on Linux. So
that is where I want to help, in the Windows environment.

Do your apps run on Linux? I mean are they live an Linux? Link? Our
Apps do not yet run on Windows but because of Ruby-Installer I am
willing to give it a try. Simple as that. Because I think Luis is
doing a good job with RubyInstaller. And as I mentioned before I am
also willing to pay cash for that.

Think consistency for Entreprise(TM). Think about the environment.

Best
Zeno

Luis Lavena

unread,
Jan 11, 2011, 6:32:56 AM1/11/11
to rubyin...@googlegroups.com
On Tue, Jan 11, 2011 at 5:44 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> Yes, RubyInstaller is wonderful for Windows. I agree. But we are just
> enhancing our gems to windows. An easy task. But other gems like gd2
> are not yet working on Windows. They work perfectly well on Linux. So
> that is where I want to help, in the Windows environment.
>

Actually, you're forking Ruby and adding a patch and aiming to
distribute that version without "proof" that there is a real need for
it. So far, you've been the first and only requesting this.

You haven't look at the alternatives that we mention and the
requirements of those. AFAIK these were more simpler to implement and
follow than what you have done.

Yet still, you mention "enhancing our gems", which is not what you
have accomplish here.

> Think consistency for Entreprise(TM). Think about the environment.
>

I know this line is not targeted at me. When I think about
consistency, I think on what you're doing with the fork and you're
going the opposite direction.

You mention your application is used in dunno how many places. So if
the IT department of that place wanted to check what you have done, or
a possible problem they could solve, the will find references to Ruby
for Windows and RubyInstaller in your fork, and direct all the issue,
grief or whatever to us (first google result).

Then we will need to deal with the burden of a fork that might differ
in dunno how many ways (because is not packaged by us or signed by us)

You talk about enterprise and consistency, yet still this single point
defeat your statement.

I'll sound like a broken record, but over the past 15 years I worked
in the video broadcast industry and let me tell you, every second you
loose there, thousands of dollars are lost.

I learnt there think of all the possible scenarios things will fail.
And most of the time, when I look to an OSS library, apply one single
scenario, it breaks.

Some people consider me a magnet to bugs.

I try to apply the same principles I learnt doing that to my OSS
development, and so far they worked up to my expectations.

Some people will disagree with my point of view in relation to
RubyInstaller, but I believe, while slow and steady, we accomplish a
lot.

Now, I might not have specific experience in dotNET or Java corporate
environments, but what I do know, still applies to all of them.

This is not a mine is bigger than yours response, but I want to put a
end to this thread as is not been productive at all for any of us. No
point that you can possible reiterate that wasn't discussed before
needs to be presented or discussed further.


Cheers,

Vít Ondruch

unread,
Jan 11, 2011, 12:49:08 PM1/11/11
to rubyin...@googlegroups.com
Dne 11.1.2011 9:44, Zeno R.R. Davatz napsal(a):

> On 10 Jan., 20:21, V�t Ondruch<v.ondr...@gmail.com> wrote:
>
>> The funny thing is, that usually the more you wait, the more you are
>> afraid and the bigger the gap is. Working with legacy code it is usually
>> hard to even adopt and enforce constructs which would eventually shrink
>> the gap.
> I do not understand what is funny abou that. Throwing away code every
> two years is not economical. Think about the environment!

Sorry, it was irony ... It was not about throwing out the code but about
keeping with upstream. Two completely different cases. I could
demonstrate on more examples and wrong decision which were unfortunately
taken during the years I spent in previous company. But that is long
story and off-topic.

>> Also, there is this strange myth of R1.9 not supporting some gems. But
>> if you would spent the amount of time you spent with the backporting on
>> conversion to R1.9, you could be already done. In my previous company,
>> we switched from R1.8 to R1.9 one and half year ago and it never made
>> any problems worth of mentioning. Of course that was success story
>> because of wonderful RubyInstaller :)
> Well so you already switched your job twice! That I do not call
> consistent. That is a lot of noise, if you ask me. We are working on
> the same code since 10 years and the code base has just grown. Very
> simple. I think you do not understand my problem.
>
> Yes, RubyInstaller is wonderful for Windows. I agree. But we are just
> enhancing our gems to windows. An easy task. But other gems like gd2
> are not yet working on Windows. They work perfectly well on Linux. So
> that is where I want to help, in the Windows environment.

That is wonderful, but are you going to make gd2 functioning for 1.8.6,
1.8.7 or for 1.9.2.

> Do your apps run on Linux? I mean are they live an Linux?

This is the same example as keeping you code with upstream. We used QT
for our UI and there were some people who thought that we use QT, we are
on the safe side. But the longer we had worked with QT, the more we have
to workaround QT inabilities. We never contributed anything upstream and
it led just to diversion from compatibility with upstream. At the end,
although the application was QT based, I would never tried it to compile
it on Linux nor run it.

Zeno R.R. Davatz

unread,
Jan 12, 2011, 2:38:40 AM1/12/11
to RubyInstaller
On 11 Jan., 18:49, Vít Ondruch <v.ondr...@gmail.com> wrote:

> Sorry, it was irony ... It was not about throwing out the code but about
> keeping with upstream. Two completely different cases. I could
> demonstrate on more examples and wrong decision which were unfortunately
> taken during the years I spent in previous company. But that is long
> story and off-topic.

Sure you have to think about upstream. But Ruby-Core should think
about John-Doe-Normal as well and be consistent in developing new
releases and communicating the bigger gaps. I still do not understand
why Ruby-Core did not apply the Oniguruma-Patch to 1.8.6 or even 1.8.7
but then they take "some" Oniguruma functions and put them into 1.9.2
- that just does not make any sense to me. But again this is Off-
Topic. So we can continue this conversation in private if you like.

> That is wonderful, but are you going to make gd2 functioning for 1.8.6,
> 1.8.7 or for 1.9.2.

First 1.8.6 on Windows. After that we can see about 1.8.7 and then
about 1.8.8 ;) and then 1.9.2. But slowly and step by step.

What does not make sense to me is is changing something on Windows
that runs on Linux. So first all of our main applications have to run
on Windows. Once they do, we will take the next step. It is not: "Oh
this does not work on Windows lets just rewrite the code". That we
would wreck Linux too and at the moment our Apps run perfect on Linux
but _not_ on Windows.

In the end I want to base our Applications on gems that work on all
three Platforms: Linux, Windows and Mac. That is the order. So what I
need to do is find the right gems and the Maintainers a normal user
can trust, that the gem will continue to be developed on all the
platforms.

Ruby really seems well supported on Windows. That is why I want to try
it.

> This is the same example as keeping you code with upstream. We used QT
> for our UI and there were some people who thought that we use QT, we are
> on the safe side. But the longer we had worked with QT, the more we have
> to workaround QT inabilities. We never contributed anything upstream and
> it led just to diversion from compatibility with upstream. At the end,
> although the application was QT based, I would never tried it to compile
> it on Linux nor run it.

;) so now what do you do? Do you rewrite your Application? Well we do
not use QT we use gems that are simpler then QT as far as I can tell.
Of course I would never use QT as QT was always a hassle to compile on
Linux from the very beginning.

Best
Zeno

Luis Lavena

unread,
Jan 12, 2011, 6:24:22 AM1/12/11
to rubyin...@googlegroups.com
On Wed, Jan 12, 2011 at 4:38 AM, Zeno R.R. Davatz <zda...@gmail.com> wrote:
>
> What does not make sense to me is is changing something on Windows
> that runs on Linux. So first all of our main applications have to run
> on Windows. Once they do, we will take the next step. It is not: "Oh
> this does not work on Windows lets just rewrite the code". That we
> would wreck Linux too and at the moment our Apps run perfect on Linux
> but _not_ on Windows.
>

Seems that my attempt to put an end to this thread didn't succeed, but.

There is a fallacy on consider that Linux == Windows and things that
works on Linux should work on Windows, or vice-versa

Most the gems, considering what they do *should* work on Windows, but
gem and library authors didn't pay attention to the cross-platform
nature of the language they are using, turning their library into the
common "works on my machine" kind of thing.

Neither authors mention what dependencies their libraries require and
so many other conditions not been considered when releasing code in
the wild.

And other authors simple don't care.

So, if you aim your application works on all the platforms, learn the
platforms. Learn the Windows API if is required (which is for your GD2
issue) and fix it, or create a new library that correct the GD2 issue
and release it as replacement, so your Linux and Windows version both
use the same codebase.

If you want to accomplish that for your application, it is time you
and your team get your hands dirty.

Zeno R.R. Davatz

unread,
Jan 12, 2011, 9:23:14 AM1/12/11
to RubyInstaller
We are doing so ;) - at the moment I am fighting with Ruby and Apache.

;) - Then we will rerun all the scripts for setting up de.oddb on
Windows and then we decide how to proceed with the gd2 issue. Our App
is not yet up and running on Windows. But I am close.

Best
Zeno
Reply all
Reply to author
Forward
0 new messages