Linking vs. shared libs on Unix

Thomas Pasch pasch@netzGeneration.com
Thu, 03 May 2001 00:07:26 +0200


Hello,

In the windows version of ghc, 
there seems to be the possiblity to compile
the libraries as shared 'dll's. Is the 
same possible for the unix version?

The question is because I think the ghc 
executables are really blown up. A simple
'Hello, world' has 172 kBytes (358k unstripped)
and the hello example of the GTK+ bindings 
is as big as 854 kBytes (2.2 MBytes unstripped),
although it is link dynamically against:

> ldd hello
        libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x40025000)
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x40028000)
        libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x40155000)
        libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x4018a000)
        libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x4018d000)
        libdl.so.2 => /lib/libdl.so.2 (0x401b1000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401b4000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401bc000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401cb000)
        libm.so.6 => /lib/libm.so.6 (0x402ae000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0x402cc000)
        libc.so.6 => /lib/libc.so.6 (0x402ed000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40400000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)   

Best regards,

Thomas