From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id gLY9MSL4zmKAuAAAbAwnHQ (envelope-from ) for ; Wed, 13 Jul 2022 18:51:46 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id KKT9MCL4zmL3nQAAauVa8A (envelope-from ) for ; Wed, 13 Jul 2022 18:51:46 +0200 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 E253AB34B for ; Wed, 13 Jul 2022 18:51:44 +0200 (CEST) Received: from localhost ([::1]:34230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oBf4P-00031S-Pp for larch@yhetil.org; Wed, 13 Jul 2022 12:18:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36650) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBerL-0004EZ-L3 for help-guix@gnu.org; Wed, 13 Jul 2022 12:05:08 -0400 Received: from lepiller.eu ([89.234.186.109]:41828) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBerB-0004t0-IM for help-guix@gnu.org; Wed, 13 Jul 2022 12:05:06 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 6ad318b4; Wed, 13 Jul 2022 16:03:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:in-reply-to:references:message-id:mime-version :content-type:content-transfer-encoding; s=dkim; bh=4mec5u5UVYeS ceCKq0uleQf5kd6EfpiSwEyGzHiy6yQ=; b=JBGd84VnH4OEmHzCZpSyjZ0DlYmT 3swGKboUFdMBtNYMiJzHJD8HgeXXjqyuHC+ccwDh6jOGmOJcDSg8DHwIZ5gxNJSG 2pOgvHa22wkz4G9/BMw88vOfjdZ2k2B46pSgzpWV2omSvfENGFCsGKlumE8EmWZ4 AEcQWtcJymwCs7qGz5BkTCiVpNxMvPlj7E0Ko5eqeJKrxTVQuS/ACOpN7oKrtkQ8 2Vfke6vzehcke+PeU10KwuPfMH6qLl/ur1Rm6DBafMK6MS5dEuQBDXmyY9PYp1lZ dz4Dt0lAdHKEztGGId1QcXLRR1W9us8Nu9xw+wUUELNJ0MEZNsb0TZqxOg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id b4c122ed (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Wed, 13 Jul 2022 16:03:50 +0000 (UTC) Date: Wed, 13 Jul 2022 18:03:44 +0200 From: Julien Lepiller To: help-guix@gnu.org, Peter Polidoro Subject: Re: Finding Dependencies at Run Time User-Agent: K-9 Mail for Android In-Reply-To: <8EA69D34-498D-4172-B0E4-C90E59009F68@polidoro.io> References: <8EA69D34-498D-4172-B0E4-C90E59009F68@polidoro.io> Message-ID: <24DD9713-A088-4C6A-8D8B-5DCF60E623AF@lepiller.eu> MIME-Version: 1.0 Received-SPF: pass client-ip=89.234.186.109; envelope-from=julien@lepiller.eu; helo=lepiller.eu X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1657731106; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=1GAl3tQHUdr6QN30H/ihYIi1iEmU8WOYXLtd32HLQ9Y=; b=N7xW/TEH1lP9EsnU6hIQfTq0oGY+IxVEjGHioj1P0XF2EkH+MDIsuzmjfh6Fv0GTcsYYAb dbWs/FKGqB9YAUjhQBLgOwG3WTb1eCXjQqGZaOgMsViwT1rvXTrXjmZAWy5a5cVVw4JaCJ SfAXvONE9DFTov9fwREgmM3L40mr4T7JK7XzXxLa95gze6X5FG7AXDUgRmc92pxDine5Jf COM3KLSbuqZ11iuaf0y1+aaI62ZFglgoFEj8womhH0XFnblcgl3aoB8R6ByWX7PNxe7SXw lu5ScqmNleGRGo0vjAaXwr+LekQWMGG4OmYVEsknBA9uSrPG+PiJEOY6psg2tw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1657731106; a=rsa-sha256; cv=none; b=FelhslSXcbh02NLtZaUoOgUboiJBCmcgVCoPXdMvQOumzpyl9+NwVWzU90rs1XNRnYU6G+ gDRekWMOvWEMymVYUQ/Vue2lbpg5xKGu3iwFQWBX/GNJ1xCHm5eUrpBx6MbfqaH9ECYCRw KNZZcrrJN2tDslTzvBtPNB6wxfUbyrksDAY+BCBXGvmwPgXzExGNiS28Vqh4364bZBcloB frXfaCeHcYncAV+7ICbQ0UG+WmTlzi66VVaSPz0OD/4lpNga9a/H/2ujt06YRSLJoXaF5L LNEI25JUbFgdS0DSsd6s0WRE+/5M9CSgd9Wvn9J0Mzb5Wr4wmItFR+cb5qzFCQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=lepiller.eu header.s=dkim header.b=JBGd84Vn; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.76 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=lepiller.eu header.s=dkim header.b=JBGd84Vn; dmarc=fail reason="SPF not aligned (relaxed)" header.from=lepiller.eu (policy=none); spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: E253AB34B X-Spam-Score: 5.76 X-Migadu-Scanner: scn0.migadu.com X-TUID: 0Pq5C3puBhGp The information is all in the package=2E You can see for instance store pat= hs that are embedded form a store path with: guix gc --references /gnu/store/=E2=80=A6 The mecanism depends a bit on the build system but for C programs, it's em= beded at build-time in its RPATH=2E For applications, there are wrappers (h= ttps://guix=2Egnu=2Eorg/manual/devel/en/html_node/Build-Utilities=2Ehtml#Wr= appers)=2E Otherwise, we have to propagate run-time dependencies=2E The daemon is no longer involved once packages are built/substituted=2E Le 13 juillet 2022 16:56:27 GMT+02:00, Peter Polidoro a =C3=A9crit=C2=A0: >I apologize for a very basic question, but I could not find where this is= documented=2E If a paper or manual page describes this I would be happy to= read it=2E > >How, in general, does code in a Guix package find its dependency packages= at run time? > >Does it potentially work differently for each build system or is the same= approach used for all packages? > >Are absolute store paths of the dependencies saved at build time in envir= onment variables or symbolic links or something that are accessible to the = run time code? > >If code in a package looks for dependencies using relative paths, are cop= ies or links to the dependencies saved within the package? Or is that sort = of duplication always avoided? Are relative paths converted to absolute sto= re paths somehow? > >Is the Guix daemon needed at run time to help packages find each other or= is the information needed to resolve all of the dependencies saved into th= e package at build time? > >Thanks!