all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
@ 2015-06-06 14:22 Alan Mackenzie
  2015-06-06 15:00 ` Eli Zaretskii
  2015-06-06 15:05 ` Andreas Schwab
  0 siblings, 2 replies; 8+ messages in thread
From: Alan Mackenzie @ 2015-06-06 14:22 UTC (permalink / raw
  To: emacs-devel

Hello, Emacs.

Recently, I've had to rebuild some older Emacsen because libraries they
depend on have been updated.  An example is Emacs 23.1.  I'm running on
an up to date GNU system (Gentoo, to be precise).

I reconfigured this (with ./configure --with-gpm --without-tiff
--without-gif), then attempted to build it (with make -j5, or make -j5
bootstrap).

This instantly bails out with a make error in .../lib-src:

    make[1]: Entering directory '/usr/local/src/emacs-23.1/lib-src'
    Makefile:144: *** recipe commences before first target.  Stop.
    make[1]: Leaving directory '/usr/local/src/emacs-23.1/lib-src'


Looking around L144 of .../lib-src/Makefile, I see this:

    # ========================== start of cpp stuff =======================
    LIBS_MOVE=$(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) $(COM_ERRLIB)
    $(HESIODLIB)
    LOADLIBES=
    ALL_CFLAGS = -D_BSD_SOURCE -DHAVE_CONFIG_H
    <tab..>  -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS}   <--- 144
    ${CPPFLAGS} ${CFLAGS}

.  There is a <tab> at the beginning of L144 fouling up the Makefile.

Somehow it seems that recent versions of the configuration toolchain
(whatever that means) are incompatible with older configure scripts.
23.1 was before we had autogen.h in the top directory.

Would somebody familiar with the configuration process please help me
understand what's happening here, so that I can fix it.  Thanks!

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-06 14:22 Difficulty building older Emacsen: <tab> characters seemingly fouling things up Alan Mackenzie
@ 2015-06-06 15:00 ` Eli Zaretskii
  2015-06-06 15:06   ` Eli Zaretskii
  2015-06-06 15:05 ` Andreas Schwab
  1 sibling, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2015-06-06 15:00 UTC (permalink / raw
  To: Alan Mackenzie; +Cc: emacs-devel

> Date: Sat, 6 Jun 2015 14:22:04 +0000
> From: Alan Mackenzie <acm@muc.de>
> 
> Recently, I've had to rebuild some older Emacsen because libraries they
> depend on have been updated.  An example is Emacs 23.1.  I'm running on
> an up to date GNU system (Gentoo, to be precise).
> 
> I reconfigured this (with ./configure --with-gpm --without-tiff
> --without-gif), then attempted to build it (with make -j5, or make -j5
> bootstrap).
> 
> This instantly bails out with a make error in .../lib-src:
> 
>     make[1]: Entering directory '/usr/local/src/emacs-23.1/lib-src'
>     Makefile:144: *** recipe commences before first target.  Stop.
>     make[1]: Leaving directory '/usr/local/src/emacs-23.1/lib-src'
> 
> 
> Looking around L144 of .../lib-src/Makefile, I see this:
> 
>     # ========================== start of cpp stuff =======================
>     LIBS_MOVE=$(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) $(COM_ERRLIB)
>     $(HESIODLIB)
>     LOADLIBES=
>     ALL_CFLAGS = -D_BSD_SOURCE -DHAVE_CONFIG_H
>     <tab..>  -I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS}   <--- 144
>     ${CPPFLAGS} ${CFLAGS}
> 
> .  There is a <tab> at the beginning of L144 fouling up the Makefile.
> 
> Somehow it seems that recent versions of the configuration toolchain
> (whatever that means) are incompatible with older configure scripts.
> 23.1 was before we had autogen.h in the top directory.
> 
> Would somebody familiar with the configuration process please help me
> understand what's happening here, so that I can fix it.  Thanks!

Looks like line 143 should have had a backslash at its end, but
doesn't.  Likewise, line 144 should have ended with a backslash I
don't understand how did it happen, as lib-src/Makefile.in from Emacs
23.1 have these present.



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-06 14:22 Difficulty building older Emacsen: <tab> characters seemingly fouling things up Alan Mackenzie
  2015-06-06 15:00 ` Eli Zaretskii
@ 2015-06-06 15:05 ` Andreas Schwab
  1 sibling, 0 replies; 8+ messages in thread
From: Andreas Schwab @ 2015-06-06 15:05 UTC (permalink / raw
  To: Alan Mackenzie; +Cc: emacs-devel

Make sure to use gcc -E -P for CPP.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-06 15:00 ` Eli Zaretskii
@ 2015-06-06 15:06   ` Eli Zaretskii
  2015-06-06 15:13     ` David Engster
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2015-06-06 15:06 UTC (permalink / raw
  To: acm; +Cc: emacs-devel

> Date: Sat, 06 Jun 2015 18:00:36 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> Looks like line 143 should have had a backslash at its end, but
> doesn't.  Likewise, line 144 should have ended with a backslash I
> don't understand how did it happen, as lib-src/Makefile.in from Emacs
> 23.1 have these present.

I seem to remember that the behavior of cpp changed at some point, and
we needed to invoke it with the -traditional switch in order to avoid
some trouble, perhaps precisely this one.  (You may remember that in
those days we used cpp to process Makefile.in files into Makefiles.)

So perhaps reconfigure with "CPP='gcc -E -traditional' or somesuch.



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-06 15:06   ` Eli Zaretskii
@ 2015-06-06 15:13     ` David Engster
  2015-06-14 19:22       ` Alan Mackenzie
  0 siblings, 1 reply; 8+ messages in thread
From: David Engster @ 2015-06-06 15:13 UTC (permalink / raw
  To: Eli Zaretskii; +Cc: acm, emacs-devel

Eli Zaretskii writes:
>> Date: Sat, 06 Jun 2015 18:00:36 +0300
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: emacs-devel@gnu.org
>> 
>> Looks like line 143 should have had a backslash at its end, but
>> doesn't.  Likewise, line 144 should have ended with a backslash I
>> don't understand how did it happen, as lib-src/Makefile.in from Emacs
>> 23.1 have these present.
>
> I seem to remember that the behavior of cpp changed at some point, and
> we needed to invoke it with the -traditional switch in order to avoid
> some trouble, perhaps precisely this one.  (You may remember that in
> those days we used cpp to process Makefile.in files into Makefiles.)
>
> So perhaps reconfigure with "CPP='gcc -E -traditional' or somesuch.

Yes, one needs this change to compile older Emacsen:

  http://article.gmane.org/gmane.emacs.diffs/102980

Building older Emacsen can be quite frustrating. I think I also had
problems with linking crt1.o or somesuch when creating older Emacs
binaries for the Buildbot.

-David



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-06 15:13     ` David Engster
@ 2015-06-14 19:22       ` Alan Mackenzie
  2015-06-14 21:47         ` David Engster
  0 siblings, 1 reply; 8+ messages in thread
From: Alan Mackenzie @ 2015-06-14 19:22 UTC (permalink / raw
  To: David Engster; +Cc: Eli Zaretskii, emacs-devel

Hello, David.

On Sat, Jun 06, 2015 at 05:13:12PM +0200, David Engster wrote:
> Eli Zaretskii writes:
> >> Date: Sat, 06 Jun 2015 18:00:36 +0300
> >> From: Eli Zaretskii <eliz@gnu.org>
> >> Cc: emacs-devel@gnu.org

> >> Looks like line 143 should have had a backslash at its end, but
> >> doesn't.  Likewise, line 144 should have ended with a backslash I
> >> don't understand how did it happen, as lib-src/Makefile.in from Emacs
> >> 23.1 have these present.

> > I seem to remember that the behavior of cpp changed at some point, and
> > we needed to invoke it with the -traditional switch in order to avoid
> > some trouble, perhaps precisely this one.  (You may remember that in
> > those days we used cpp to process Makefile.in files into Makefiles.)

> > So perhaps reconfigure with "CPP='gcc -E -traditional' or somesuch.

> Yes, one needs this change to compile older Emacsen:

>   http://article.gmane.org/gmane.emacs.diffs/102980

Thanks, that tip was very useful indeed.

> Building older Emacsen can be quite frustrating. I think I also had
> problems with linking crt1.o or somesuch when creating older Emacs
> binaries for the Buildbot.

I've managed successfully to rebuild 22.1, 22.2, 22.3,  23.2, 23.3,
and 24.2.  The more recent versions were OK anyway.

I failed on 23.1 (which can't find the external symbol
'XRenderQueryExtension'), on 23.4 (which builds OK, but freezes with 100%
CPU at startup), on 24.1 (some problem with `gets' in md5.c).

> -David

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-14 19:22       ` Alan Mackenzie
@ 2015-06-14 21:47         ` David Engster
  2015-06-16 17:46           ` Alan Mackenzie
  0 siblings, 1 reply; 8+ messages in thread
From: David Engster @ 2015-06-14 21:47 UTC (permalink / raw
  To: Alan Mackenzie; +Cc: Eli Zaretskii, emacs-devel

Alan Mackenzie writes:
>> Building older Emacsen can be quite frustrating. I think I also had
>> problems with linking crt1.o or somesuch when creating older Emacs
>> binaries for the Buildbot.
>
> I've managed successfully to rebuild 22.1, 22.2, 22.3,  23.2, 23.3,
> and 24.2.  The more recent versions were OK anyway.

On what system are you compiling?

> 23.4 (which builds OK, but freezes with 100% CPU at startup)

I dimly remember that one - newer libglib made Emacs 23 freeze on
startup. See for instance

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666714

If you really care for Emacs 23.4, then I guess you could try patching
xgselect.c (I guess b05725233b might do the trick). I simply installed
the Debian 7 emacs23 package, which happens to be 23.4. :-)

-David



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

* Re: Difficulty building older Emacsen: <tab> characters seemingly fouling things up.
  2015-06-14 21:47         ` David Engster
@ 2015-06-16 17:46           ` Alan Mackenzie
  0 siblings, 0 replies; 8+ messages in thread
From: Alan Mackenzie @ 2015-06-16 17:46 UTC (permalink / raw
  To: David Engster; +Cc: emacs-devel

Hello, David.

On Sun, Jun 14, 2015 at 11:47:20PM +0200, David Engster wrote:
> Alan Mackenzie writes:
> >> Building older Emacsen can be quite frustrating. I think I also had
> >> problems with linking crt1.o or somesuch when creating older Emacs
> >> binaries for the Buildbot.
> >
> > I've managed successfully to rebuild 22.1, 22.2, 22.3,  23.2, 23.3,
> > and 24.2.  The more recent versions were OK anyway.

> On what system are you compiling?

> > 23.4 (which builds OK, but freezes with 100% CPU at startup)

> I dimly remember that one - newer libglib made Emacs 23 freeze on
> startup. See for instance

> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666714

It's good to know that it wasn't me making a mistake.

> If you really care for Emacs 23.4, then I guess you could try patching
> xgselect.c (I guess b05725233b might do the trick). I simply installed
> the Debian 7 emacs23 package, which happens to be 23.4. :-)

Thanks.  I think I've got enough working versions (for testing) now, so
I'll forget about 23.4, unless I specifically need it for something.

> -David

-- 
Alan Mackenzie (Nuremberg, Germany).



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

end of thread, other threads:[~2015-06-16 17:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-06 14:22 Difficulty building older Emacsen: <tab> characters seemingly fouling things up Alan Mackenzie
2015-06-06 15:00 ` Eli Zaretskii
2015-06-06 15:06   ` Eli Zaretskii
2015-06-06 15:13     ` David Engster
2015-06-14 19:22       ` Alan Mackenzie
2015-06-14 21:47         ` David Engster
2015-06-16 17:46           ` Alan Mackenzie
2015-06-06 15:05 ` Andreas Schwab

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.