On 9/30/07, Luis Lavena <luislavena / gmail.com> wrote:
> On 9/30/07, Austin Ziegler <halostatue / gmail.com> wrote:
>> On 9/30/07, Luis Lavena <luislavena / gmail.com> wrote:
>>> I remember the discussion was heated, but no final word on the
>>> platform that OCI will use for future releases. So far, still
>>> remains linked to VC6 ones.
>> This isn't really a core Ruby question. This should be asked on
>> ruby-talk or (if there is one) the One Click Installer mailing list.
> Austin, One-Click-Installer rely on official builds made by Ruby-Core
> developers (Nobu is in charge if memory works as expected).
>
> Is not a Ruby-Talk subject, but Ruby-Core one.

I don't actually agree here. Curt goes with the VC 6 build because it's
easier than trying to work with the overall environment himself and
previous incompatibilities.

>>> What is required to finally migrate Ruby builds on Windows to VC8?
>> A recompile of ANY library that an extension depends on, because of
>> rampant Microsoft incompatibilities. The problem is that any time you
>> have more than one application using more than one C run-time (e.g.,
>> MSVCRT.DLL and MSCRT80.DLL), you have different memory allocation
>> tables, different file handle tables, etc. Microsoft simply DOES NOT
>> CARE about this and won't provide any workarounds to make this clean
>> and easy.
> I'm aware of that problem, as I listed before just to summarize them.
> I'm not blaming anyone, Microsoft, users, whatever.
>
> We should look for a solution instead of starting to point fingers.

I've looked for a solution from the people who could give a useful one,
and gotten bupkis.

>> It is not in the One-Click Installer's mandate to recompile OpenSSL
>> using VC8 instead of VC6. Or zlib. Or pdcurses. Or ...
> As I said, is not a OCI question, is for the official builds (on which
> OCI relies).

What I just said about OpenSSL or zlib or pdcurses applies trebly for
Nobu or NaHi (or whomever it is that provides the base builds).
VC8-built Ruby will NOT safely run with any DLL that is built on VC6 or
MinGW. You must have all DLLs in your chain built with the same runtime
for safest execution.

>> VC8 is the best compiler available right now and the only choice for
>> 64-bit Windows. Maybe we can talk to Intel about using the ICC if
>> they'll be compatible. But Microsoft never responded positively with
>> any way to work around this given that we don't control the library
>> chain end-to-end.
> Maybe I'm wrong here, but 64-bit computing is useful for large
> memory-address (pointers) and not related to the core instructions set
> used to get a program working.

Performance. 32-bit code runs a bit slower on x86-64 and Win64 than on
Win32.

>> It's not a problem for most of Microsoft's customers like my
>> workplace, where we compile EVERYTHING we need from scratch (except,
>> of course, Windows) or can demand up-to-date libraries from our tool
>> vendors (or pay for them...). It is a problem for any open source
>> project, not just Ruby.
> I was talking about "average Joe", who just started with Ruby and want
> to dig into the extension building / using land.

> Don't expect all the users that use a language compile everything from
> scratch. At some point you didn't...

> We should extend the "simple but not simpler" philosophy found across
> all Ruby and Ruby libraries to the environment.

> Getting it right reduce overhead of support, which turns in less noise
> and more happy developers/community.

Right. But the amount of overhead to support to get VC8 working is
insane. I tried it, remember?

> BTW, wasn't you who migrated to OSX? :-P

Yeah. I've never been happier than when I no longer had to deal with
Windows at home. I still work with it at work every day, though.

-austin
-- 
Austin Ziegler * halostatue / gmail.com * http://www.halostatue.ca/
               * austin / halostatue.ca * http://www.halostatue.ca/feed/
               * austin / zieglers.ca