* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
@ 2022-04-25 12:54 Vincent Lefevre
2022-04-25 12:59 ` Eli Zaretskii
2022-04-25 13:00 ` Lars Ingebrigtsen
0 siblings, 2 replies; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 12:54 UTC (permalink / raw)
To: 55109
I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
but the "make" output terminated with:
[...]
ANCIENT=yes make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
ELC emacs-lisp/macroexp.elc
ELC emacs-lisp/cconv.elc
ELC emacs-lisp/byte-opt.elc
ELC emacs-lisp/bytecomp.elc
ELC emacs-lisp/autoload.elc
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/bytecomp.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/cconv.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/byte-opt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
In byte-compile--log-warning-for-byte-compile:
emacs-lisp/bytecomp.el:1325:1:Warning: function byte-compile--log-warning-for-byte-compile used to take 1-4 arguments, now takes 2-4
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
In end of data:
emacs-lisp/macroexp.el:786:1:Warning: the function ‘byte-compile-warn-x’ is not known to be defined.
In end of data:
emacs-lisp/cconv.el:843:1:Warning: the function ‘byte-compile-warn-x’ is not known to be defined.
In end of data:
emacs-lisp/byte-opt.el:2447:1:Warning: the following functions are not known to be defined: byte-compile--check-arity-bytecode, byte-compile-warn-x
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
make[2]: Nothing to be done for 'compile-first'.
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make -C ../lisp autoloads EMACS="../src/bootstrap-emacs"
make[2]: Entering directory '/home/vlefevre/software/emacs/lisp'
ELC ../lisp/bindings.elc
ELC ../lisp/abbrev.elc
ELC ../lisp/button.elc
ELC international/titdic-cnv.elc
ELC ../lisp/buff-menu.elc
ELC ../lisp/case-table.elc
ELC ../lisp/cus-face.elc
ELC ../lisp/composite.elc
ELC ../lisp/disp-table.elc
ELC ../lisp/custom.elc
ELC ../lisp/cus-start.elc
ELC ../lisp/dnd.elc
In toplevel form:
button.el:54:10: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
In toplevel form:
disp-table.el:31:7: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
buff-menu.el:33:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
cus-start.el:38:14: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
abbrev.el:35:30: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
case-table.el:39:40: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
custom.el:36:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
bindings.el:34:30: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
In toplevel form:
dnd.el:36:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/abbrev.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/buff-menu.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/case-table.elc] Error 1
In toplevel form:
composite.el:102:10: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/cus-start.elc] Error 1
make[2]: *** [Makefile:285: ../lisp/disp-table.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/abbrev.elc] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:843: ../lisp/buff-menu.elc] Error 2
make -C ../admin/grammars all EMACS="../../src/bootstrap-emacs"
make[1]: *** [Makefile:843: ../lisp/case-table.elc] Error 2
make[1]: *** [Makefile:843: ../lisp/cus-start.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/button.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/disp-table.elc] Error 2
In toplevel form:
cus-face.el:37:22: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:285: ../lisp/custom.elc] Error 1
GEN calendar/cal-loaddefs.el
make[1]: *** [Makefile:843: ../lisp/button.elc] Error 2
make[1]: *** [Makefile:843: ../lisp/custom.elc] Error 2
GEN mh-e/mh-loaddefs.el
make[2]: *** [Makefile:285: ../lisp/bindings.elc] Error 1
GEN net/tramp-loaddefs.el
make[1]: *** [Makefile:843: ../lisp/bindings.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/dnd.elc] Error 1
make[1]: *** [Makefile:843: ../lisp/dnd.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/composite.elc] Error 1
make[3]: Entering directory '/home/vlefevre/software/emacs/admin/grammars'
GEN ../../lisp/cedet/semantic/bovine/c-by.el
make[1]: *** [Makefile:843: ../lisp/composite.elc] Error 2
make[2]: *** [Makefile:285: ../lisp/cus-face.elc] Error 1
GEN ../../lisp/cedet/semantic/bovine/make-by.el
make[1]: *** [Makefile:843: ../lisp/cus-face.elc] Error 2
GEN ../../lisp/cedet/semantic/bovine/scm-by.el
GEN ../../lisp/cedet/semantic/grammar-wy.el
GEN ../../lisp/cedet/semantic/wisent/javat-wy.el
GEN ../../lisp/cedet/semantic/wisent/js-wy.el
GEN ../../lisp/cedet/semantic/wisent/python-wy.el
GEN ../../lisp/cedet/srecode/srt-wy.el
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/lisp-mnt.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
SCRAPE ./net
Source file ‘/home/vlefevre/software/emacs/lisp/emacs-lisp/radix-tree.el’ newer than byte-compiled file; using older file
SCRAPE ./calendar
SCRAPE ./mh-e
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
Source file ‘/home/vlefevre/software/emacs/lisp/progmodes/bug-reference.el’ newer than byte-compiled file; using older file
In toplevel form:
international/titdic-cnv.el:64:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
make[2]: *** [Makefile:329: international/titdic-cnv.elc] Error 1
make[2]: *** Waiting for unfinished jobs....
INFO Scraping files for tramp-loaddefs.el...
INFO Scraping files for cal-loaddefs.el...
INFO Scraping files for tramp-loaddefs.el...11%
INFO Scraping files for cal-loaddefs.el...66%
INFO Scraping files for tramp-loaddefs.el...22%
INFO Scraping files for mh-loaddefs.el...
INFO Scraping files for cal-loaddefs.el...done
INFO Scraping files for mh-loaddefs.el...done
INFO Scraping files for tramp-loaddefs.el...32%
INFO Scraping files for tramp-loaddefs.el...43%
INFO Scraping files for tramp-loaddefs.el...53%
INFO Scraping files for tramp-loaddefs.el...64%
INFO Scraping files for tramp-loaddefs.el...74%
INFO Scraping files for tramp-loaddefs.el...85%
INFO Scraping files for tramp-loaddefs.el...95%
INFO Scraping files for tramp-loaddefs.el...100%
INFO Scraping files for tramp-loaddefs.el...done
make[3]: Leaving directory '/home/vlefevre/software/emacs/admin/grammars'
make[2]: Leaving directory '/home/vlefevre/software/emacs/lisp'
make[1]: *** [Makefile:898: ../lisp/loaddefs.el] Error 2
make[1]: Leaving directory '/home/vlefevre/software/emacs/src'
make: *** [Makefile:469: src] Error 2
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
@ 2022-04-25 12:59 ` Eli Zaretskii
2022-04-25 13:19 ` Vincent Lefevre
2022-04-25 13:00 ` Lars Ingebrigtsen
1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-04-25 12:59 UTC (permalink / raw)
To: Vincent Lefevre; +Cc: 55109
> Date: Mon, 25 Apr 2022 14:54:32 +0200
> From: Vincent Lefevre <vincent@vinc17.net>
>
> I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
> under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
> but the "make" output terminated with:
>
> [...]
> In toplevel form:
> international/titdic-cnv.el:64:11: Error: Symbol’s function definition is void: byte-compile-set-symbol-position
> make[2]: *** [Makefile:329: international/titdic-cnv.elc] Error 1
> make[2]: *** Waiting for unfinished jobs....
If this was not a freshly cloned repository, did you try "make
bootstrap"?
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 12:59 ` Eli Zaretskii
@ 2022-04-25 13:19 ` Vincent Lefevre
2022-04-25 13:27 ` Eli Zaretskii
0 siblings, 1 reply; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 13:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 55109
On 2022-04-25 15:59:15 +0300, Eli Zaretskii wrote:
> If this was not a freshly cloned repository, did you try "make
> bootstrap"?
Indeed, this solves the issue. Shouldn't this be detected
automatically via dependency tracking?
(I usually do a "make distclean" first, but I think I forgot.
Not sure whether this is related here.)
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 13:19 ` Vincent Lefevre
@ 2022-04-25 13:27 ` Eli Zaretskii
2022-04-25 13:40 ` Lars Ingebrigtsen
0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2022-04-25 13:27 UTC (permalink / raw)
To: Vincent Lefevre; +Cc: 55109
> Date: Mon, 25 Apr 2022 15:19:38 +0200
> From: Vincent Lefevre <vincent@vinc17.net>
> Cc: 55109@debbugs.gnu.org
>
> On 2022-04-25 15:59:15 +0300, Eli Zaretskii wrote:
> > If this was not a freshly cloned repository, did you try "make
> > bootstrap"?
>
> Indeed, this solves the issue. Shouldn't this be detected
> automatically via dependency tracking?
We don't really have any dependency tracking for Emacs Lisp files. It
would be a great addition, if someone develops that, I think, because
such problems are quite frequent during active development.
> (I usually do a "make distclean" first, but I think I forgot.
> Not sure whether this is related here.)
"make distclean" is not enough, AFAIR, because it doesn't delete *.elc
files (again AFAIR). You really need to remove all the *.elc files in
such cases, because the problem is with stale macros that are expanded
into the *.elc files.
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 13:27 ` Eli Zaretskii
@ 2022-04-25 13:40 ` Lars Ingebrigtsen
2022-04-25 13:52 ` Vincent Lefevre
0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 13:40 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 55109, Vincent Lefevre
Eli Zaretskii <eliz@gnu.org> writes:
> We don't really have any dependency tracking for Emacs Lisp files. It
> would be a great addition, if someone develops that, I think, because
> such problems are quite frequent during active development.
It's a complicated problem, though -- basically if any file that defines
a macro/variable changes, then all .elc files that depend on it should
be recompiled. Which means that if you make a trivial edit in files.el,
then that would trigger a compilation of absolutely all .elc files,
which would make development pretty much impossible.
We would have to arrange the Lisp sources in a very different way to
dependency tracking to be practical.
So instead people who pull Emacs have to say "make bootstrap" once in a
while. It'd be nice if it were possible to have the makefile output
"Did you try 'make boostrap'?" if it fails, but that's apparently not
something make allows.
Anyway, closing this bug report.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 13:40 ` Lars Ingebrigtsen
@ 2022-04-25 13:52 ` Vincent Lefevre
2022-04-25 14:32 ` Lars Ingebrigtsen
0 siblings, 1 reply; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 13:52 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 55109
On 2022-04-25 15:40:12 +0200, Lars Ingebrigtsen wrote:
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > We don't really have any dependency tracking for Emacs Lisp files. It
> > would be a great addition, if someone develops that, I think, because
> > such problems are quite frequent during active development.
>
> It's a complicated problem, though -- basically if any file that defines
> a macro/variable changes, then all .elc files that depend on it should
> be recompiled. Which means that if you make a trivial edit in files.el,
> then that would trigger a compilation of absolutely all .elc files,
> which would make development pretty much impossible.
How about putting these explanations about the .elc files in
"Makefile.in" (together with the other comments)?
> We would have to arrange the Lisp sources in a very different way to
> dependency tracking to be practical.
>
> So instead people who pull Emacs have to say "make bootstrap" once in a
> while. It'd be nice if it were possible to have the makefile output
> "Did you try 'make boostrap'?" if it fails, but that's apparently not
> something make allows.
It seems that "make boostrap" will do a rebuild with a default
configure, thus shouldn't be used if one needs configure options
(I find a configure variable impractical due to quoting and working
poorly with various shell advanced features). I suppose that
"make maintainer-clean" or "make extraclean" should be sufficient.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 13:52 ` Vincent Lefevre
@ 2022-04-25 14:32 ` Lars Ingebrigtsen
2022-04-25 14:50 ` Vincent Lefevre
0 siblings, 1 reply; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 14:32 UTC (permalink / raw)
To: Vincent Lefevre; +Cc: 55109
Vincent Lefevre <vincent@vinc17.net> writes:
> It seems that "make boostrap" will do a rebuild with a default
> configure, thus shouldn't be used if one needs configure options
> (I find a configure variable impractical due to quoting and working
> poorly with various shell advanced features). I suppose that
> "make maintainer-clean" or "make extraclean" should be sufficient.
"make bootstrap" should use the same config options as the previous
./configure you ran.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 14:32 ` Lars Ingebrigtsen
@ 2022-04-25 14:50 ` Vincent Lefevre
0 siblings, 0 replies; 9+ messages in thread
From: Vincent Lefevre @ 2022-04-25 14:50 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 55109
On 2022-04-25 16:32:21 +0200, Lars Ingebrigtsen wrote:
> "make bootstrap" should use the same config options as the previous
> ./configure you ran.
OK. There was no indication in Makefile.in:
# make bootstrap
# Removes all the compiled files to force a new bootstrap from a
# clean slate, and then build in the normal way.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position
2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
2022-04-25 12:59 ` Eli Zaretskii
@ 2022-04-25 13:00 ` Lars Ingebrigtsen
1 sibling, 0 replies; 9+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-25 13:00 UTC (permalink / raw)
To: Vincent Lefevre; +Cc: 55109
Vincent Lefevre <vincent@vinc17.net> writes:
> I've tried to build master (ec4dabc2381df6d803bb6ff4c294ef0d374857b4)
> under Linux/x86_64 (Debian/unstable) with ./configure --with-cairo,
> but the "make" output terminated with:
Have you tried a "make bootstrap"?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-04-25 14:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-25 12:54 bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position Vincent Lefevre
2022-04-25 12:59 ` Eli Zaretskii
2022-04-25 13:19 ` Vincent Lefevre
2022-04-25 13:27 ` Eli Zaretskii
2022-04-25 13:40 ` Lars Ingebrigtsen
2022-04-25 13:52 ` Vincent Lefevre
2022-04-25 14:32 ` Lars Ingebrigtsen
2022-04-25 14:50 ` Vincent Lefevre
2022-04-25 13:00 ` Lars Ingebrigtsen
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.