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 ms0.migadu.com with LMTPS id 8Bk+IQVqvmDXRAAAgWs5BA (envelope-from ) for ; Mon, 07 Jun 2021 20:48:37 +0200 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 +CeRHAVqvmBGBAAA1q6Kng (envelope-from ) for ; Mon, 07 Jun 2021 18:48:37 +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 3C8A48B8F for ; Mon, 7 Jun 2021 20:48:37 +0200 (CEST) Received: from localhost ([::1]:60690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqKIe-0000GO-Al for larch@yhetil.org; Mon, 07 Jun 2021 14:48:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqKIS-0000Eo-7r for guix-devel@gnu.org; Mon, 07 Jun 2021 14:48:24 -0400 Received: from mailrelay.tugraz.at ([129.27.2.202]:61251) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqKIO-0007u8-SQ for guix-devel@gnu.org; Mon, 07 Jun 2021 14:48:23 -0400 Received: from nijino.local (62-116-34-49.adsl.highway.telekom.at [62.116.34.49]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4FzMnm3qkdz1LLyW; Mon, 7 Jun 2021 20:48:12 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4FzMnm3qkdz1LLyW DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1623091692; bh=skvDoxao56S7+GgIqgkdhxyE8BJFQVXJ6z2HjjE33bo=; h=Subject:From:To:Cc:Date:In-Reply-To:From; b=mzXAOioQFNWJb7pOSWGl5selqjcklM3I9hFrbYyRXU4wtQeSeW3ZWQILDUKhOq4QY BFFoSQ1YGR1AqMlC525w9gTuqf1mAa6PPARRmaFKkGuRb57VVq/MFh/DFST5izJ/tm HGWIMfOZ5Wdk9cGDFUFtsafO0eRlJjOnUSn3paNo= Message-ID: <1d692fea3e3710b38841023fa3f9b7c44b5c5a4f.camel@student.tugraz.at> Subject: Re: Some more rust/cargo insights From: Leo Prikler To: h.goebel@crazy-compilers.com Date: Mon, 07 Jun 2021 20:48:11 +0200 In-Reply-To: 7087581e-eb31-ff48-50b9-443d7676e498@crazy-compilers.com Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: bt4lQm5Tva3SBgCuw0EnZw X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 Received-SPF: pass client-ip=129.27.2.202; envelope-from=leo.prikler@student.tugraz.at; helo=mailrelay.tugraz.at X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=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: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1623091717; 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:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=skvDoxao56S7+GgIqgkdhxyE8BJFQVXJ6z2HjjE33bo=; b=Zmx0EwakQrOGyq5cRZYGArpDTQcpyi3ojRfGItohSiXhATFcyt51dUs4uaqKqHAT8UL1z9 J0lRteVqvVyaY98IQU+FnSe5LM8wdQugJmaWfRENcWRjTBgkBbt8q//mm8dnkOyXuPF4Aj /HxEkfP23DrFGbsRdSZubfEXXFkV2wq0AADF2ty01d7y/FqMMAwr5VeWZHjTE95TmoKK2S m0L49+SEtbV9Nr0efLK2AjJUP4dP8i78OrSx5svNtdh/CyBoBBoXbSo6kin0hn+nL10Iqy 5WNXZEMm0xCIV20bHlPVFvI97Qj0iM1m33jZGU7wuKmcCcWEUXNBt8qOkHcLnQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1623091717; a=rsa-sha256; cv=none; b=p6xNi8jTdoma0XkuZPX3zdOUMm32JPAT2pvMYZZ50Y7lzTmYwuW4FMnrdwy3ymIBXRD+dW Edr4JnwEhDJAJRyND7oAudoJ39WkD9neJULcKU8sLGIZVWhPrycXHQo4KX+56ZTbbL0TKM TmjBSDP714NFxyGwJvaAieeAKjd0xbu2yS6twRV5LmDWHrPFtS9+aRd6OBgJ/fpylnMDcT bHk8LfgieooFVHLWaisyz0EEtGVgvAb2DMPBnde7p48/I9qb3I94L0k8FKsRUwrwZneeXG P/4tzxQAUBirVMHKRDisyJPJnOC/1xJF/8ItibvRCg/fucHgwnjkTKSKLbHY1Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=tugraz.at header.s=mailrelay header.b=mzXAOioQ; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -3.12 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=tugraz.at header.s=mailrelay header.b=mzXAOioQ; dmarc=pass (policy=none) header.from=student.tugraz.at; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 3C8A48B8F X-Spam-Score: -3.12 X-Migadu-Scanner: scn0.migadu.com X-TUID: 50hUh0jQibtF > Our issue is a different one: Its about being able to reuse already > compiled binaries - keeping current behavior of rust binaries being > statically linked. > > While this looks like being the same as dynamic library support, it > is not: While for dynamic libraries you meet to ensure the very > correct version of a "crate" is loaded, for static linking with pre- > build binaries you only need to ensure this at build-time. (For guix, > of course, both would not be a problem, but I doubt we can make rust > people understand this. And other distros will still have the > problem.) That plus static libraries can't be grafted, which can be a problem when your programming language despite being touted as secure still allows large arrays of buggy behaviour. So while "statically linked, but reusable and I swear, it really is reproducible" might work for the time being, it is not a long-term solution. One might be tempted to compare this to Go, which we also can't dynamically link, but the important difference here is that Rust is already being pulled in by core-updatesy stuff like GTK, so a bug in certain Rust software would affect *a lot* of Guix users whereas Go is mostly an ecosystem onto itself. (Note, though, that a Go update would need to go through staging – not an ideal situation either.) Regards, Leo