GNU bug report logs - #36332
post-extraclean build too painful on macOS

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Sat, 22 Jun 2019 18:47:01 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

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 36332 in the body.
You can then email your comments to 36332 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 18:47:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Eggert <eggert <at> cs.ucla.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 22 Jun 2019 18:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Emacs bug reports and feature requests <bug-gnu-emacs <at> gnu.org>
Subject: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 11:46:26 -0700
Apparently Emacs master does not build in macOS when configured without a GUI, 
e.g., './configure --without-ns'. Someone with macOS experience should fix this, 
as Emacs should always be buildable without a GUI. Please see:

https://lists.gnu.org/r/emacs-devel/2019-06/msg00847.html

where Robert Pluim reports the following symptoms:

In file included from nsterm.m:49:
./nsterm.h:1322:20: error: typedef redefinition with different types
('NSUInteger' (aka 'unsigned long') vs 'enum NSWindowStyleMask')
typedef NSUInteger NSWindowStyleMask;

                   ^
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:35:32: note:
previous definition is here
typedef NS_OPTIONS(NSUInteger, NSWindowStyleMask) {
                               ^
In file included from nsterm.m:49:
./nsterm.h:1326:6: error: enumeration previously declared with fixed underlying
type
enum NSWindowTabbingMode
     ^




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 19:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 20:38:19 +0100
On Sat, Jun 22, 2019 at 11:46:26AM -0700, Paul Eggert wrote:
> Apparently Emacs master does not build in macOS when configured without a
> GUI, e.g., './configure --without-ns'. Someone with macOS experience should
> fix this, as Emacs should always be buildable without a GUI.

It is. What doesn’t work is defining HAVE_NS but not setting the
requirements for an NS build.

'./configure --without-ns' works fine as is.
-- 
Alan Third




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 19:45:02 GMT) Full text and rfc822 format available.

Message #11 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Alan Third <alan <at> idiocy.org>
Cc: 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 12:44:40 -0700
Alan Third wrote:
> It is. What doesn’t work is defining HAVE_NS but not setting the
> requirements for an NS build.
> 
> './configure --without-ns' works fine as is.

OK, thanks, in that case I guess that the problem is only that after one does 
'make extraclean' then one cannot build with the current master without manually 
specifying './configure --without-ns' at some point. This makes the bug less 
urgent to fix.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 20:20:02 GMT) Full text and rfc822 format available.

Message #14 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 21:19:43 +0100
[Message part 1 (text/plain, inline)]
On Sat, Jun 22, 2019 at 12:44:40PM -0700, Paul Eggert wrote:
> Alan Third wrote:
> > It is. What doesn’t work is defining HAVE_NS but not setting the
> > requirements for an NS build.
> > 
> > './configure --without-ns' works fine as is.
> 
> OK, thanks, in that case I guess that the problem is only that after one
> does 'make extraclean' then one cannot build with the current master without
> manually specifying './configure --without-ns' at some point. This makes the
> bug less urgent to fix.

I haven’t been following the clean build chat on emacs-devel, does
make extraclean delete macuvs.h?

We could try returning a useful message at configure time instead of
just failing during the build. Do you think the attached patch is OK?

I’d rather not just build headless as the usual build process on the
Mac is to do ’make; make install’, which just builds the NS app
directory. If we were to configure headless then run that same command
it would attempt to install a headless Emacs to /usr or somewhere. It
would probably fail due to permissions, but I’d prefer to avoid any
confusion in the first place.
-- 
Alan Third
[0001-Provide-a-useful-message-if-macuvs.h-doesn-t-exist-b.patch (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 20:27:02 GMT) Full text and rfc822 format available.

Message #17 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Alan Third <alan <at> idiocy.org>
Cc: 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 13:25:58 -0700
Alan Third wrote:

> I haven’t been following the clean build chat on emacs-devel, does
> make extraclean delete macuvs.h?

Yes, and this was true even before the recent patches in this area.
> We could try returning a useful message at configure time instead of
> just failing during the build. Do you think the attached patch is OK?

Sure, that looks good.

> I’d rather not just build headless as the usual build process on the
> Mac is to do ’make; make install’

My idea is that plain 'make' would build a headless Emacs for src/temacs and 
src/bootstrap-emacs, as that's all that Emacs needs to compile itself. However, 
src/emacs would continue to be an Emacs with the GUI. This could be done on all 
platforms, not just macOS. Admittedly it'd be some work.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 20:38:01 GMT) Full text and rfc822 format available.

Message #20 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 21:37:42 +0100
On Sat, Jun 22, 2019 at 01:25:58PM -0700, Paul Eggert wrote:
> Alan Third wrote:
> 
> > I haven’t been following the clean build chat on emacs-devel, does
> > make extraclean delete macuvs.h?
> 
> Yes, and this was true even before the recent patches in this area.
> > We could try returning a useful message at configure time instead of
> > just failing during the build. Do you think the attached patch is OK?
> 
> Sure, that looks good.

Thanks, I’ll push it to master if nobody complains in a couple of days.

> > I’d rather not just build headless as the usual build process on the
> > Mac is to do ’make; make install’
> 
> My idea is that plain 'make' would build a headless Emacs for src/temacs and
> src/bootstrap-emacs, as that's all that Emacs needs to compile itself.
> However, src/emacs would continue to be an Emacs with the GUI. This could be
> done on all platforms, not just macOS. Admittedly it'd be some work.

Yes, that would be better. I’d have no idea where to start, though. :)
-- 
Alan Third




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 20:51:02 GMT) Full text and rfc822 format available.

Message #23 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Alan Third <alan <at> idiocy.org>
Cc: Paul Eggert <eggert <at> cs.ucla.edu>, 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 16:50:10 -0400
Alan Third wrote:

> I haven't been following the clean build chat on emacs-devel, does
> make extraclean delete macuvs.h?

It does, but it doesn't have to.
For example, it doesn't remove lisp/cedet/semantic/grammar-wy.el
or lisp/ldefs-boot.el.
Before least week, "extraclean" wasn't a particularly well-formed target.
Now it apparently needs to be buildable.
So I suggest that it doesn't delete src/macuvs.h.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 20:56:02 GMT) Full text and rfc822 format available.

Message #26 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: Alan Third <alan <at> idiocy.org>, Paul Eggert <eggert <at> cs.ucla.edu>,
 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 22:55:10 +0200
Glenn Morris <rgm <at> gnu.org> writes:

> Before least week, "extraclean" wasn't a particularly well-formed target.
> Now it apparently needs to be buildable.
> So I suggest that it doesn't delete src/macuvs.h.

I think that's a good solution. 

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sat, 22 Jun 2019 21:11:02 GMT) Full text and rfc822 format available.

Message #29 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Glenn Morris <rgm <at> gnu.org>, Paul Eggert <eggert <at> cs.ucla.edu>,
 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sat, 22 Jun 2019 22:10:09 +0100
On Sat, Jun 22, 2019 at 10:55:10PM +0200, Lars Ingebrigtsen wrote:
> Glenn Morris <rgm <at> gnu.org> writes:
> 
> > Before least week, "extraclean" wasn't a particularly well-formed target.
> > Now it apparently needs to be buildable.
> > So I suggest that it doesn't delete src/macuvs.h.
> 
> I think that's a good solution. 

Yes, it certainly looks like the best option.
-- 
Alan Third




Changed bug title to 'post-extraclean build too painful on macOS' from 'non-GUI build broken on macOS' Request was from Paul Eggert <eggert <at> cs.ucla.edu> to control <at> debbugs.gnu.org. (Sat, 22 Jun 2019 23:54:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sun, 23 Jun 2019 02:37:01 GMT) Full text and rfc822 format available.

Message #34 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: rgm <at> gnu.org, alan <at> idiocy.org, eggert <at> cs.ucla.edu, 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sun, 23 Jun 2019 05:36:22 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Sat, 22 Jun 2019 22:55:10 +0200
> Cc: Alan Third <alan <at> idiocy.org>, Paul Eggert <eggert <at> cs.ucla.edu>,
>  36332 <at> debbugs.gnu.org
> 
> Glenn Morris <rgm <at> gnu.org> writes:
> 
> > Before least week, "extraclean" wasn't a particularly well-formed target.
> > Now it apparently needs to be buildable.
> > So I suggest that it doesn't delete src/macuvs.h.
> 
> I think that's a good solution. 

I'm OK with not removing it.  However, let's also mention this in the
description of "extraclean" in the top-level Makefile.in, to the
effect that if someone wants to force regenerating macuvs.h (e.g.,
because IVD_Sequences.txt was updated), they might need to remove this
file manually.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Sun, 23 Jun 2019 14:12:01 GMT) Full text and rfc822 format available.

Message #37 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, eggert <at> cs.ucla.edu, alan <at> idiocy.org,
 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Sun, 23 Jun 2019 16:11:21 +0200
>>>>> On Sun, 23 Jun 2019 05:36:22 +0300, Eli Zaretskii <eliz <at> gnu.org> said:

    >> From: Lars Ingebrigtsen <larsi <at> gnus.org>
    >> Date: Sat, 22 Jun 2019 22:55:10 +0200
    >> Cc: Alan Third <alan <at> idiocy.org>, Paul Eggert <eggert <at> cs.ucla.edu>,
    >> 36332 <at> debbugs.gnu.org
    >> 
    >> Glenn Morris <rgm <at> gnu.org> writes:
    >> 
    >> > Before least week, "extraclean" wasn't a particularly well-formed target.
    >> > Now it apparently needs to be buildable.
    >> > So I suggest that it doesn't delete src/macuvs.h.
    >> 
    >> I think that's a good solution. 

    Eli> I'm OK with not removing it.  However, let's also mention this in the
    Eli> description of "extraclean" in the top-level Makefile.in, to the
    Eli> effect that if someone wants to force regenerating macuvs.h (e.g.,
    Eli> because IVD_Sequences.txt was updated), they might need to remove this
    Eli> file manually.

master builds again for me on macOS. Apologies for being grumpy
earlier.

Thanks

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Tue, 25 Jun 2019 01:44:02 GMT) Full text and rfc822 format available.

Message #40 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, eggert <at> cs.ucla.edu, alan <at> idiocy.org,
 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Mon, 24 Jun 2019 21:43:01 -0400
>> > So I suggest that [extraclean] doesn't delete src/macuvs.h.
>> 
>> I think that's a good solution. 
>
> I'm OK with not removing it.  However, let's also mention this in the
> description of "extraclean" in the top-level Makefile.in, to the
> effect that if someone wants to force regenerating macuvs.h (e.g.,
> because IVD_Sequences.txt was updated), they might need to remove this
> file manually.

I think the "extraclean" target has not had a proper definition to date.
I think a useful definition would be "return to the state of a clean checkout"
(by deleting files known to make, not by git clean).
In which case by definition "extraclean" would not delete macuvs.h.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#36332; Package emacs. (Tue, 25 Jun 2019 11:25:01 GMT) Full text and rfc822 format available.

Message #43 received at 36332 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, eggert <at> cs.ucla.edu, alan <at> idiocy.org,
 36332 <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Tue, 25 Jun 2019 13:24:09 +0200
Glenn Morris <rgm <at> gnu.org> writes:

> I think the "extraclean" target has not had a proper definition to date.
> I think a useful definition would be "return to the state of a clean checkout"
> (by deleting files known to make, not by git clean).
> In which case by definition "extraclean" would not delete macuvs.h.

I agree.  I've now removed the deletion (but added a comment about it).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Thu, 27 Jun 2019 09:46:02 GMT) Full text and rfc822 format available.

Notification sent to Paul Eggert <eggert <at> cs.ucla.edu>:
bug acknowledged by developer. (Thu, 27 Jun 2019 09:46:03 GMT) Full text and rfc822 format available.

Message #48 received at 36332-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Lars Ingebrigtsen <larsi <at> gnus.org>, Glenn Morris <rgm <at> gnu.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, alan <at> idiocy.org, 36332-done <at> debbugs.gnu.org
Subject: Re: bug#36332: non-GUI build broken on macOS
Date: Thu, 27 Jun 2019 02:45:35 -0700
Lars Ingebrigtsen wrote:
> I agree.  I've now removed the deletion (but added a comment about it).

Thanks, closing the bug report.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Jul 2019 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 248 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.