From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code Date: Fri, 05 May 2023 18:49:57 +0300 Message-ID: <83354aixqy.fsf@gnu.org> References: <17b74a48-94e1-9106-cc79-d31972313910@gutov.dev> <837cujaqzq.fsf@gnu.org> <87wn2ilwed.fsf@localhost> <83zg7ealrd.fsf@gnu.org> <87pm8a8dx4.fsf@localhost> <87pm7vt0mx.fsf@localhost> <87cz3k8i27.fsf@localhost> <87sfcfdldt.fsf@localhost> <87bkj1g10g.fsf@localhost> <1c5d0ff0-5bae-1123-d2f7-64d9013fbc0f@gmail.com> <6070e598-7dee-1b7a-7f97-26a90618cb7a@gmail.com> <64a61548-e343-992f-d193-d8ff4fe0623b@gmail.com> <831qjvjmw5.fsf@gnu.org> <48f15926-d002-877b-1d01-3a607fe42b76@gmail.com> <83v8h7hxlj.fsf@gnu.org> <38c89611-a929-1869-e70d-983bd7edad14@gmail.com> <83jzxnhv2o.fsf@gnu.org> <59ccf87f-effb-2168-2c17-34d950060b1b@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24640"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yantar92@posteo.net, 62762@debbugs.gnu.org, bzg@gnu.org, dmitry@gutov.dev, monnier@iro.umontreal.ca, acm@muc.de To: Max Nikulin Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 05 17:50:20 2023 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 1puxhM-0006E6-Dt for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 May 2023 17:50:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puxh7-0002lM-3B; Fri, 05 May 2023 11:50:05 -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 1puxh5-0002l8-44 for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 11:50:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1puxh4-0006x4-RS for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 11:50:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1puxh4-0004Tl-BI for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 11:50:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 May 2023 15:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62762 X-GNU-PR-Package: emacs Original-Received: via spool by 62762-submit@debbugs.gnu.org id=B62762.168330175817158 (code B ref 62762); Fri, 05 May 2023 15:50:02 +0000 Original-Received: (at 62762) by debbugs.gnu.org; 5 May 2023 15:49:18 +0000 Original-Received: from localhost ([127.0.0.1]:57306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puxgL-0004Sg-G7 for submit@debbugs.gnu.org; Fri, 05 May 2023 11:49:17 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:58460) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1puxgH-0004SR-PT for 62762@debbugs.gnu.org; Fri, 05 May 2023 11:49:15 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxgA-0006mW-1r; Fri, 05 May 2023 11:49:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=xGVX9z/Xvcucmi73NjVanBPYlvW6KAOmdiyM3Zav4GQ=; b=ZJMY2lGtm3kp G6U95eiUgBM94wCNYJGATNgfASqpzTrIjJVt/ZDXL/i2Vhg3UBcHwWQtkrkpYJCJL++AsGnyJJOe0 FXvd9eWksorAhbwdkakJc5CZ4yssztwWIflRVc+w3NIbf2lE+TwIaH3Drh/vXGmtfNo4c39FN0Kl6 a8S+Nh/YyFs0jcNzT02o8214GutAxQ/Fyrl2qfD9guyMSFQIvmbXY/k2ZlYK+oq7MUsP3jxPFmnLm Weudc/d7fg1YxoySqchQFPweag39M+L2Nmw4+NHsN/qp4fugRHZMSfDHs994qLXQmhPLML1MPdGtD 0zbxT0VRh4sIDbhb89DrzA==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1puxg9-0003Mw-HN; Fri, 05 May 2023 11:49:05 -0400 In-Reply-To: <59ccf87f-effb-2168-2c17-34d950060b1b@gmail.com> (message from Max Nikulin on Fri, 5 May 2023 22:33:48 +0700) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:261117 Archived-At: > Date: Fri, 5 May 2023 22:33:48 +0700 > Cc: monnier@iro.umontreal.ca, yantar92@posteo.net, bzg@gnu.org, > dmitry@gutov.dev, 62762@debbugs.gnu.org, acm@muc.de > From: Max Nikulin > > On 05/05/2023 18:33, Eli Zaretskii wrote: > >> Date: Fri, 5 May 2023 18:20:09 +0700 From: Max Nikulin > >> On 05/05/2023 17:38, Eli Zaretskii wrote: > >>>>> This doesn't work in Emacs, in general, due to circular dependencies. > > Eli, I am still unable to associate this with particular cases of elisp > code or with how it is split over several files. That is why I am again > asking for examples illustrating issues you have in mind. > > >>> What do you mean by "unavoidable"? > >> > >> Max Nikulin Fri, 5 May 2023 11:18:17 +0700 > >>> In the C and C++ world the solution for cyclic dependencies is forward > >>> declarations. Some kind of such approach I see in Org as well. > >>> lisp/org/ol.el and lisp/org/org-element.el are mutually dependent. > >>> org-element.el requires 'ol, while the latter just declares functions > >>> from 'org-element. > > > > If it's this part, then I don't see how it can be relevant to our > > case: our problem is to teach Make about these dependencies, not to > > teach a Lisp compiler about them. > > I can not figure out which kind of cyclic dependencies may cause > troubles with dependency generation, but I had a hope that it would be > possible to reorganize code to avoid such kind of dependencies. > > > I don't have ready examples off the top of my head, sorry. You have > > the Emacs Lisp sources, so you have all the information, and can find > > those circular dependencies yourself if you don't believe me and > > Stefan. > > It might be even better if you will provide a brief example unrelated to > real Emacs code. I have no idea which code I should search for. You should look for all the ways we load one Lisp file from another: . require . eval-when-compile . eval-and-compile etc. When fileA.el does any of that to load fileB.el, and fileB.el does something to load fileA.el (whether directly or indirectly, via other files), you have a circular dependency.