delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2005/03/16/15:07:53

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Date: Wed, 16 Mar 2005 22:04:45 +0200
From: "Eli Zaretskii" <eliz AT gnu DOT org>
Sender: halo1 AT zahav DOT net DOT il
To: djgpp AT delorie DOT com
Message-ID: <01c52a63$Blat.v2.4$8b3bad00@zahav.net.il>
X-Mailer: emacs 22.0.50 (via feedmail 8 I) and Blat ver 2.4
In-reply-to: <1110992417.515321.24950@g14g2000cwa.googlegroups.com>
(ogi AT fmi DOT uni-sofia DOT bg)
Subject: Re: Emacs 21.4a
References: <1110992417 DOT 515321 DOT 24950 AT g14g2000cwa DOT googlegroups DOT com>
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> From: "Ognyan Kulev" <ogi AT fmi DOT uni-sofia DOT bg>
> Date: 16 Mar 2005 09:00:17 -0800
> 
> I compile with LFN=n because I want the result binary to run on DOS.

Bad idea.  The right way to do that is to compile _without_ LFN=n,
i.e. normally, and then create a zip archive of the built Emacs and
unzip it on plain DOS.

When you set LFN=n, you create a discrepancy between the file names
seen by GCC and other DJGPP tools and file names seen by the Windows
shell (which runs the config.bat script and other commands used during
the build).  That discrepancy will almost certainly cause failure to
build Emacs.

> The first error was missing syslimits.h.

That's the consequence of setting LFN=n: it causes GCC not to see
syslimits.h (whose name is more than 8 characters before the dot), and
instead it sees syslim~1.h, which is not a truncation of syslimits.h
to 8+3 limits.

> I "fixed" it by commenting the include in
> c:\djgpp\lib\gcc\djgpp\3.43\include\limits.h.

Another bad idea.  Don't do that.  These includes are there for a
reason.

> The next error is:
> 
> gcc -c  -Demacs -DHAVE_CONFIG_H   -I. -I.       -O2 -gcoff keyboard.c
> c:/djgpp/tmp/ccGYquUe.s: Assembler messages:
> c:/djgpp/tmp/ccGYquUe.s:26262: Fatal error: C_EFCN symbol out of scope

It is small wonder you get compilation errors: setting LFN=n totally
destroys the source tree, unless you are on plain DOS.  I'm surprised
you got as far as compiling keyboard.c.

Bottom line: unset LFN=n and build normally.  (It's possible that by
now, the effects of LFN=n have propagated further, so your best bet is
to remove the entire Emacs source tree, then unpack the .tar.gz file
anew, and try building from scratch.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019