From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Zelphir Kaltstahl Newsgroups: gmane.lisp.guile.user Subject: Re: Guile 3.0.7 compile cache messages Date: Wed, 2 Jun 2021 21:45:14 +0000 Message-ID: References: <87im2xzsrk.fsf@clara> <25606725-6560-ef09-dcf5-2505cda16781@posteo.de> <20210602113017.ed9cae3bef68ff28e39c9172@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29769"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Guile User , Matt Wette To: randomlooser@riseup.net Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Wed Jun 02 23:45:35 2021 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1loYgA-0007Uf-OU for guile-user@m.gmane-mx.org; Wed, 02 Jun 2021 23:45:34 +0200 Original-Received: from localhost ([::1]:57110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1loYg8-0002Gq-TW for guile-user@m.gmane-mx.org; Wed, 02 Jun 2021 17:45:32 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loYfy-0002Gf-CT for guile-user@gnu.org; Wed, 02 Jun 2021 17:45:22 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]:60549) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1loYfv-0008Hv-Oq for guile-user@gnu.org; Wed, 02 Jun 2021 17:45:22 -0400 Original-Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 3069A2400FD for ; Wed, 2 Jun 2021 23:45:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1622670316; bh=jc2KSROkCDubiksgexxD0SiZu7QOYubtq0Espf7ZD+E=; h=Subject:To:Cc:From:Date:From; b=dIgyCTHHzph8h4KH2izR6Y+3UIbptb5aRooq+tRgYupROOvVyp/ZilPfnwhjmTnM6 BOpqjZeL9DzD3AMoALzvMoabinF984NfaSkxIkc8JnJzZNy9OOUZIUlkGZI4evdhXx NwC9s4nAvr4EceAsfp1w9gDJOpCwUzRICHHGG1iwCjXRPBxswDregEAPB04+oKIABb IJZeSUvDugkxBSb3P/ZH7d3tIvpuVeShfa0ewFnTuWKNHhVLZ7ev3lq6Ihfc/qNj6H 7JhOyRxbBqrCIMs9aBz4tWxQEHPTZAg0SiaifbLEDA0xNEeXhnbfwyjyI4z1ZDcTTH FkIPzFFulWiWg== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4FwMyL7469z9rxB; Wed, 2 Jun 2021 23:45:14 +0200 (CEST) In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=185.67.36.66; envelope-from=zelphirkaltstahl@posteo.de; helo=mout02.posteo.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17567 Archived-At: 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 project. 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 environment. 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: https://notabug.org/ZelphirKaltstahl/fantasy-vacation-planner/src/master/guix-env/manifest.scm (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 messages. Best regards, Zelphir -- repositories: https://notabug.org/ZelphirKaltstahl