[Win32utils-devel] Comments for Daniel Berger blog post

Heesob Park phasis at gmail.com
Sat Aug 8 20:06:09 EDT 2009


Hi,

2009/8/9 Luis Lavena <luislavena at gmail.com>:
> On Fri, Aug 7, 2009 at 10:36 PM, Heesob Park<phasis at gmail.com> wrote:
>> Hi Luis,
>>
>> 2009/8/8 Luis Lavena <luislavena at gmail.com>:
>>> Hey Daniel,
>> <snip>
>>>
>>> [snip]
>>>
>>> Wonder why your negative comment about it or if you haven't heard the
>>> news about Ruby-ffi 0.4.0 release with native gems for mingw32 and
>>> mswin32.
>>
>> I guess I'm the source of the negative comment :)
>> I'm always watching ruby-ffi and rubyinstaller mailing list. And I
>> know FFI builds with RubyInstaller and DevKit.
>> Do you have tried to build ruby-ffi 0.4.0 with mswin32 compiler? I
>> tried and it failed.
>
> No, I no longer have installed or try Visual Studio for any C project anymore.
>
>> As you now, I have a patched version ruby-ffi-2.0.0 and binary gem.
>> Porting to mswin32 compiler of GCC oriented project is a pain
>> especially in system programming.
>
> Indeed I'm fully aware of that particular issue, I've tried several
> times to build not Ruby but all the dependencies related to it,
> including GNU ones with VC8 and failed in the process.
>
>> When I wrote a message on the ruby-ffi forum about the mswin32 patched
>> version, they just commented that why not try mingw32 version. No one
>> ever give an interest on my patch.
>
> I believe because there is no way for them to reproduce it or test
> that it works properly. If they integrate that patch and someone else
> system installation breaks, then noone will look at you for fixes, but
> look at FFI team instead.
>
> That's how OSS works.
>
>> I guess you dislike mswin32 compiler and have a bias towards ming32.
>> Recently all your posts are focused on mingw32.
>
> I dislike unneeded complexity. I dislike spent 3 full weekends getting
> a handful of Ruby dependencies working just to find out that the
> performance gain was marginal. A complete waste of time.
>
> And all the pain,headaches and blindness caused by staring at Ruby C
> code to get it work proper didn't made me feel good after.
>
>> Don't you want to see mswin32 version of Ruby anymore? Would you
>> summarize why you decide mingw32 version as rubyinstaller platform?
>
> I don't have a problem summarizing it, but perhaps I'm not good with
> summaries :-P
>
> VC8/VC9 links to MSVCR80/90, not MSVCRT.dll, because of that, none of
> the dependencies Ruby uses can be used.
>
> This has been raised every time on Ruby-core, and segfaults because
> mixing of CRT got my tired.
>
> For mswin32 compilers to work, I would have to go, on every release,
> over the Ruby dependencies and get those build and work with mswin32
> compiler, since already provided executables are not going to work,
> since they link to a different CRT.
>
> Going VC8/9 will also break Ruby binary gem compatibility, since gems
> for VC6 would fail on VC8/9 due the exact same CRT issue and even
> worse, due incorrect msvcr80-ruby18.dll or msvcr90-ruby18.dll
>
> Usage of freely available VC8/9 has not proven advantage over old and
> obsolete GCC 3.4.5. To be able to use PGO you need paid Visual Studio,
> so is a negative point to use it as official compiler.
>
> Even more complicated is explain to developers that the CRT is no
> longer a simple DLL but is now an SxS assembly that needs to be
> referenced and you need to install a Runtime package every time you
> want to run it.
>
> This becomes a issue and put higher the entry point barrier for people
> wanting to install or use a "packaged" version of a tool.
>
> Leave out of the equation 3rd party developers, outside of
> RubyInstaller team that creates tools that links to binaries which we
> don't have control, like MySQL, PostgreSQL, Oracle, etc.
>
> Even worse, consider how many of those do not care about Windows at
> all? Believe me, takes a great deal of effort and time to prove them
> that they can get their projects working on Windows.
>
> I've written about this stuff for the past 4 years, been ignored over
> Ruby-core, ignored over private email and been considered a noob
> ranting all over Ruby current Windows situation.
>
> I've even explored VC8 back in 2007/2008 and even before getting Ruby
> to build with it instead of GCC.
>
> Ruby has not been born to properly interact with Win32API, not even
> with Windows... 4 layers of functions to be able to get into IO
> elements? C files fully covered of conditional macros to determine
> which OS you're in? That sucks.
>
> But can't do anything to change that, tried, but I'm alone.
>
> Perhaps I'm wrong, or all the above points I've mention means nothing to you.
>
> I'm not trying to prove that "my solution" is the the right one, heck,
> maybe I'm completely wacko and I just do crazy stuff, but had worked
> for me until now.
>
Thanks for your a little long summary :)
I understand your situation and despair.

Now I really want to know is that the mingw32 compiled dll is
compatible with mswin32 version of ruby. Is there any way to make a
dll build with mingw32 compiler to compatible both mingw32 and mswin32
version?

Regards,

Park Heesob


More information about the win32utils-devel mailing list