From: "Björn Bidar" <bjorn.bidar@thaodan.de>
To: Andrea Corallo <acorallo@gnu.org>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: Sharing native-lisp system load-path between builds
Date: Mon, 14 Aug 2023 02:47:23 +0300 [thread overview]
Message-ID: <87il9i5wtw.fsf@thaodan.de> (raw)
In-Reply-To: <yp1cz1i7l3m.fsf@fencepost.gnu.org> (Andrea Corallo's message of "Mon, 26 Jun 2023 03:12:45 -0400")
Andrea Corallo <acorallo@gnu.org> writes:
> Björn Bidar <bjorn.bidar@thaodan.de> writes:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>>>> From: Björn Bidar <bjorn.bidar@thaodan.de>
>>>> Date: Mon, 26 Jun 2023 03:14:17 +0300
>>>>
>>>> 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.
>>>>
>>>> This helps different users to chose their preferred builds and keeps
>>>> build workers small for Emacs packages build.
>>>>
>>>> The packages share the elisp, native-lisp ahead of time compilations and
>>>> docs.
>>>>
>>>> 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.
>>>>
>>>> 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/emacs.spec?expand=1
>
> 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.
next prev parent reply other threads:[~2023-08-13 23:47 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 0:14 Sharing native-lisp system load-path between builds Björn Bidar
2023-06-26 2:31 ` Eli Zaretskii
2023-06-26 4:26 ` Björn Bidar
2023-06-26 7:12 ` Andrea Corallo
2023-08-13 23:47 ` Björn Bidar [this message]
2023-08-14 2:29 ` Eli Zaretskii
2023-08-14 10:04 ` Björn Bidar
2023-08-14 12:24 ` Eli Zaretskii
[not found] ` <87bkf932b5.fsf@thaodan.de>
2023-08-14 18:41 ` Eli Zaretskii
2023-08-16 7:44 ` Björn Bidar
2023-08-16 8:49 ` Andrea Corallo
2023-08-18 22:23 ` Björn Bidar
2023-08-19 6:21 ` Eli Zaretskii
2023-09-26 14:26 ` Sharing native-lisp system load-path between builds, my own error Björn Bidar
2023-06-26 11:18 ` Sharing native-lisp system load-path between builds Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87il9i5wtw.fsf@thaodan.de \
--to=bjorn.bidar@thaodan.de \
--cc=acorallo@gnu.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.