Replacement for GMP as Bignum: ARPREC? Haskell?; OS-X and OpenSSL

skaller skaller at users.sourceforge.net
Sun Jul 30 15:00:16 EDT 2006


On Sun, 2006-07-30 at 19:03 +0100, Duncan Coutts wrote:
> On Sun, 2006-07-30 at 17:33 +0100, Brian Hulley wrote:

> I think part of the issue is that static linking is very convenient and
> dynamic linking in this case would lead to some tricky administrative
> problems.
> 
> Suppose for a moment that GHC did dynamically link gmp.dll, or indeed
> HSbase.dll. Where exactly would these files go?

> Now as far as I understand Windows dll technology this requires either
> that:
>      1. gmp.dll be copied into the directory with Foo.exe
>      2. gmp.dll exist in the windows or system directories
>      3. gmp.dll exist somewhere on the windows search %PATH%
> 
> None of these are attractive or scalable solutions.

Nor is static linkage ;) 

FWIW: Windows has obsoleted your solutions above. 
It now uses a thing called 'assemblies'.

This involves shipping all the dependent dll's with an application
or library, and embedding a 'manifest' in each executable object.
On installation, the dll's are copied into a cache if necessary,
and the dynamic loader knows how to find them there. Versions
of a library are kept distinct.

In particular note this applies to the C library (MSVCR80.DLL)
which is not considered a system library on XP anymore, 
XP64 in particular.

Exactly how MinGW version of gcc will cope with all this
I do not know. I personally couldn't figure out how to make
it all work ;(

> On Unix this isn't a problem because it's possible to embed the dynamic
> library search path into an executable (and indeed into a dynamic
> library) using the -rpath linker directive.

Which has problems of its own -- and is strongly discouraged
by systems like Debian. Don't even think about it, rpath is evil.

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net



More information about the Glasgow-haskell-users mailing list