unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
@ 2022-08-14  5:19 Yasuhiro Kimura
  2022-08-14 11:33 ` Arash Esbati
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Yasuhiro Kimura @ 2022-08-14  5:19 UTC (permalink / raw)
  To: 57200; +Cc: emacs

Dear Emacs developers,

I'm a member of FreeBSD Emacs ports maintainance team. In FreeBSD
ports collections there are 2 Emacs ports, editors/emacs and
editors/emacs-devel. The former provides latest release of Emacs. The
latter tracks master branch of Emacs repository and is updated
regularly.

Recently we updated editors/emacs-devel from 3d6af11c42 to 11e6c12def
(both are commits in master branch of emacs repository) and after that
we faced the problem. There are some ports in ports collections that
depends on Emacs (ports of ELPA packages, for example). And some of
such ports fail to build now. I analyzed build errors and found
something in common.

* Build fails when editors/emacs-devel is used as Emacs.
* Build fails when 'update-directory-autoloads' function is used to
  build port.
* Build fails with following error message.
  "Symbol's function definition is void: update-directory-autoloads"

At first I updated editors/emacs-devel to more recent commit of Emacs
repository (commit 4e23ecb882 at Sat Aug 13 02:36:54 2022 UTC) but the
error still happens. So I tried bisect between above 2
commit. According to the result of it the error happens following
commit and later.

----------------------------------------------------------------------
commit aa9eaac68e
Author:     Lars Ingebrigtsen <larsi@gnus.org>
AuthorDate: Thu Aug 4 17:03:59 2022 +0200
Commit:     Lars Ingebrigtsen <larsi@gnus.org>
CommitDate: Thu Aug 4 17:03:59 2022 +0200

    Move autoload.el to lisp/obsolete/
----------------------------------------------------------------------

Since update-directory-autoloads is defined in autoload.el, it seems
very likely for me that this commit causes the error.

By the way I have also been chasing emacs master branch with 64bit
Window 10 and MSYS2. So I built commit 11e6c12def with them and
checked if same error happens. But it doesn't.  So the problem may be
specific to FreeBSD or our editors/emacs-devel port.

If any other informatin is necessary, please feel free to requesting
it.

Best Regards.

---
Yasuhiro Kimura


In GNU Emacs 29.0.50 (build 1, amd64-portbld-freebsd13.1)
Repository revision: 11e6c12
Repository branch: master
System Description: 13.1-RELEASE-p1

Configured using:
 'configure --disable-build-details --localstatedir=/var
 --without-libsystemd --without-selinux --without-gconf
 --with-sound=no --with-x-toolkit=no --without-cairo --without-dbus
 --without-gconf --without-gif --without-gsettings
 --without-imagemagick --without-jpeg --without-lcms2 --without-libotf
 --without-m17n-flt --without-pgtk --without-png --without-rsvg
 --without-tiff --without-toolkit-scroll-bars --without-webp
 --without-x --without-xim --without-xpm --without-xwidgets
 --enable-acl --without-cairo --without-dbus --without-gif
 --with-gnutls --without-gsettings --without-harfbuzz --without-jpeg
 --with-json --with-file-notification=kqueue --without-lcms2
 --without-m17n-flt --without-imagemagick --without-mailutils
 --with-modules --with-native-compilation --without-libotf
 --without-pgtk --without-png --without-toolkit-scroll-bars
 --with-sqlite3 --without-rsvg --with-threads --without-tiff
 --without-webp --without-xft --without-xim --with-xml2 --without-xpm
 --without-xwidgets --with-x-toolkit=no --prefix=/usr/local
 --mandir=/usr/local/man --disable-silent-rules
 --infodir=/usr/local/share/emacs/info/
 --build=amd64-portbld-freebsd13.1 'CFLAGS=-O2 -pipe
 -fstack-protector-strong -isystem /usr/local/include
 -fno-strict-aliasing ' 'CPPFLAGS=-isystem /usr/local/include'
 'LDFLAGS= -L/usr/local/lib/gcc11 -fstack-protector-strong
 -L/usr/local/lib ''

Configured features:
ACL GMP GNUTLS JSON LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE PDUMPER
SQLITE3 THREADS XIM ZLIB

Important settings:
  value of $LANG: ja_JP.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Summary freebsd.org

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/usr/local/share/emacs/29.0.50/site-lisp/transient hides /usr/local/share/emacs/29.0.50/lisp/transient
/home/yasu/share/emacs/lisp/ruby-mode hides /usr/local/share/emacs/29.0.50/lisp/progmodes/ruby-mode
/usr/local/share/emacs/29.0.50/site-lisp/flim/sasl hides /usr/local/share/emacs/29.0.50/lisp/net/sasl

Features:
(shadow pp emacsbug network-stream mew-varsx mew-unix mew-w3m w3m
doc-view jka-compr image-mode exif timezone w3m-hist w3m-fb
bookmark-w3m w3m-ems wid-edit w3m-favicon w3m-image tab-line w3m-proc
w3m-util mew-auth mew-config mew-imap2 mew-imap mew-nntp2 mew-nntp
mew-pop mew-smtp mew-ssl mew-ssh mew-net mew-highlight mew-sort
mew-fib mew-ext mew-refile mew-demo mew-attach mew-draft mew-message
mew-thread mew-virtual mew-summary4 mew-summary3 mew-summary2
mew-summary mew-search mew-pick mew-passwd mew-scan mew-syntax mew-bq
mew-smime mew-pgp mew-header mew-exec mew-mark mew-mime mew-edit
mew-decode mew-encode mew-cache mew-minibuf mew-complete mew-addrbook
mew-local mew-vars3 mew-vars2 mew-vars mew-env mew-lang-jp mew-mule3
mew-mule mew-gemacs mew-key mew-func mew-blvs mew-const mew term/tmux
term/xterm xterm magit-version yaml-mode tmux mime-setup
mail-mime-setup semi-setup semi-def alist path-util apel-ver product
rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match
rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap
sgml-mode facemenu dom nxml-util nxml-enc xmltok forge-list
forge-commands forge-semi forge-bitbucket buck forge-gogs gogs
forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub let-alist gnutls forge-notify forge-revnote forge-pullreq
forge-issue forge-topic yaml parse-time iso8601 bug-reference
forge-post markdown-mode color noutline outline forge-repo forge
forge-core forge-db closql emacsql-sqlite advice emacsql
emacsql-compiler url-http url-auth url-gw nsm magit-submodule
magit-obsolete magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util url-handlers url-parse auth-source json map
url-vars magit-repos magit-apply magit-wip magit-log which-func imenu
magit-diff smerge-mode diff image diff-mode easy-mmode git-commit
log-edit message sendmail mailcap yank-media puny dired dnd
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log magit-core magit-autorevert autorevert filenotify
magit-margin magit-transient magit-process with-editor shell pcomplete
comint ring server ansi-color magit-mode transient comp regexp-opt
comp-cstr warnings icons cl-extra edmacro kmacro help-mode tool-bar
magit-git magit-base magit-section cl-seq format-spec crm subr-x eieio
byte-opt bytecomp byte-compile cconv eieio-core cl-macs gv dash
compat-27 compat-26 compat gitignore-mode gitconfig-mode conf-mode rx
gitattributes-mode thingatpt cl-loaddefs cl-lib cp5022x japan-util rmc
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads kqueue multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 322633 32592)
 (symbols 48 26484 19)
 (strings 32 89853 3829)
 (string-bytes 1 2723756)
 (vectors 16 57672)
 (vector-slots 8 1060785 39588)
 (floats 8 295 503)
 (intervals 56 2452 109)
 (buffers 992 14))





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14  5:19 bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads Yasuhiro Kimura
@ 2022-08-14 11:33 ` Arash Esbati
  2022-08-14 12:58 ` Eli Zaretskii
  2022-08-14 17:37 ` Lars Ingebrigtsen
  2 siblings, 0 replies; 10+ messages in thread
From: Arash Esbati @ 2022-08-14 11:33 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

Yasuhiro Kimura <yasu@FreeBSD.org> writes:

> Recently we updated editors/emacs-devel from 3d6af11c42 to 11e6c12def
> (both are commits in master branch of emacs repository) and after that
> we faced the problem. There are some ports in ports collections that
> depends on Emacs (ports of ELPA packages, for example). And some of
> such ports fail to build now. I analyzed build errors and found
> something in common.

I don't know about your build process and how your ports of ELPA
packages are built, but in case you have AUCTeX there and use it's make
file to build, it currently fails due to obsolescence of autoload.el. 

I have an idea how to fix it, but I need the issue described in
bug#57144 being resolved first.

> By the way I have also been chasing emacs master branch with 64bit
> Window 10 and MSYS2. So I built commit 11e6c12def with them and
> checked if same error happens. But it doesn't.  So the problem may be
> specific to FreeBSD or our editors/emacs-devel port.

Emacs itself builds fine for me on Win10.  I suspect the problem is in
the ports of ELPA packages you have.

Best, Arash





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14  5:19 bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads Yasuhiro Kimura
  2022-08-14 11:33 ` Arash Esbati
@ 2022-08-14 12:58 ` Eli Zaretskii
  2022-08-14 16:38   ` Yasuhiro Kimura
  2022-08-14 17:37 ` Lars Ingebrigtsen
  2 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-08-14 12:58 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

> Cc: emacs@FreeBSD.org
> Date: Sun, 14 Aug 2022 14:19:33 +0900 (JST)
> From: Yasuhiro Kimura <yasu@FreeBSD.org>
> 
> Dear Emacs developers,
> 
> I'm a member of FreeBSD Emacs ports maintainance team. In FreeBSD
> ports collections there are 2 Emacs ports, editors/emacs and
> editors/emacs-devel. The former provides latest release of Emacs. The
> latter tracks master branch of Emacs repository and is updated
> regularly.
> 
> Recently we updated editors/emacs-devel from 3d6af11c42 to 11e6c12def
> (both are commits in master branch of emacs repository) and after that
> we faced the problem. There are some ports in ports collections that
> depends on Emacs (ports of ELPA packages, for example). And some of
> such ports fail to build now. I analyzed build errors and found
> something in common.
> 
> * Build fails when editors/emacs-devel is used as Emacs.
> * Build fails when 'update-directory-autoloads' function is used to
>   build port.
> * Build fails with following error message.
>   "Symbol's function definition is void: update-directory-autoloads"
> 
> At first I updated editors/emacs-devel to more recent commit of Emacs
> repository (commit 4e23ecb882 at Sat Aug 13 02:36:54 2022 UTC) but the
> error still happens. So I tried bisect between above 2
> commit. According to the result of it the error happens following
> commit and later.
> 
> ----------------------------------------------------------------------
> commit aa9eaac68e
> Author:     Lars Ingebrigtsen <larsi@gnus.org>
> AuthorDate: Thu Aug 4 17:03:59 2022 +0200
> Commit:     Lars Ingebrigtsen <larsi@gnus.org>
> CommitDate: Thu Aug 4 17:03:59 2022 +0200
> 
>     Move autoload.el to lisp/obsolete/
> ----------------------------------------------------------------------
> 
> Since update-directory-autoloads is defined in autoload.el, it seems
> very likely for me that this commit causes the error.

From NEWS:

  ** The autoload.el library is now obsolete.
  It is superseded by the loaddefs-gen.el library.

So you are supposed to switch to using loaddefs-gen.el for Emacs 29.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14 12:58 ` Eli Zaretskii
@ 2022-08-14 16:38   ` Yasuhiro Kimura
  2022-08-14 16:52     ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Yasuhiro Kimura @ 2022-08-14 16:38 UTC (permalink / raw)
  To: eliz; +Cc: emacs, 57200

From: Eli Zaretskii <eliz@gnu.org>
Subject: Re: bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
Date: Sun, 14 Aug 2022 15:58:22 +0300

> From NEWS:
> 
>   ** The autoload.el library is now obsolete.
>   It is superseded by the loaddefs-gen.el library.
> 
> So you are supposed to switch to using loaddefs-gen.el for Emacs 29.

OK, I should modify 3rd party application that use autoload.el so they
use loaddefs-gen.el instead. But please let me confirm one point.

When some .el file is moved to lisp/obsolete, is function defined
in it unavaiable any more?

cl.el was also moved to lisp/obsolete before. But I use some 3rd party
applications/libraries that use it and they still works (or seem to
work) well.

Is is just by chance?

---
Yasuhiro Kimura





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14 16:38   ` Yasuhiro Kimura
@ 2022-08-14 16:52     ` Eli Zaretskii
  2022-08-14 17:09       ` Yasuhiro Kimura
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2022-08-14 16:52 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

> Date: Mon, 15 Aug 2022 01:38:36 +0900 (JST)
> Cc: 57200@debbugs.gnu.org, emacs@FreeBSD.org
> From: Yasuhiro Kimura <yasu@FreeBSD.org>
> 
> When some .el file is moved to lisp/obsolete, is function defined
> in it unavaiable any more?

It is available, but will not be loaded automatically.  You need to
load it "by hand", if you want to use it.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14 16:52     ` Eli Zaretskii
@ 2022-08-14 17:09       ` Yasuhiro Kimura
  0 siblings, 0 replies; 10+ messages in thread
From: Yasuhiro Kimura @ 2022-08-14 17:09 UTC (permalink / raw)
  To: eliz; +Cc: emacs, 57200

From: Eli Zaretskii <eliz@gnu.org>
Subject: Re: bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
Date: Sun, 14 Aug 2022 19:52:04 +0300

>> When some .el file is moved to lisp/obsolete, is function defined
>> in it unavaiable any more?
> 
> It is available, but will not be loaded automatically.  You need to
> load it "by hand", if you want to use it.

Now that you mention it, applications that use cl.el load it by
calling "(require 'cl)".

I got it. Thanks for clarification.

---
Yasuhiro Kimura





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14  5:19 bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads Yasuhiro Kimura
  2022-08-14 11:33 ` Arash Esbati
  2022-08-14 12:58 ` Eli Zaretskii
@ 2022-08-14 17:37 ` Lars Ingebrigtsen
  2022-08-15  5:30   ` Lars Ingebrigtsen
  2 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-14 17:37 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

Yasuhiro Kimura <yasu@FreeBSD.org> writes:

> * Build fails with following error message.
>   "Symbol's function definition is void: update-directory-autoloads"

Sorry; unintended consequence of moving the file to obsolete/.  I don't
have time to look at this tonight, but I'll fix it one way or another
tomorrow, probably.






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-14 17:37 ` Lars Ingebrigtsen
@ 2022-08-15  5:30   ` Lars Ingebrigtsen
  2022-08-15  6:11     ` Yasuhiro Kimura
  0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-15  5:30 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

Lars Ingebrigtsen <larsi@gnus.org> writes:

>> * Build fails with following error message.
>>   "Symbol's function definition is void: update-directory-autoloads"
>
> Sorry; unintended consequence of moving the file to obsolete/.  I don't
> have time to look at this tonight, but I'll fix it one way or another
> tomorrow, probably.

This should now be fixed on the trunk -- can you check whether your
scripts work for you again now?






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-15  5:30   ` Lars Ingebrigtsen
@ 2022-08-15  6:11     ` Yasuhiro Kimura
  2022-08-15  6:30       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 10+ messages in thread
From: Yasuhiro Kimura @ 2022-08-15  6:11 UTC (permalink / raw)
  To: larsi; +Cc: emacs, 57200

From: Lars Ingebrigtsen <larsi@gnus.org>
Subject: Re: bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
Date: Mon, 15 Aug 2022 07:30:53 +0200

>>> * Build fails with following error message.
>>>   "Symbol's function definition is void: update-directory-autoloads"
>>
>> Sorry; unintended consequence of moving the file to obsolete/.  I don't
>> have time to look at this tonight, but I'll fix it one way or another
>> tomorrow, probably.
> 
> This should now be fixed on the trunk -- can you check whether your
> scripts work for you again now?

I tried commit 97da8eeb7c and confirmed build of the ports completes
successfully.
Thanks for quick fix.

---
Yasuhiro Kimura





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads
  2022-08-15  6:11     ` Yasuhiro Kimura
@ 2022-08-15  6:30       ` Lars Ingebrigtsen
  0 siblings, 0 replies; 10+ messages in thread
From: Lars Ingebrigtsen @ 2022-08-15  6:30 UTC (permalink / raw)
  To: Yasuhiro Kimura; +Cc: emacs, 57200

Yasuhiro Kimura <yasu@FreeBSD.org> writes:

> I tried commit 97da8eeb7c and confirmed build of the ports completes
> successfully.
> Thanks for quick fix.

Thanks for checking; I'm closing this bug report, then.







^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-08-15  6:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-14  5:19 bug#57200: 29.0.50; Symbol's function definition is void: update-directory-autoloads Yasuhiro Kimura
2022-08-14 11:33 ` Arash Esbati
2022-08-14 12:58 ` Eli Zaretskii
2022-08-14 16:38   ` Yasuhiro Kimura
2022-08-14 16:52     ` Eli Zaretskii
2022-08-14 17:09       ` Yasuhiro Kimura
2022-08-14 17:37 ` Lars Ingebrigtsen
2022-08-15  5:30   ` Lars Ingebrigtsen
2022-08-15  6:11     ` Yasuhiro Kimura
2022-08-15  6:30       ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).