[Rubyinstaller-devel] Did you succeed on Ruby-MinGW compilation?
Roger Pack
rogerpack2005 at gmail.com
Mon Oct 22 06:11:38 EDT 2007
For some reason the mingw gcc is having trouble with finding headers and
libs. It is reasonably annoying :)
$ cat test.c
#include <zlib.h>
Melissa at MELISSA-PACK /c/take3/ruby/ext/zlib
$ gcc test.c
test.c:1:18: zlib.h: No such file or directory
Melissa at MELISSA-PACK /c/take3/ruby/ext/zlib
$ ls /usr/local/include
GraphicsMagick iconv.h libcharset.h localcharset.h zconf.h zlib.h
It's there! I see it!
Anyway gcc is loading its own directories--I think the problem is that I
unzip things within the 'msys' framework, when in reality I should unzip
them all within the mingw subdirectory. Man that is so retarded!
I am also having some serious difficulty getting openssl to compile, still.
I honestly don't know how to do it!
On yours does it actually compile anything after it says "compiling zlib" or
what not?
> > We used it at the office (my company) and for our consulting services.
> > > Since last year I'm struggling to get a working, faster environment
> > > for Ruby on Windows.
Amen to that.
> > Honestly I don't like this small struggling community of ruby for
> > windows users split again, so I'll love have you on the team and get a
> > faster product.
I can help out in a limited way :)
No problem, there are tools (free) that allow us create MSI
installers. WiX and WiXTool.
Nice.
Does ruby actually run faster in 64 bit modes? I guess the good thing about
it is that you can use more memory--like...you know...more than 4G or what
not, so I guess being able to eventually compile in it would be nice. Do you
think mingw will cut the bill for that?
> > - Modular design: currently as I commented to Curt, the installer is a
> > giant beast that lack testing and modularity -- even using the
> > rakefile -- it is a huge one too difficult to debug.
>
> There would probably be the natural way of dividing it
> to be 'main build' 'internal ext's' and
> 'gems' (which is, of course, nuts since gems
> is almost everything)
>I was talking about the core of the installer, since beside Ruby it
>needs the dependencies like OpenSSL, Zlib, Gettext, Iconv, readline,
>etc. available at install time.
So you want people to keep track of updates to these libraries and integrate
them? Not too much
problem. It seems like once you get a single build running
(anywhere), then updating that build would be cake.
>In that way, we could "modularize" or pluginize the installer and
>create, without too much hassle new installers for the different
>interpreters.
>Simply the gem creation and building on Windows is one of the goals.
One option is to include a limited build with the distro (like just
gcc.exeor what have you), and then gem creators can have it build
still.
> > - Developer ecosystem friendliness: With the update to VC8 or MinGW,
> > the new Ruby distro will be more friendly to developers, so you will
> > need just a few instructions to get started, instead the whole problem
> > we are dealing right now.
>
> I still like the 'one click installer' idea, at
> least personally. Then tell them to use
> gems (and how) and they are good to go :)
The One Click installer idea is still present, I meant provide better
documentation or support to Gem/Ruby developers with the new "distro".
>The survey will cover a "User/Developer" profile, so we could get a
>picture of the usage of Ruby on Windows.
Asking for advice 'which do you prefer' would be nice, too.
> 2) Have a working VC8, mingw, and VC6 (with extensions?) side by
side. Err
> rather maybe just VC6 and a mingw build side by side so that people can
> download them and tell us which one they like more. Give them the choice
to
> experiment and see if they like one more than another, then pursue that
> path. If no opinion then pick one :)
>There is a official build with VC6... and is the one that powers OCI
currently.
>VC8 should be the option since is freely available (and VC6 no longer).
Once I get one working with all the libs I'd be happy to post it.
> Mingw feels faster than VC6--that I can tell. It does. I like it :)
Of course, VC8 feels faster than VC6 too.
We should considerer the whoe spectrum and not just the speed of
things, stability is important.
>A lot of improvements are made to the ruby trunk regarding VC8
>compatibility, and MinGW, on the contrary, haven't improveed (haven't
>seen commits about it) for the past year.
>That is a important thing, and shouldn't be ignored, since Reinventing
>the wheel on a project like this is something huge.
Either way's good for me.
>Last, but no least, MinGW is more close to what vanilla-gcc is
>available under Linux (and similar to OSX too -- afaik), we shouldn't
>discard that knowledge neither...
>Is a difficult choice, but someone must take it :-)
> Also it would be nice to run some really nice tests between all the
versions
> to see what people are getting into :)
I don't know what you imply with "nice tests". If you're just talking
about performance, even is important, stability came first.
Some tests that show file I/o and socket I/o would be nice. Of course it
MUST be stable--any real distro.
>(You already show me that RMagick is doing some weird things on MinGW).
Yeah we need to resolve those things before maybe...even mentioning it as a
real alternative? I can let you know when I finally get everything working.
The learning curve is somewhat bad here.
I don't understand exactly how this msys versus normal directory structure
thing is actually supposed to work. I think that the msys people envision
you only using their tools from the console
window or something? Huh? I just don't get it.
> If it were my personal choice I'd probably go for mingw, because then gem
> creators in Linux aren't "shooting in the dark" for the windows side of
> their gems.
On every gem or lib that I use I provided patches to ease the problems
with Windows platform, most due linux developers disregards things
like cross-platform, and code things for their own distro.
I sometimes have found code that couldn't get it working on other
distro that wasn't the original used by the author's gem.
> Of course, the real reason I'd suggest that is that I have an
> (almost) working build of mingw, and not a VC environment at all (I wanted
> speed!).
Again, speed vs. stability. Getting the build environment for VC8
isn't too complicated either, but more complex than MinGW it is.
A note: VC8 is free, as I commented before.
The only drawback I see to mingw is that it probably ain't going to 64-bit
anytime soon. And we need to make sure it works. Then again I've never
even used it, so I have no point of reference. I'd say offer them both
side-by-side for awhile (one for backwards compatibility), and see which one
people like. I think after they see that mingw is faster they'll all just
use it...like automatically.
Good luck to all of us!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rubyinstaller-devel/attachments/20071022/2e4c2c26/attachment.html
More information about the Rubyinstaller-devel
mailing list