GNU bug report logs -
#17300
fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
Previous Next
Reported by: Ivan Shmakov <ivan <at> siamics.net>
Date: Sun, 20 Apr 2014 11:28:02 UTC
Severity: normal
Done: Daniel Colascione <dancol <at> dancol.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 17300 in the body.
You can then email your comments to 17300 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 11:28:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ivan Shmakov <ivan <at> siamics.net>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 20 Apr 2014 11:28:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Package: emacs
As of 20eb3d6e5262 [1], Emacs fails to build from a clean
directory with the output like:
Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/emacs-lisp/nadvice.el (source)...
Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el (source)...
Eager macro-expansion failure: (void-function defsetf)
Symbol's function definition is void: defsetf
make[1]: *** [bootstrap-emacs] Error 1
make[1]: Leaving directory `/home/private/users/ivan/devel/emacs-2014-04-20-build/src'
Apparently, the “defstruct introspection” commit [2] is to
blame, as it introduced to cl-macs.el:
• the use of the ‘defsetf’ macro, defined in cl.el (not
currently required by cl-macs.el, and possibly leading to a
circular dependency);
• two invocations of the ‘cl-define-compiler-macro’ in the
“Structures.” section /prior/ to its definition in “Compiler
macros.” later in the same file.
The first issue could be solved by simply replacing defsetf by
gv-define-simple-setter. The solution for the second is to move
these two invocations below the definition of the macro.
[1] http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=20eb3d6e5262a31147b42a9733010ce397fdc3d8
[2] http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=49b8b4c4a07e9e3d160367cc52d4ef4fb7f3fa22
PS. And since when using periods in ‘;;; ’-headings within the code
became a convention, BTW?
--
FSF associate member #7257
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 11:37:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 17300 <at> debbugs.gnu.org (full text, mbox):
> From: Ivan Shmakov <ivan <at> siamics.net>
> Date: Sun, 20 Apr 2014 11:26:25 +0000
>
> Package: emacs
>
> As of 20eb3d6e5262 [1], Emacs fails to build from a clean
> directory with the output like:
>
> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/emacs-lisp/nadvice.el (source)...
> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el (source)...
> Eager macro-expansion failure: (void-function defsetf)
> Symbol's function definition is void: defsetf
> make[1]: *** [bootstrap-emacs] Error 1
> make[1]: Leaving directory `/home/private/users/ivan/devel/emacs-2014-04-20-build/src'
Did you try "make bootstrap"?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 12:29:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 17300 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Ivan Shmakov <ivan <at> siamics.net>
>> Date: Sun, 20 Apr 2014 11:26:25 +0000
>>
>> Package: emacs
>>
>> As of 20eb3d6e5262 [1], Emacs fails to build from a clean
>> directory with the output like:
>>
>> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/emacs-lisp/nadvice.el (source)...
>> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el (source)...
>> Eager macro-expansion failure: (void-function defsetf)
>> Symbol's function definition is void: defsetf
>> make[1]: *** [bootstrap-emacs] Error 1
>> make[1]: Leaving directory `/home/private/users/ivan/devel/emacs-2014-04-20-build/src'
>
> Did you try "make bootstrap"?
Same problem here with "make bootstrap".
Eager macro-expansion failure: (void-function defsetf)
Symbol's function definition is void: defsetf
make[2]: *** [bootstrap-emacs] Error 1
--
Daimrod/Greg
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 13:36:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 17300 <at> debbugs.gnu.org (full text, mbox):
>>>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 11:26:25 +0000
>> Package: emacs
>> As of 20eb3d6e5262 [1], Emacs fails to build from a clean directory
>> with the output like:
[…]
>> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el (source)...
>> Eager macro-expansion failure: (void-function defsetf)
>> Symbol's function definition is void: defsetf
[…]
> Did you try "make bootstrap"?
I didn’t. But isn’t the directory expected to be clean right
after $ git clone?
>> [1] http://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/vc/ediff-diff.el?h=emacs-24&id=20eb3d6e5262a31147b42a9733010ce397fdc3d8
--
FSF associate member #7257
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 13:54:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 17300 <at> debbugs.gnu.org (full text, mbox):
> From: Ivan Shmakov <ivan <at> siamics.net>
> Date: Sun, 20 Apr 2014 13:35:41 +0000
>
> >>>>> Eli Zaretskii <eliz <at> gnu.org> writes:
> >>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 11:26:25 +0000
>
> >> Package: emacs
>
> >> As of 20eb3d6e5262 [1], Emacs fails to build from a clean directory
> >> with the output like:
>
> […]
>
> >> Loading /home/private/users/ivan/devel/emacs-2014-04-20-build/lisp/minibuffer.el (source)...
> >> Eager macro-expansion failure: (void-function defsetf)
> >> Symbol's function definition is void: defsetf
>
> […]
>
> > Did you try "make bootstrap"?
>
> I didn’t. But isn’t the directory expected to be clean right
> after $ git clone?
It is. But you never explained what you meant by "a clean directory",
so I had no way of knowing it was a fresh clone.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 14:47:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 17300 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 04/20/2014 04:26 AM, Ivan Shmakov wrote:
> Package: emacs
>
> As of 20eb3d6e5262 [1], Emacs fails to build from a clean
> directory with the output like:
Fixed.
[signature.asc (application/pgp-signature, attachment)]
Reply sent
to
Daniel Colascione <dancol <at> dancol.org>
:
You have taken responsibility.
(Sun, 20 Apr 2014 14:47:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Ivan Shmakov <ivan <at> siamics.net>
:
bug acknowledged by developer.
(Sun, 20 Apr 2014 14:47:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 16:38:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 17300 <at> debbugs.gnu.org (full text, mbox):
>>>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 13:35:41 +0000
>>>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 11:26:25 +0000
>>>> As of 20eb3d6e5262 [1], Emacs fails to build from a clean
>>>> directory
[…]
>>> Did you try "make bootstrap"?
>> I didn’t. But isn’t the directory expected to be clean right after
>> $ git clone?
> It is. But you never explained what you meant by "a clean
> directory", so I had no way of knowing it was a fresh clone.
Indeed.
As an aside, I’d gladly be performing all my builds in a clean
build directory, provided that the build system employed by
Emacs would /not/ insist on cluttering $(srcdir). (As in: with
.elc.)
--
FSF associate member #7257
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 16:48:01 GMT)
Full text and
rfc822 format available.
Message #31 received at 17300 <at> debbugs.gnu.org (full text, mbox):
> From: Ivan Shmakov <ivan <at> siamics.net>
> Date: Sun, 20 Apr 2014 16:37:26 +0000
>
> As an aside, I’d gladly be performing all my builds in a clean
> build directory, provided that the build system employed by
> Emacs would /not/ insist on cluttering $(srcdir). (As in: with
> .elc.)
I, on the contrary, find a clean build to be a waste of time, and try
to avoid it as much as possible. There's nothing "unclean" about
compiling just the files that were changed since the last update.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 17:35:03 GMT)
Full text and
rfc822 format available.
Message #34 received at 17300 <at> debbugs.gnu.org (full text, mbox):
>>>>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 16:37:26 +0000
>> As an aside, I’d gladly be performing all my builds in a clean build
>> directory, provided that the build system employed by Emacs would
>> /not/ insist on cluttering $(srcdir). (As in: with .elc.)
> I, on the contrary, find a clean build to be a waste of time, and try
> to avoid it as much as possible.
That’s why it’s generally possible to reuse build directories
whether building in or out of $(srcdir).
Unfortunately, and unlike the majority of the GNU software I’ve
dealt with, Emacs does not currently allow the user to choose:
$(srcdir) gets changed irrespective of the use of a separate
build directory.
Which makes me wonder if there’s a respective bug somewhere on
the BTS, or if I should file one myself?
> There's nothing "unclean" about compiling just the files that were
> changed since the last update.
Except that it’s known to break builds if the dependencies are
incomplete or became broken themselves.
--
FSF associate member #7257
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Sun, 20 Apr 2014 18:55:02 GMT)
Full text and
rfc822 format available.
Message #37 received at 17300 <at> debbugs.gnu.org (full text, mbox):
> From: Ivan Shmakov <ivan <at> siamics.net>
> Date: Sun, 20 Apr 2014 17:32:40 +0000
>
> Unfortunately, and unlike the majority of the GNU software I’ve
> dealt with, Emacs does not currently allow the user to choose:
> $(srcdir) gets changed irrespective of the use of a separate
> build directory.
>
> Which makes me wonder if there’s a respective bug somewhere on
> the BTS, or if I should file one myself?
File it.
> > There's nothing "unclean" about compiling just the files that were
> > changed since the last update.
>
> Except that it’s known to break builds if the dependencies are
> incomplete or became broken themselves.
That has become false long ago. You need to bootstrap in some rare
cases, but mostly the build "just works".
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#17300
; Package
emacs
.
(Wed, 23 Apr 2014 03:01:06 GMT)
Full text and
rfc822 format available.
Message #40 received at 17300 <at> debbugs.gnu.org (full text, mbox):
> That has become false long ago. You need to bootstrap in some rare
> cases, but mostly the build "just works".
It does break every once in a while, tho.
For maintainers, it's usually easy to figure out the problem and run
"bootstrap" or even fix the specific problem (and avoid a complete
bootstrap), but for less-versed users it can be difficult to detect
the problem.
Stefan
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 21 May 2014 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 11 years and 34 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.