[Top][All Lists]

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

Re: Guile 3.0.7 compile cache messages

From: Zelphir Kaltstahl
Subject: Re: Guile 3.0.7 compile cache messages
Date: Wed, 2 Jun 2021 21:45:14 +0000

Hi Adriano!

On 6/2/21 10:51 PM, Adriano Peluso wrote:
> Il giorno mer, 02/06/2021 alle 12.20 +0000, Zelphir Kaltstahl ha
> scritto:
>> > How do I go about it? Simply removing the cache folder the messages
>> point to?
>> > And what commands would that alternative workflow entail?
>> I skimmed your project and I see that there's only one dependency:
>> Guile
>> In fact, being the needs of your project so minimal, using a Guix
>> environment is a bit of an overkill
>> The way to deal with developing a project that is distrubuted throug
>> Guix would be to have and environment (or a profile) based on your
>> project 
>> In such environment you would have a shell with all your project
>> dependencies in it BUT your project itself
>> So you would git checkout your project within such environment and you
>> could build it, run the tests (if there are any) and generally work
>> with it in such a shell
>> as far as I understand (I stil don't know how channels work) you have
>> installed your project with Guix AND you are working on it
>> That's why the compiled code is in 2 different places
>> One of them was installed by Guix and another one has been put there by
>> Guile when it has autocompiled it
>> You can
>> 1) cancel the cache in your home folder
>> 2) remove the package installed by Guix (maybe also garbage collect the
>> store)
>> 3) create a guix environment for your project
>> The Guix cookbook has a paragraph on the difference between Guix
>> profiles and Guix environments and also the Guix blog has something
>> about this
>> I'd also discuss this on the guix mailing list as people there are more
>> immediately ready to discuss scenarios involving Guix
>> Hope this helps

I feel like I should clear up what I am doing with Guix a little.

Currently there is only Guile as a dependency, as stated in the readme of the

I usually put a script for activating a Guix environment into my projects, so
that I can later add Guile libraries mostly without any difficulty to the
accompanying manifest.scm file, making them available in the created 

The project is in its beginning stage, so right now there is no dependency.
Later there might be guile-json to read in some config file. Or I define
configuration directly in a Scheme file. Not sure about it yet.

I do not plan to distribute the project via Guix, nor have I installed the
project as a Guix package locally in the environment or have it in a channel
somewhere. (Side note: As far as I know a channel is merely a separate Guix
repo, where you only add the packages you want to have separately and then you
can list that repo and the commit id in your channels.scm file.) I merely use
Guix to have a reproducible environment to run the project in. As I understand
it, an environment is recreated each time it is "activated", unless Guix has it
cached somewhere in its magic folders, which is different from how profiles
work. I do not need a Guix profile for this project.

What I like about this approach is, that I can come back to a project and simply
activate the environment and run the project, without having to worry about
dependencies being missing, not installed in my current system, or anything like
that, assuming, that no one messes around with commit ids in the git repo of
Guix. Another example is here:
(also using guile-json to read a config, while the specific Guix commit is
defined in channels.scm)

And yes, it might be a bit overkill at this point in time ; ) I guess a bit
paranoid as well.

I think what I take from this is, that I will run garbage collect of Guix and
remove Guile caches (~/.cache/guile/ as Matt mentioned, thanks!) and then check
again, whether the messages keep coming. If Guile has a cache outside of the
project directory and outside of the Guix environment's files in the /gnu/store
thingy, then it might well be, that deleting that cache will get rid of the

Best regards,


reply via email to

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