* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
@ 2014-04-20 11:26 Ivan Shmakov
2014-04-20 11:36 ` Eli Zaretskii
2014-04-20 14:46 ` Daniel Colascione
0 siblings, 2 replies; 11+ messages in thread
From: Ivan Shmakov @ 2014-04-20 11:26 UTC (permalink / raw)
To: 17300
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
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 11:26 bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures) Ivan Shmakov
@ 2014-04-20 11:36 ` Eli Zaretskii
2014-04-20 12:28 ` Daimrod
2014-04-20 13:35 ` Ivan Shmakov
2014-04-20 14:46 ` Daniel Colascione
1 sibling, 2 replies; 11+ messages in thread
From: Eli Zaretskii @ 2014-04-20 11:36 UTC (permalink / raw)
To: Ivan Shmakov; +Cc: 17300
> From: Ivan Shmakov <ivan@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"?
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 11:36 ` Eli Zaretskii
@ 2014-04-20 12:28 ` Daimrod
2014-04-20 13:35 ` Ivan Shmakov
1 sibling, 0 replies; 11+ messages in thread
From: Daimrod @ 2014-04-20 12:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 17300, Ivan Shmakov
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Ivan Shmakov <ivan@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
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 11:36 ` Eli Zaretskii
2014-04-20 12:28 ` Daimrod
@ 2014-04-20 13:35 ` Ivan Shmakov
2014-04-20 13:52 ` Eli Zaretskii
1 sibling, 1 reply; 11+ messages in thread
From: Ivan Shmakov @ 2014-04-20 13:35 UTC (permalink / raw)
To: 17300
>>>>> Eli Zaretskii <eliz@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
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 13:35 ` Ivan Shmakov
@ 2014-04-20 13:52 ` Eli Zaretskii
2014-04-20 16:37 ` Ivan Shmakov
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2014-04-20 13:52 UTC (permalink / raw)
To: Ivan Shmakov; +Cc: 17300
> From: Ivan Shmakov <ivan@siamics.net>
> Date: Sun, 20 Apr 2014 13:35:41 +0000
>
> >>>>> Eli Zaretskii <eliz@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.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 11:26 bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures) Ivan Shmakov
2014-04-20 11:36 ` Eli Zaretskii
@ 2014-04-20 14:46 ` Daniel Colascione
1 sibling, 0 replies; 11+ messages in thread
From: Daniel Colascione @ 2014-04-20 14:46 UTC (permalink / raw)
To: Ivan Shmakov, 17300, 17300-done
[-- Attachment #1: Type: text/plain, Size: 178 bytes --]
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.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 13:52 ` Eli Zaretskii
@ 2014-04-20 16:37 ` Ivan Shmakov
2014-04-20 16:46 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Ivan Shmakov @ 2014-04-20 16:37 UTC (permalink / raw)
To: 17300
>>>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>>> From: Ivan Shmakov Date: Sun, 20 Apr 2014 13:35:41 +0000
>>>>> Eli Zaretskii <eliz@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
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 16:37 ` Ivan Shmakov
@ 2014-04-20 16:46 ` Eli Zaretskii
2014-04-20 17:32 ` Ivan Shmakov
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2014-04-20 16:46 UTC (permalink / raw)
To: Ivan Shmakov; +Cc: 17300
> From: Ivan Shmakov <ivan@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.
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 16:46 ` Eli Zaretskii
@ 2014-04-20 17:32 ` Ivan Shmakov
2014-04-20 18:53 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: Ivan Shmakov @ 2014-04-20 17:32 UTC (permalink / raw)
To: 17300
>>>>> Eli Zaretskii <eliz@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
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 17:32 ` Ivan Shmakov
@ 2014-04-20 18:53 ` Eli Zaretskii
2014-04-20 21:58 ` Stefan Monnier
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2014-04-20 18:53 UTC (permalink / raw)
To: Ivan Shmakov; +Cc: 17300
> From: Ivan Shmakov <ivan@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".
^ permalink raw reply [flat|nested] 11+ messages in thread
* bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures)
2014-04-20 18:53 ` Eli Zaretskii
@ 2014-04-20 21:58 ` Stefan Monnier
0 siblings, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2014-04-20 21:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 17300, Ivan Shmakov
> 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
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-04-20 21:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-20 11:26 bug#17300: fails to build due to defsetf, cl-define-compiler-macro in cl-macs.el (structures) Ivan Shmakov
2014-04-20 11:36 ` Eli Zaretskii
2014-04-20 12:28 ` Daimrod
2014-04-20 13:35 ` Ivan Shmakov
2014-04-20 13:52 ` Eli Zaretskii
2014-04-20 16:37 ` Ivan Shmakov
2014-04-20 16:46 ` Eli Zaretskii
2014-04-20 17:32 ` Ivan Shmakov
2014-04-20 18:53 ` Eli Zaretskii
2014-04-20 21:58 ` Stefan Monnier
2014-04-20 14:46 ` Daniel Colascione
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).