From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id YBzaEkvbHl8nKgAA0tVLHw (envelope-from ) for ; Mon, 27 Jul 2020 13:48:59 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id aOK1DkvbHl95KQAA1q6Kng (envelope-from ) for ; Mon, 27 Jul 2020 13:48:59 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 5803694004E for ; Mon, 27 Jul 2020 13:48:58 +0000 (UTC) Received: from localhost ([::1]:51442 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k03Uu-0004cY-Qh for larch@yhetil.org; Mon, 27 Jul 2020 09:48:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33400) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k03Um-0004bc-FN for help-guix@gnu.org; Mon, 27 Jul 2020 09:48:48 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:42546) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k03Uh-0001eE-RZ for help-guix@gnu.org; Mon, 27 Jul 2020 09:48:48 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 254ccaee; Mon, 27 Jul 2020 13:48:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=qSvSkOeohZ9K T9MMIWmk3QTcR5PopQKV/5ofOKvRhTI=; b=AUZzidK6gl5f4WBH71pFUnIFe6DR RxdVbK35UifuC1GXXMUB7vZ2VwLtrkepIuHjnJDH6fu9bVkO4EJ5vo+w+0ZJl9L5 Fyfr+c1ajfeTomyiWZE3otETfPkKt28ZlA4TyxHsSGO8Ye/VKd35HZRURSmuiy4l 6/iuMKk6m98Qen/qua6Rov/6eBCnSmIfkYQsBfVf7U8IxC9/W+fkBk+97Eo4TQLB h7C6P3iIk6IljJKbDfABviAtleESn102JcSHCieI10yys0uKwBc5uXCLam2l3s9K y5jEQmtWqaM3XTN63/ktA2fhwXCaVeQyXrZ21qdBEpbfUTE16dmQgw7WeQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id c0f077f2 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Mon, 27 Jul 2020 13:48:36 +0000 (UTC) Date: Mon, 27 Jul 2020 15:48:26 +0200 From: Julien Lepiller To: mbcladwell@stihie.net Subject: Re: No Guile development packages were found. Message-ID: <20200727154826.06c55fa2@tachikoma.lepiller.eu> In-Reply-To: <20200727065252.Horde.zwuqgyOS38xl3-x-35QYgsn@www.stihie.net> References: <20200727065252.Horde.zwuqgyOS38xl3-x-35QYgsn@www.stihie.net> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lepiller.eu header.s=dkim header.b=AUZzidK6; dmarc=pass (policy=none) header.from=lepiller.eu; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -1.71 X-TUID: rskIrQtcGSel Hi, Le Mon, 27 Jul 2020 06:52:52 -0500, mbcladwell@stihie.net a =C3=A9crit : > Hi, > I would like to upgrade guile-json in my local store. > I start with > $guix pull > $guix package -u (didn't do anything) If guile-json is not installed in your default profile, that's expected. Otherwise, maybe it was your first guix pull? Make sure you have ~/.config/guix/current/bin *first* in your $PATH and run "hash guix" to invalidate your shell's cache for the guix binary location. Make sure "type guix" returns ~/.config/guix/current/bin/guix. >=20 > Modifying the template at =20 > https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ > I create the file guile-json.scm: >=20 > [...] >=20 > Looking at the log file, the final lines are: >=20 > checking for pkg-config... no > configure: checking for guile 3.0 > configure: checking for guile 2.2 > configure: checking for guile 2.0 > configure: error: > No Guile development packages were found. >=20 > Please verify that you have Guile installed. If you installed Guile > from a binary distribution, please verify that you have also installed > the development packages. If you installed it yourself, you might > need to adjust your PKG_CONFIG_PATH; see the pkg-config man page for > more. >=20 > command =20 > "/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash" > "./configure" "CONFIG_SHELL=3D/gnu/store/29jhbbg1hf55$ >=20 >=20 > I am on Debian 9 working with guile v 2.2.7, dev files are installed: >=20 > apt-get install guile-2.0-dev > Reading package lists... Done > Building dependency tree > Reading state information... Done > guile-2.0-dev is already the newest version (2.0.13+1-4). Guix does not interact with your system, and ensures that it does not use anything from it when building. Otherwise, the resulting package's content might depend on the content of the system that built it, and we wouldn't be able to ensure reproducibility across all the linux distributions. Instead, Guix builds packages in its own container system, completely isolated from the system, your environment variables, etc... In order to ensure guile is present in this container, you must declare it as a dependency (we call that an "input"). You'll also need pkg-config, so the package definition would look like this: (package (name "guile-json") ... (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" guile-3.0))) ... (license gpl3+)) With the necessary imports at the beginning of the file. You can have a look at the actual definition we use in Guix with: guix edit guile-json Another possibility, as guile-json is available in Guix (we have 1.2.0, 3.5.0 and 4.0.1 currently) is to use the available recipe for guile-json but with a different source, like this: guix install guile-json@3.5.0 --with-source=3Dhttps://... Not tested and if something changed in the build instructions, it might break, but it's certainly easier than creating your own definition from scratch. I specify the version since it's the closest to the version you want (in fact the recipe has not changed for guile-json 4, which would be the one used if you don't specify a version). Note that you'll need guile itself in your profile too in order for guile-json to be useful. >=20 > In my .bashrc I set the variable such that at the terminal prompt: >=20 > echo $PKG_CONFIG_PATH > /home/mbc/.guix-profile/lib/pkgconfig >=20 > Where did I go wrong? As said above, guix just doesn't care about your environment :) > Thanks > Mortimer >=20