From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: davide.restivo--- via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#45934: native-comp - Dylib ID of ELN files not optimal Date: Sun, 17 Jan 2021 11:13:25 +0100 Message-ID: References: Reply-To: Davide Restivo Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15618"; mail-complaints-to="usenet@ciao.gmane.io" To: 45934@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jan 17 11:45:32 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1l15Yp-0003ti-RK for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 Jan 2021 11:45:31 +0100 Original-Received: from localhost ([::1]:58524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l15Yo-0007dS-Fs for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 Jan 2021 05:45:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l15YM-0007ae-Iu for bug-gnu-emacs@gnu.org; Sun, 17 Jan 2021 05:45:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:33066) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l15YM-0004rB-Bx for bug-gnu-emacs@gnu.org; Sun, 17 Jan 2021 05:45:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1l15YM-0002fZ-AX for bug-gnu-emacs@gnu.org; Sun, 17 Jan 2021 05:45:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Davide Restivo Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Jan 2021 10:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 45934 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.161088028210202 (code B ref -1); Sun, 17 Jan 2021 10:45:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 17 Jan 2021 10:44:42 +0000 Original-Received: from localhost ([127.0.0.1]:44610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l15Y1-0002eU-Jd for submit@debbugs.gnu.org; Sun, 17 Jan 2021 05:44:42 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:46602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l153v-0001vK-Kl for submit@debbugs.gnu.org; Sun, 17 Jan 2021 05:13:36 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57960) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l153v-0002sI-ED for bug-gnu-emacs@gnu.org; Sun, 17 Jan 2021 05:13:35 -0500 Original-Received: from sonic303-21.consmr.mail.ne1.yahoo.com ([66.163.188.147]:42980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l153t-0006aN-1d for bug-gnu-emacs@gnu.org; Sun, 17 Jan 2021 05:13:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.it; s=s2048; t=1610878408; bh=TaTuzX/TiqM/7dEG4vVvc+tGRy987LnqqlLvZoPxmZM=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=BndXx/Qut2hgQTQS7tdyG46RuZpK50NPSw53DMQI6uclH/xKUyMgnW8wdQkNry8M7X+Bs3bVtPzwVEPcntTywq2ClPIFGMqdh9kYwswD3PjviJOJXIXCfo52CAItUQOlOPjqOiSpzARjQx3Vxr7GSNyiP+bcV4+OvaGlgshuryZbvJ3WVlrIr3TIGodY05FNiSbFFWFzbaDH5C19RDKs/sL/Ls5bU/Vno+Ln0hPFuuwO0B4OM/ltBXPrrR/kr8mz2BsKu9P5mlB8a3t0mn2LMkWpbHAglj4Nb2B8Mt7PEVH3cR1UXvGhk5Zlt+qcn6LfR/kFpTJNt7+6YDJT3p6FNw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1610878408; bh=UifZD0VEhRZjT03Kkykr7fuNxeDZeuQgXEy2ddtKhqm=; h=From:Subject:Date:To:From:Subject:Reply-To; b=pWgVgf2dkksuRx4/yZHiKr0Fde8L8zQWm39Ug2SNwQBwCIxkCwgZPNx0cslAEMMbpqghDtlWaHNUo1UjeSrsXQTm1NEIcabvVAHyfaccc5dtqdwclVXkHsp7n8BfSPPOPbATt0M/VREcRJonaVlZ98PXvsuQGjIbfOX9KgFxfsvXk+dKgzUnwjizytINM8U84Uc4fJ7jZFFLI6a6G4gqSH7d5lj3AF60tZ4wemLZOF/Lv3n87OfckUSAfnP+hqME5jkdzb1t4bH/lJP7UNpgJnLxzC8E5i7z62fZprsb5X9zaJyZPeThIU51jtZcn8KvrNZ0epzGJBjvhYVNddVZCA== X-YMail-OSG: 0E4e8fkVM1lovky4TjhM.xxI8641HziskniP8pfSF4s5LK3QoF_zL1.WG9pcLkr 9R.oiWaaQXrzrNNneIiA9PgGYbUXmVFnSwgPCM0rQ_9YVyhpmlaXuP.CH2lN.1xbibNtPwQl9Ftv cbdNvMcFpZk2O3C.9nfEh056iPiag0lKzZVdmiatT_DX_iWoLxto59_5cAFQwEF4.l3TKDw04oqo 3UoFoXJNQvUEx5EDTYN89FIx9btvKs8mj015kEicNtVJU.4RcFsx51GUvhKz4CufTVk8Bp_4XjT2 y3s_3wXKWx8E0Ojod9JqBvEDiJ36XHFBM_OxmkkRS20r8u_7LZCs72s_gSJsXsAxdnSkPrmi9tJV eYlsD2HR14iNA7Eae28Oo_ATG0_a3l499rcxq.cZqNDsRlZt0CFrYlW4NYkAXLZUSmesmPV61ITP X6wEgFuX.TwJTOcRocky7CrF7HqPmM5gfLrHCoFZe39KEk_7v_ANjji3Nx3xbYk4gFP1hw9WFaXH 80XTA8Z0KP4goT.f5JriX4orqIGmpEbeGQjnYYMNVLTNrt7UtUxFU_.72cJvhaF6io8nJeihEkWG suem4vm9_npZEsqtApTFDkSFAO9CTEK3SWh.rkPb1eMD4v2tmbtv8b4AvC92C1b3N22XunrMHwpR LjQHAWgk_JFIw2y5AUOSh6EO1HZ0fKjsNUIWD6WXRjK4AvYvc6duo7M0k8PUPRKUtB0097NFiOMk Mc4lDP23upiDFS7KKJ97mwrZYDXTmGwDQuOHkcz1QobVrICROVJmBCe9fBdKV0dRuTZ_ZyA8.z8j g3ZQIQoC1fBcExsMEeNaxrNfLvhajEm4vFZLEE5yfa Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Sun, 17 Jan 2021 10:13:28 +0000 Original-Received: by smtp422.mail.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 7d419fd2cf111b33d3880439b5dfc7cc; Sun, 17 Jan 2021 10:13:27 +0000 (UTC) X-Mailer: Apple Mail (2.3608.120.23.2.4) Received-SPF: pass client-ip=66.163.188.147; envelope-from=xgutter@yahoo.it; helo=sonic303-21.consmr.mail.ne1.yahoo.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sun, 17 Jan 2021 05:44:38 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:198046 Archived-At: Hi,=20 I'm currently maintaining an Homebrew formula [1] for GNU/Emacs on macOS and I have recently added to it support for the native-comp feature. While doing this I have realised that current dylib IDs of the ELN files might be improved to avoid an issue I have encountered. Currently whenever and ELN file is generated, the dylib ID has the following structure: /private/tmp/libgccjit-xxxxxx/fake.so. See below examples: Example_1: Filename: =20 = /usr/local/Cellar/emacs-head@28/28.0.50_1/Emacs.app/Contents/native-lisp/2= 8.0.50-x86_64-apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/4Corner-= 80465fd1980e15f97a4c37918242ae86-c113fb0ce90e32f79bf944d3da555eea.eln dylib ID:=20 /private/tmp/libgccjit-3AyZly/fake.so Example_2: Filename: =20 = /usr/local/Cellar/emacs-head@28/28.0.50_1/Emacs.app/Contents/native-lisp/2= 8.0.50-x86_64-apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/5x5-a61d= 71cfcb41ac534af48635fb74337a-d665a8dec895c4d242614826b692b6ba.eln dylib ID:=20 /private/tmp/libgccjit-aVl48M/fake.so The dylib IDs of two different ELN are unique (this is required by macOS). Homebrew compiles GNU/Emacs in a 'sandbox' directory and then it moves the artifacts to the final directory location (i.e. /usr/local/Cellar/emacs-head@28/28.0.50_1). While doing that it changes the dylib ID of the ELN files. For example: =3D=3D> Changing dylib ID of = /usr/local/Cellar/emacs-head@28/28.0.50_1/Emacs.app/Contents/native-lisp/2= 8.0.50-x86_64-apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/4Corner-= 80465fd1980e15f97a4c37918242ae86-c113fb0ce90e32f79bf944d3da555eea.eln from /private/tmp/libgccjit-3AyZly/fake.so to = /usr/local/opt/emacs-head@28/Emacs.app/Contents/native-lisp/28.0.50-x86_64= -apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/fake.so =3D=3D> Changing dylib ID of = /usr/local/Cellar/emacs-head@28/28.0.50_1/Emacs.app/Contents/native-lisp/2= 8.0.50-x86_64-apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/5x5-a61d= 71cfcb41ac534af48635fb74337a-d665a8dec895c4d242614826b692b6ba.eln from /private/tmp/libgccjit-aVl48M/fake.so to = /usr/local/opt/emacs-head@28/Emacs.app/Contents/native-lisp/28.0.50-x86_64= -apple-darwin19.6.0-280c4c724fff373c5b7192112ad4147c/fake.so Since the tmp directory is stripped out and replaced with the destination directory, as you can see, all of the ELN files ends up with the same dylib ID, and this is not allowed on macOS. My suggestion here would be to add the 'install_name' [2] flag to gcc during the ELN files compilation replacing the 'fake.so' with the original .eln filename. Thanks and regards, Davide [1] https://github.com/daviderestivo/homebrew-emacs-head [2] gcc -o libdummy.dylib -install_name ${PREFIX}/lib/libdummy.dylib=20