[Rubygems-developers] Binaries dependencies (shared_libraries) for Windows.

Charlie Savage cfis at savagexi.com
Tue Nov 18 15:59:01 EST 2008



Luis Lavena wrote:
> On Sun, Nov 16, 2008 at 7:19 PM, Charlie Savage <cfis at savagexi.com> wrote:
>>> I've explored the different alternatives under several environments
>>> and the following are my findings:
>>>
>>> 1) Alteration of PATH to prepend the DLL location.
>>> 2) Usage of SetDllDirectory
>>> 3) LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
>> Maybe we do something simple and say that all shared dependencies get put
>> into ruby/lib on windows (or create a new directory, ruby/shared or
>> something).  Or we could just do what happens now, put everything in bin.
>>  But I think its probably be better to separate them out.
> 
> We will still face the override of the libraries by old/new versions
> that came from different gems.

Yes, but that's true in both cases, isn't it?

> Highly unlikely the dll has different version, like ones found on
> *nix, they always stick to the same name.

Well, take for example libxml-ruby.  It uses these dlls:

libiconv-2
libxml2-2
zlib1

So the major numbers are in the name....

> I'm looking right now how option 3 will affect when allocating two
> handles and adding the proper hooks to cleanup those at_exit.

Yes, that would be better.

Charlie
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://rubyforge.org/pipermail/rubygems-developers/attachments/20081118/5fa8916f/attachment.bin>


More information about the Rubygems-developers mailing list