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 14:33:03 +0300 Message-ID: <83jzxnhv2o.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> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16839"; 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 13:33:22 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 1putgf-00048Z-Vi for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 May 2023 13:33:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1putgO-0001wq-4T; Fri, 05 May 2023 07:33:04 -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 1putgN-0001wO-9X for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 07:33: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 1putgM-0000IK-UJ for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 07:33:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1putgM-0007xt-Od for bug-gnu-emacs@gnu.org; Fri, 05 May 2023 07:33: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 11:33: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.168328634530562 (code B ref 62762); Fri, 05 May 2023 11:33:02 +0000 Original-Received: (at 62762) by debbugs.gnu.org; 5 May 2023 11:32:25 +0000 Original-Received: from localhost ([127.0.0.1]:53285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1putfk-0007ws-SV for submit@debbugs.gnu.org; Fri, 05 May 2023 07:32:25 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:42074) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1putfe-0007wO-8M for 62762@debbugs.gnu.org; Fri, 05 May 2023 07:32:22 -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 1putfX-0000BC-MX; Fri, 05 May 2023 07:32:11 -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=I6ZV2v3AUcD1LFnUt5wh4NmNc6QSu5JKKNlN5rZdpHg=; b=g1eeZ6YnbKDw QGsjwe6642CqsM43GcHSukesOT8CU1yJCVYCUrVQN2qjJM1N9i90ZXubrkIeLmFi+q9qpQrLTicrW DEB6/2lfRXAfXXUuLhI3hh11g/Y/V/XABWXqdRR1Kq8Wt6C6cpfxGSn1BwDKYyI0uTGJnYZhsRvTJ xtMhPbwerEKgTtUJXV9HvOrWucS/6va7ypXgAN6gFRshzo0DPxq6McJE+wjIo++4/Guc6HYVkWL3V ClCMib9xloFtxNRp9alZBCOHtL8FNV5N0UCD/G6uhsRShUipHDk0LNo2XmedM44epHA/Mz0JJNrOy skBeoGgW4UMmCSJZm4z5Uw==; 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 1putfX-0005Kz-3d; Fri, 05 May 2023 07:32:11 -0400 In-Reply-To: <38c89611-a929-1869-e70d-983bd7edad14@gmail.com> (message from Max Nikulin on Fri, 5 May 2023 18:20:09 +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:261093 Archived-At: > Date: Fri, 5 May 2023 18:20:09 +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 17:38, Eli Zaretskii wrote: > >>> This doesn't work in Emacs, in general, due to circular dependencies. > >> > >> Could you, please, provide an example where circular dependencies are > >> unavoidable or cost of disentangling of mutual dependencies is prohibitive? > > > > What do you mean by "unavoidable"? > > Ones that do not allow to apply approaches like: > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62762#140 That's a huge message. Which part of it specifically? > 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. So forward declarations don't help here, because Make doesn't have any such declarations, and it figures out dependencies on its own, given only the prerequisites specified for targets. > On 05/05/2023 17:38, Eli Zaretskii wrote: > >> My general impression that behavior of code having circular dependencies > >> is harder to comprehend. > > > > AFAIR, the problem is that we use 'require', eval-when-compile etc. to > > get definitions of macros, functions, and variables. There's nothing > > difficult to comprehend in this. > > I still have no idea which way it may be related to determining of order > of compilation based on dependency tree. That is why I asked for > particular examples. 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.