From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Bj=C3=B6rn?= Bidar Newsgroups: gmane.emacs.devel Subject: Re: Sharing native-lisp system load-path between builds Date: Mon, 14 Aug 2023 02:47:23 +0300 Message-ID: <87il9i5wtw.fsf@thaodan.de> References: <871qhzjd0m.fsf@thaodan.de> <83edlzx8cy.fsf@gnu.org> <87jzvqj1d0.fsf@thaodan.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15273"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Andrea Corallo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 14 01:47:44 2023 Return-path: Envelope-to: ged-emacs-devel@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 1qVKoC-0003jq-Na for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Aug 2023 01:47:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVKo1-0005qd-Th; Sun, 13 Aug 2023 19:47:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVKnz-0005qR-UX for emacs-devel@gnu.org; Sun, 13 Aug 2023 19:47:31 -0400 Original-Received: from thaodan.de ([185.216.177.71]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVKnw-00007Q-Qo; Sun, 13 Aug 2023 19:47:31 -0400 Original-Received: from odin (dsl-trebng12-50dc77-87.dhcp.inet.fi [80.220.119.87]) by thaodan.de (Postfix) with ESMTPSA id 33B4BD08DD3; Mon, 14 Aug 2023 02:47:24 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=thaodan.de; s=mail; t=1691970444; bh=u3BAvWnoa9fJWkW0YBo893qM80hxudgKmTkaENdrhYk=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=lH6F0T4sauhGJiXasmJzhkUV6ULws0uszcAeKaO9hCTB4dUcmWWL45n+e/7peBFh8 4jnE+aEZshMHeSeDPQ75Yn6+dOJZGPHKbsf5MQ3BRyFBpG8WHL0/jJsayegAuxuuXG UvwAakra0iAp7W1UhYRiisY0ysJqli7/KNkZSrfQfs3G+q2BAXw8OrwP7/JWXdSBNk tHvWSbPFeK1n/kcrmtqR7RW72sJK0qM0+9zeuZNNRGna3Hyz7jYvxtL5p680yamf5T ohSEcyqr81sYA8gKW1/JqyPXmXKvnQveIe2iupkVizqvXSVyUVAj5wB5ccyyY4OMdV WVlDr1tQneQDP9UvX1vDqFxNGQvz5Qqyk+NHrWZTTiy2BsB3zgkSsW1WKVl+hU8OU2 ptbbYEIfeIOkwZdue/PW3IzT/dq3Fs6bPu3CP50c1VaFe8LNyBLtBpPYvJIZuWsCVj fWNgz8jO8aPsKSIMdUZsqn9sywt2DRUE4WWI+IXE++YhdgCaDM/+1mY1K7kaW4kSLZ HlZ7zj72eP2N12mt2rT+tN31DRaxENEvXZu4bjGqpsUhantyzOnULSJycW+PzbSgCF qflIIqc6eGYRM1YpQMHtw8ZFPu39e2DWXDsqQPnsz9RjjBYyNrVk31EBJKiuAwO79Z ZhYkbjjKZRVwnafGTXUyUh1A= In-Reply-To: (Andrea Corallo's message of "Mon, 26 Jun 2023 03:12:45 -0400") Autocrypt: addr=bjorn.bidar@thaodan.de; prefer-encrypt=nopreference; keydata= mDMEZNfpPhYJKwYBBAHaRw8BAQdACBEmr+0xwIIHZfIDlZmm7sa+lHHSb0g9FZrN6qE6ru60JUJq w7ZybiBCaWRhciA8Ympvcm4uYmlkYXJAdGhhb2Rhbi5kZT6IlgQTFgoAPgIbAwULCQgHAgIiAgYV CgkICwIEFgIDAQIeBwIXgBYhBFHxdut1RzAepymoq1wbdKFlHF9oBQJk1/YmAhkBAAoJEFwbdKFl HF9oB9cBAJoIIGQKXm4cpap+Flxc/EGnYl0123lcEyzuduqvlDT0AQC3OlFKm/OiqJ8IMTrzJRZ8 phFssTkSrrFXnM2jm5PYDoiTBBMWCgA7FiEEUfF263VHMB6nKairXBt0oWUcX2gFAmTX6T4CGwMF CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQXBt0oWUcX2hbCQEAtru7kvM8hi8zo6z9ux2h K+B5xViKuo7Z8K3IXuK5ugwA+wUfKzomzdBPhfxDsqLcEziGRxoyx0Q3ld9aermBUccHtBxCasO2 cm4gQmlkYXIgPG1lQHRoYW9kYW4uZGU+iJMEExYKADsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwEC HgcCF4AWIQRR8XbrdUcwHqcpqKtcG3ShZRxfaAUCZNf2FQAKCRBcG3ShZRxfaCzSAP4hZ7cSp0YN XYpcjHdsySh2MuBhhoPeLGXs+2kSiqBiOwD/TP8AgPEg/R+SI9GI9on7fBJJ0mp2IT8kZ2rhDOjg gA6IkwQTFgoAOxYhBFHxdut1RzAepymoq1wbdKFlH Received-SPF: pass client-ip=185.216.177.71; envelope-from=bjorn.bidar@thaodan.de; helo=thaodan.de 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_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:308689 Archived-At: Andrea Corallo writes: > Bj=C3=B6rn Bidar writes: > >> Eli Zaretskii writes: >> >>>> From: Bj=C3=B6rn Bidar >>>> Date: Mon, 26 Jun 2023 03:14:17 +0300 >>>>=20 >>>> I'm building Emacs master for OpenSUSE to provide testing. >>>> OpenSUSE packaging packages Emacs so that they have three builds with >>>> different feature sets: X11 without GTK, GTK and one build just without >>>> X11 or GTK. >>>>=20 >>>> This helps different users to chose their preferred builds and keeps >>>> build workers small for Emacs packages build. >>>>=20 >>>> The packages share the elisp, native-lisp ahead of time compilations a= nd >>>> docs. >>>>=20 >>>> Recently the native-lisp load path changed to change per Emacs >>>> executable. >>> >>> It isn't a recent change, at least not in principle. >> >> What could have change this? >> >>>> I don't know the exact commit when this changed but it was >>>> between ref 3c8167ec0f9647e6fc33e65b0a0324f96cb795ee and >>>> d46a2fa319808963bbe8d3a90e7dbb13fcd844f5. >>>>=20 >>>> Now my questions: Is this a bug or can a different hash be used to >>>> determine the system load-path? It is very useful to precompile the >>>> lisp code once per emacs builds that share the same code. >>> >>> It's impossible to share native-compiled *.eln files between different >>> builds, because they depend on the primitives compiled into the build >>> and on the architecture of the host CPU. >> >>> So you must have a separate directory for each build configuration, >>> and any significant change in the Emacs C code will require >>> recompilation of all the *.eln files. >> >> Each build configuration is 100% the same except the optional >> dependencies they are build with. >> >> There's no change to any source they are build one after the other. >> >> See the spec file here: >> https://build.opensuse.org/package/view_file/home:Thaodan:emacs/emacs/em= acs.spec?expand=3D1 > > The hash depends on the set of C primitives present in Emacs. If the > hash differs it means your configurations are producing Emacsen with > different sets of primitives, and this makes eln files incompatible. OK but so why did work with the commit 3c8167ec0f9647e6fc33e65b0a0324f96cb795ee and before? Nothing has changed in the build environment except the commits between good commit and d46a2fa319808963bbe8d3a90e7dbb13fcd844f5 or later.