[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Static linking of Guile extensions
From: |
Maxim Cournoyer |
Subject: |
Re: Static linking of Guile extensions |
Date: |
Tue, 29 Aug 2017 13:58:08 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Christopher Allan Webber <address@hidden> writes:
> Maxim Cournoyer writes:
>
>> Hi,
>>
>> Today I tried investigating if was possible to build Guile so that even
>> its extension modules could be built in statically rather than
>> dynamically loaded. I didn't succeed; even when building Guile the way
>> its described by the %guile-static package in Guix (see (gnu packages
>> make-bootstrap)), I would still get the following message when attemting
>> activation of readline:
>>
>> scheme@(guile-user)> (use-modules (ice-9 readline))
>> While compiling expression:
>> ERROR: In procedure dynamic-link: file: "libguilereadline-v-18", message:
>> "file not found"
>>
>> Interestingly a static library for readline seems to have been built:
>>
>> /gnu/store/xxi8scxxx8g6i9h0lm57i5kc3xwcgj5r-guile-static-2.0.14/lib/libguilereadline-v-18.a
>>
>> One use case would be to have readline support for a statically linked
>> Guile such as used for the GuixSD init ram disk; I'm currently attemting
>> to troubleshoot a problem at the init prompt (Guile) and it would be
>> great to have line editing support there!
>>
>> Maxim
>
> As an aside, you may want to look at 6.3 on Ian's update here:
> https://lists.gnu.org/archive/html/guile-user/2017-08/msg00070.html
>
> Maybe there can be some alignment on this work?
Thanks for sharing this! After much interesting reading, it seems that
the issue of statically linking Guile modules together is a currently
missing feature of Guile. It's mentioned as part of some future
goals/tasks that Andy would like to happen in a future Guile [0].
I'll put an entry in my ever growing todo list, but I have many things
to work on before I get there.
Maxim
[0] https://wingolog.org/archives/2016/02/04/guile-compiler-tasks