
Am Sonntag, den 09.08.2020, 09:53 -0400 schrieb Brandon Allbery:
If you are obeying all the necessary restrictions on glibc, or you are using a different libc such as musl which is designed for static linking, then "-Wl,-static" should be sufficient. Doing this with glibc will likely result in a crash unless the same version of glibc is available at runtime.
Thanks for the tip! But I'll let it be for now. Cheers, Volker
On 8/9/20, Volker Wysk
wrote: Am Sonntag, den 09.08.2020, 08:59 -0400 schrieb Brandon Allbery:
Linux is not friendly to static linking, and you would need to either package or match exact versions of things like the nss and locale libraries that are dynamically loaded at runtime and don't show up in ldd. This limitation comes from glibc and is documented in its manual.
That's bad. But, like you said, it *is* possible. The dar (disk archiver) program comes with a statically linked version "dar_static":
% ldd dar_static Das Programm ist nicht dynamisch gelinkt
("The program isn't linked dynamically.")
From your answer, I assume that this isn't supported by GHC.
Cheers Volker
On Sun, Aug 9, 2020, 08:50 Volker Wysk
wrote: Hi!
I know of the command line argument "-static". But this only affects the Haskell libraries. I want to link some programs completely statically, no external libraries needed.
When just linking with "-static" I still have those dynamically linked things:
desktop ~/bin $ ldd sicherung linux-vdso.so.1 (0x00007ffdab53f000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3633da0000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3633d95000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f3633d90000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3633d8a000) libpthread.so.0 => /lib/x86_64-linux- gnu/libpthread.so.0 (0x00007f3633d67000) libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f3633ce3000) libatomic.so.1 => /lib/x86_64-linux-gnu/libatomic.so.1 (0x00007f3633cd7000) libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f3633ccb000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3633ad9000) /lib64/ld-linux-x86-64.so.2 (0x00007f3633f0c000)
Is it possible to link the remaining libraries statically too?
Regards, Volker _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users