Forum: Ruby New "Ruby for Windows" Installer

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Lothar S. (Guest)
on 2007-03-06 06:07
(Received via mailing list)
Hello,

this is the first release of an alternative "One Click Ruby Installer"
for windows.

There are three reasons for me to provide this installer:

1) I'm not really satisfied with the current "One click installer". I
don't share
   their opinion what is a required in a ruby base environment. I also
don't
   think that huge packages that are extremely easy to install as a gem
should
   be added to the installer. Instead more important packages like MySQL
and SQLite
   extensions or the ones which are difficult to integrate should be
included.

2) My Arachno Ruby IDE needs a patched interpreter for the debugger
   and this is the easiest way to handle it. In the past i was always
   a few steps behind the one click installer. Having a separate project
   means much more flexibility for me, even if i have to update a few
   components of the installer regularly.

3) Competition is good.


The included packages are:
                             Ruby    1.8.5-p12
                             GDBM      1.8.3-1
                          OpenSSL       0.9.8e
                         PDCurses          2.8
                            IConv      1.9.2-1
                         readline        4.3-2
                             rake        0.7.2
                            log4r        1.0.5
                             zlib        1.2.3
                        ruby-zlib        0.6.0
                            Expat        2.0.0
                        XMLParser        0.6.8
                         RubyGems        0.9.2
                             SWin   2006-02-05
                            VRuby   2006-11-02
                       HTMLParser   19990912p2
                          RubyDBI        0.1.1
                         DBD/ODBC        0.997
                         SQLite 2       3.3.13
                         SQLite 3       2.8.17
                      Ruby-SQLite        2.2.3
                     Ruby-SQLite3        1.2.1
                       MySQL/Ruby        2.7.3
                           OpenGL        0.32g
                         FreeGLUT        2.4.0
                        Ruby GTK2     0.16.0-1
                             GTK2       2.10.7
                            IConv      1.9.2-1
                            SciTE         1.67
                      win32-event        0.4.0
                        win32-ipc        0.4.1
               win32-changenotify        0.4.2
                  win32-clipboard        0.4.2
                        win32-dir        0.3.1
                        win32-etc        0.2.5
                      win32-event        0.4.0
                   win32-eventlog        0.4.3
                  win32-file-stat        1.2.4
                       win32-mmap        0.2.0
                      win32-mutex        0.2.2
                      win32-open3        0.2.5
                       win32-pipe        0.1.2
                    win32-process        0.5.2
                       win32-sapi        0.1.3
                  win32-semaphore        0.2.2
                    win32-service        0.5.2
                   win32-shortcut        0.2.0
                      win32-sound        0.4.0
              win32-taskscheduler        0.0.3
                     win32-thread        0.0.1
                       windows-pr        0.6.4

Everything is compiled with MSVC 6.0, so it is compatible with the one
click installer and all the "msvcrt" binary gems.

As you see the most important difference is that i integrated MySQL,
SQLite and
Ruby/GTK. For GTK, i had to add one more patch to the "main" function in
the
ruby executable. Ruby will set the environment variable GTK_BASE and add
the gtk
binary directory in front of the path, so that GTK applications are now
completely standalone. No environment variable setup is required anymore
if you
want to distribute one of your own GTK application.

I want to add the Postgresql DBI extension and the FLTK GUI toolkit in
one of
the next versions. Also next on the todo list is a setup of an automatic
test
system, currently i only checked most of the extensions by manually
running a few examples.

Download is here:
http://www.ruby-ide.com/downloads/ruby/installer/S...

MD5 Checksum: F54DB55FA90D9A371DA52B7A30876206


I would really like to here your opinions.
Chris S. (Guest)
on 2007-03-06 06:55
(Received via mailing list)
On Mar 5, 9:06 pm, Lothar S. <removed_email_address@domain.invalid>
wrote:
> Hello,
>
> this is the first release of an alternative "One Click Ruby Installer" for windows.

Count me as super-intrigued.  I will definitely try this out the next
time I set up Ruby on a Windows box.  Hopefully, now, it'll be soon.

Chris
Joel VanderWerf (Guest)
on 2007-03-06 07:26
(Received via mailing list)
Lothar S. wrote:
...
> 2) My Arachno Ruby IDE needs a patched interpreter for the debugger
>    and this is the easiest way to handle it. In the past i was always
>    a few steps behind the one click installer. Having a separate project
>    means much more flexibility for me, even if i have to update a few
>    components of the installer regularly.

Can you briefly describe the effects of these patches?

Thanks!
Lothar S. (Guest)
on 2007-03-06 07:56
(Received via mailing list)
Hello Joel,

JV> Lothar S. wrote:
JV> ...
>> 2) My Arachno Ruby IDE needs a patched interpreter for the debugger
>>    and this is the easiest way to handle it. In the past i was always
>>    a few steps behind the one click installer. Having a separate project
>>    means much more flexibility for me, even if i have to update a few
>>    components of the installer regularly.

JV> Can you briefly describe the effects of these patches?

There are calls to a function pointer (which can be
installed from a debugging extension) at some points. At the moment
they are used whenever a thread is created/deleted/switched and a ruby
object is allocated or freed. It also possible that the debugging
extension
can store a pointer in the thread structure (which is only used
privately in eval.c) and one in the ruby source file name structure,
which is just a pointer before the malloced memory block in
("rb_source_filename" in file gc.c).

And well theres also one bugfix i planed to report to the Ruby core list
for quite some time. In windows -1 and (-2 in MSVC 8) are special FILE
pointers in console applications that don't have a console (ms hack) so
"rb_io_isatty(io)" has a bug and needs to be fixed.

static VALUE
rb_io_isatty(io)
    VALUE io;
{
    OpenFile *fptr;
    GetOpenFile(io, fptr);
    if (fileno(fptr->f) == -1) return Qfalse; /* THIS MUST BE ADDED */
    if (isatty(fileno(fptr->f)) == 0) {
        return Qfalse;
        }
    return Qtrue;
}
Robert H. (Guest)
on 2007-03-06 15:20
(Received via mailing list)
Why the GTK stuff and not wxRuby? I have been out of the loop for a
bit but I though wxRuby was going to be "the" toolkit?

Shouldn't these be reversed version wise:

    SQLite 2       3.3.13
    SQLite 3       2.8.17
Lothar S. (Guest)
on 2007-03-06 18:23
(Received via mailing list)
Hello Robert,

RH> Why the GTK stuff and not wxRuby? I have been out of the loop for a
RH> bit but I though wxRuby was going to be "the" toolkit?

I haven't seen a real wxruby application now and the website still
says "It's not quite suitable for production use yet" while Ruby GTK
is used a lot and stable.

Also WxRuby is a simple installable gem (only one so/dll file) while
GTK is much harder to install and to get all the DLL's. Also with GTK
you can have some trouble with the environment variables and the XML
parser if you install it just as described (xmlparse.dll + xmltok.dll
needs to be in the directory of ruby.exe and NOT in the gtk/bin
directory). It's not a problem, but for beginner it take a little time
and
why shouldn't this be solved by the installer writer?

As i said my opinion is that easy installable gems should not belong
to core installer while everything that is a little bit more complicated
to setup (and used a lot) should.

RH> Shouldn't these be reversed version wise:

RH>     SQLite 2       3.3.13
RH>     SQLite 3       2.8.17

Yes, i will fix that.
Daniel B. (Guest)
on 2007-03-06 18:25
(Received via mailing list)
On Mar 5, 10:56 pm, Lothar S. <removed_email_address@domain.invalid>
wrote:

<snip>

>     GetOpenFile(io, fptr);
>     if (fileno(fptr->f) == -1) return Qfalse; /* THIS MUST BE ADDED */
>     if (isatty(fileno(fptr->f)) == 0) {
>         return Qfalse;
>         }
>     return Qtrue;
>
> }

I wonder if using GetFileType() and checking for FILE_TYPE_CHAR would
be a better long term solution.

Regards,

Dan
Dave B. (Guest)
on 2007-03-07 13:11
(Received via mailing list)
Lothar S. wrote:
>                          SQLite 2       3.3.13
>                          SQLite 3       2.8.17
>                       Ruby-SQLite        2.2.3
>                      Ruby-SQLite3        1.2.1

Would you consider adding the SQLite DBMS itself (for one or both of the
versions)? It's not a large addition, and it would provide an
out-of-the-box SQL database within the package.

Why's DBMS-including SQLite gem prompted the idea.

Cheers,
Dave
Lothar S. (Guest)
on 2007-03-08 09:09
(Received via mailing list)
Hello Dave,

DB> Lothar S. wrote:
>>                          SQLite 2       3.3.13
>>                          SQLite 3       2.8.17
>>                       Ruby-SQLite        2.2.3
>>                      Ruby-SQLite3        1.2.1

DB> Would you consider adding the SQLite DBMS itself (for one or both of
the
DB> versions)? It's not a large addition, and it would provide an
DB> out-of-the-box SQL database within the package.

They are both included. The extensions (.so files) are statically linked
against the two latest SQLite releases. Thats why you see the 4
entries in the list.

So the extensions are useable out of the box.
Dave B. (Guest)
on 2007-03-08 10:35
(Received via mailing list)
Hi Lothar,

LS>                          SQLite 2       3.3.13
LS>                          SQLite 3       2.8.17
LS>                       Ruby-SQLite        2.2.3
LS>                      Ruby-SQLite3        1.2.1

DB> Would you consider adding the SQLite DBMS itself (for one or both of
the
DB> versions)? It's not a large addition, and it would provide an
DB> out-of-the-box SQL database within the package.

LS> They are both included. The extensions (.so files) are statically
linked
LS> against the two latest SQLite releases. Thats why you see the 4
LS> entries in the list.
LS>
LS> So the extensions are useable out of the box.

That's a pretty quick implementation of my suggestion, Lothar; are you
utilising some kind of time-flow-altering technology there?

Cheers,
Dave
Wayne V. (Guest)
on 2007-03-15 22:23
(Received via mailing list)
Hi Lothar,

I've missed seeing your posts on Ruby-Talk for the last 6 months or
so.  Welcome back!

I'm just now setting up a new development system running Vista, and
I'll give your new installer a try.

Best regards,

Wayne

-----
Wayne V.
No Bugs Software
Ruby, Erlang, and C# Agile Contract Programming in Silicon Valley
5+ years Ruby experience
David Kemp (Guest)
on 2007-03-16 12:10
(Received via mailing list)
On Mar 6, 4:06 am, Lothar S. <removed_email_address@domain.invalid>
wrote:
> Hello,
>
> this is the first release of an alternative "One Click RubyInstaller" forwindows.
[snip]
>
> I would really like to here your opinions.

Hey,

This looks like an interesting development, but alas, at the moment,
it seems it doesn't work...

C:\ruby>gem install xmpp4r-simple
ruby: No such file or directory -- y:/work_generated/windows_ix86/
ruby_installer/huge/install/bin/gem (LoadError)

ok, fine...
C:\ruby>ruby
(dialog box)
---------------------------
ruby.exe - Unable To Locate Component
---------------------------
This application has failed to start because SSLEAY32.dll was not
found. Re-installing the application may fix this problem.
---------------------------
OK
---------------------------


Have I missed something?

Thanks

David
Nicola S. (Guest)
on 2007-03-16 20:26
Hello  Lothar,
I am new to Ruby and  I am interested in your installer (now I am using
the one click installer).

I see the scite version is 1.67, is it correct? The last version is
1.72, could you include it? Maybe we can simply copy the files in the
right dir.

And also I see the new ruby vers. 1.86. When do you think you can
include it?


ps: sorry for my bad english.

Godz.
Wayne V. (Guest)
on 2007-03-17 05:39
(Received via mailing list)
Hi Lothar,

On a clean Vista system, I installed ArachnoRuby 0.6.9 and your Ruby
for Windows installer.  I'm seeing similar problems to what David Kemp
reported:

In the ArachnoRuby R. Gems Browser I click the "Update remote gems
list" icon, and I get the following error.

Retrieve remote gem list
ERROR:  While executing gem ... (NoMethodError)
  undefined method '[]=' for #<Gem::ConfigFile:0x3a94734>

Investigating this, I tried just executing "gem" from a command
prompt, and I get

C:\>gem
ruby: No such file or directory --
y:/work_generated/windows_ix86/ruby_installer
/huge/install/bin/gem (LoadError)

I notice that the file c:\ruby\bin\gem.cmd contains:

@"ruby"
"y:/work_generated/windows_ix86/ruby_installer/huge/install/bin/gem"
%1 %2 %3 %4 %5 %6 %7 %8 %9

which is odd, as this system doesn't have a y: drive

If I just do
C:\>ruby

it seems to hang forever.  If I enter control-C I get:

C:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb: Interrupt

Thanks,

Wayne
Wayne V. (Guest)
on 2007-03-17 07:32
(Received via mailing list)
Please ignore my report of the hang when I ran ruby from the command
line.  That's the expected behaviour, as it's reading from stdin!

I renamed the c:/ruby directory that was created by the Ruby for
Windows installer, and installed the One Click Installer version
of Ruby.  This cleared up the problems I was seeing, except that
"Update remote gems list" still gets the same error:

ERROR:  While executing gem ... (NoMethodError)
undefined method '[]=' for ...

So that seems to be more of an ArachnoRuby issue rather than
a Ruby for Windows installer issue.

Thanks,

Wayne
Nobuyoshi N. (Guest)
on 2007-03-17 09:13
(Received via mailing list)
Hi,

At Tue, 6 Mar 2007 14:56:36 +0900,
Lothar S. wrote in [ruby-talk:242068]
> And well theres also one bugfix i planed to report to the Ruby core list
> for quite some time. In windows -1 and (-2 in MSVC 8) are special FILE
> pointers in console applications that don't have a console (ms hack) so
> "rb_io_isatty(io)" has a bug and needs to be fixed.

It should be replaced in init_stdhandle().  Doesn't it work?
This topic is locked and can not be replied to.