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" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-ID: <01c52a63$Blat.v2.4$8b3bad00@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 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 Precedence: bulk > From: "Ognyan Kulev" > 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.)