guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile, Guix, and C extensions


From: Ricardo Wurmus
Subject: Re: Guile, Guix, and C extensions
Date: Fri, 03 Apr 2020 05:32:38 +0200
User-agent: mu4e 1.2.0; emacs 26.3

Hi Stephen,

> 1) If I use the Guile `GUILE_SITE_DIR` Autoconf macro to provide locations
> of Guile's site, compiled code, and dynamic library extension directories,
> installation of the package fails because it tries to install these into
> Guile's own directory in the Guix store, which I believe is prohibited,
> because Guix wants to maintain atomic, immutable, reproducible and
> verifiable installations of each package.

This is correct.

> But what's more, not only does it
> do that, but it is using the *wrong* Guile ... it resolves to the
> /var/guix/profiles/system/profile Guile instead of the Guile installed into
> the active profile for the current user.

I don’t understand this.  At what point does it use that Guile?  When
building a package that has “guile” as one of the inputs it is *that*
variant of Guile that is used.  Within the build environment Guix
doesn’t use any profiles.

> 2) If I don't use `GUILE_SITE_DIR`, I can arrange for the Autotools
> installation to install files into
> a structure such as:
>
>     <module-store-dir>/lib/guile/<guile-version>/site-ccache
>     <module-store-dir>/lib/guile/<guile-version>/extensions
>     <module-store-dir>/share/guile/site/<guile-version>/my-module.scm
>
> This nicely results in symlinks pointing into the module store directory
> being populated into the following directories:
>
>     <install-profile>/lib/guile/<guile-version>/site-ccache
>     <install-profile>/lib/guile/<guile-version>/extensions
>     <install-profile>/share/guile/site/<guile-version>
>
> I think this is close to what should be the correct result, but it doesn't
> quite work because `extensiondir` in %guile-build-info` points into the
> store directory for Guile, so the compiled C dynamic libraries cannot be
> located.

As long as the configure script provides an option to override the
location Guix will be happy.

-- 
Ricardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]