From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 2Fs1BVgSz2KwNgAAbAwnHQ (envelope-from ) for ; Wed, 13 Jul 2022 20:43:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id uO85BVgSz2JXBAAA9RJhRA (envelope-from ) for ; Wed, 13 Jul 2022 20:43:36 +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 CB36C26FDE for ; Wed, 13 Jul 2022 20:43:35 +0200 (CEST) Received: from localhost ([::1]:44468 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oBhKg-0004XG-KA for larch@yhetil.org; Wed, 13 Jul 2022 14:43:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBhH4-0001bF-Q3 for help-guix@gnu.org; Wed, 13 Jul 2022 14:39:50 -0400 Received: from lepiller.eu ([89.234.186.109]:41858) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oBhH2-0007jA-4c for help-guix@gnu.org; Wed, 13 Jul 2022 14:39:50 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id e7e3cdce; Wed, 13 Jul 2022 18:39:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:in-reply-to:references:message-id:mime-version :content-type:content-transfer-encoding; s=dkim; bh=6Hlmbh1H9+Nr gAWeURRRC7ImoDmmIsSwaFHtSTQ7i80=; b=WvliqRl9pqJXB6ss3KJUlVtSxCMS Q9h5x/dbYcHjGVnLeZ6FeL0rNRi4ZrfnrAAW1PMPXLekV+KagyTMQsnJAuCm2jmb f0OpG9eckO8oqLjgkJb40ZfHAVVeMU6cZfZYQRmXEbXDtjQkf6mf6S+g1ek43ZUo LYRoSYo/XTXHWMgnKclM+VeMq1cHiYKtnkHPAsUM6ZPoHsBNr3tBUPop8RFg8JJL Wbl/8FjRUdFgEv6bdHjpOV+RCOaydgMloeSemWznnVBxDwZVdmcYHyQt9PR79OKS 7cj1Drbbvz8O4D+VgKk+5JSfJcCVcjO4dKJNmYKa3lpY0tiQzTyyVbtDCQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id e4ccc974 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Wed, 13 Jul 2022 18:39:42 +0000 (UTC) Date: Wed, 13 Jul 2022 20:39:34 +0200 From: Julien Lepiller To: Peter Polidoro CC: help-guix@gnu.org Subject: Re: Finding Dependencies at Run Time User-Agent: K-9 Mail for Android In-Reply-To: <86bktshp6m.fsf@polidoro.io> References: <8EA69D34-498D-4172-B0E4-C90E59009F68@polidoro.io> <24DD9713-A088-4C6A-8D8B-5DCF60E623AF@lepiller.eu> <86bktshp6m.fsf@polidoro.io> Message-ID: <4D18100C-EA74-494D-8014-12116892E5AE@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: -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, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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=1657737815; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=10BQkMjwcwoFx/5rykRZfxueP74VefS3WUT2x8Ctxmo=; b=l3iSzBa81z3z/He/Cw4Ti/oZAg1nfGd+QEWvmj5zgG2MRTXBIgJq+nCFT7DirVFYIj8kSd kTFkZNBxL4JxatEu9UASVKopWv52XFEImqn/FVGBqeE3uqIeNzZqzjZMnPWKD3/2wsJliW xfbLULbSBUMZ5EpUX0C3p7GDxQOyicbOxb3wKqXKLcSAS0cEZ0lBhfZ3ObAxrGLWFDdrBK KGNbB+aw1e6n3eeQdenex/MElXje5mBY7I+FvFNG9mSHi7qawNGPt3l/HurRVG++TXuHjV pKWhi6+6gP41KqlINCJQchCt6eT6Rtb6uJoEbinK4vRyrarP2WQYJ1g78O+rVA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1657737815; a=rsa-sha256; cv=none; b=cqpgsM5zkZ6JOI4hOnaSeFJ2KCS8Szz9YWSP2v8SmZZmqDmrtQ5Q5tpa3a8ik8zxUYhFk/ 8Dmkmm484pyIYrtdgOTXgwaX72ZwWx6BxHf5hY2ohXxc9hd0b0T11MAykRxZK2mUZOONOX DDRYiawzrw3e8yMF9sXKGDQiNPzcHbf+BTCcKU41P5MR4QNRqS1lGYCRDKa6rQgQ81WUAI 5fjo+sWoFoLuKe2SySxZKNzRH++ADopTnSRxvfcSDvqFWxw8kQRFno59rFeCCSdf4GZyOE PoppilHut/Ef5Xu3F/MRk73BzbrSFGHUt+RfOhxlsfusAONYEPYAfMzUcCKstw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=lepiller.eu header.s=dkim header.b=WvliqRl9; 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: 6.26 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=lepiller.eu header.s=dkim header.b=WvliqRl9; 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: CB36C26FDE X-Spam-Score: 6.26 X-Migadu-Scanner: scn0.migadu.com X-TUID: sNUF7YbSJgjL Maybe the general case is C programs rather than wrappers=2E During the build, search-paths and native-search-paths are used to set up = environment variables=2E If you use --keep-failed and interrupt a build you= 'l find them in /tmp/guix-build-=E2=80=A6/environment-variables=2E For C programs, LIBRARY_PATH is embedded as RPATH in the resulting binary = or library=2E For others, the required search paths can be embedded in a wrapper, which = defines environment variables before calling the actual program=2E For propagation, dependencies are found in the environment=2E It's less "p= ure" than the other ways, so we try to avoid resorting to that=2E Unfortuna= tely some programming languages don't really leave us a choice (like python= =E2=80=A6)=2E Le 13 juillet 2022 19:47:45 GMT+02:00, Peter Polidoro a =C3=A9crit=C2=A0: > >> The mecanism depends a bit on the build system but for C programs, it's= embeded at build-time in its RPATH=2E For applications, there are >> wrappers (https://guix=2Egnu=2Eorg/manual/devel/en/html_node/Build-Util= ities=2Ehtml#Wrappers)=2E > >So in general, packages use environment variables to find the absolute pa= ths of their dependencies in the store? > >In a package definition, are those dependency paths always set using wrap= -program? Are search-paths, native-search-paths, and setenv also used to se= t those environment variables or are those used for something else? > >> Otherwise, we have to propagate run-time dependencies=2E > >So how else can packages propagate run-time dependencies besides environm= ent variables?