Austin Ziegler wrote: > On 6/26/06, Bill Kelly <billk / cts.com> wrote: >> I'm not sure if this is the sort of information you're looking >> for, but I've run into the occasional extension, and/or library >> upon which an extension relies, that essentially requires >> mingw/msys to build. > > Not specifically. However, part of what I really want to try to get > the MS team to help us out with is a situation wereh I have > ImageMagick built with MSYS, RMagick built with Visual Studio 2005 (cl > 14) and Ruby built with VC++6 -- and it all Just Works. I'm not sure this is possible. This has come up quite often in the Perl community. The problem is that the C library is responsible for allocating and deallocating certain resources that cannot be shared across different run-times (memory, I/O buffers, thread synchronization objects for multi-threaded run-times, etc.) It can be worked around with proper interfaces. For instance it wouldn't matter what ImageMagick is compiled with because it provides a completely encapsulated interface; it handles its own resources. I'm not familiar with Ruby extensions, but unless Ruby provides the same encapsulation of resource management it is possible that corruptions will occur. E.g. Say you allocate memory from one run-time which gives you a handle that is valid in that run-time; then you try to free it in the other run-time, but in the other run-time it points to some random area of memory, discontinuous with the first. Boom! or worse. I also seem to recall that there is some problem with redistribution: msvcrt is available everywhere, but the newer run-times can't be distributed or something like that. I'm not sure of the particulars of that issue. I suggest contacting the folks at ActiveState.com. They have long dealt with this issue with their distributions of Perl, Python, and Tcl/Tk. They still use VC6 because of these issues. Randy.