Message-ID: <36D9649A.97E851B8@solutions2000.net> Date: Sun, 28 Feb 1999 10:45:30 -0500 From: Nehru Juman X-Mailer: Mozilla 4.04 [en] (Win95; I) MIME-Version: 1.0 To: Eli Zaretskii CC: djgpp AT delorie DOT com Subject: Re: Problem building c++ programs References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Here is detailed info regarding my problem building c++ programs with gcc: gcc -v -o tester.exe tester.o -lstdcxx yields the following output: Reading specs from C:/ASSEMB~1/RSXNTDJ/lib/specs gcc version 2.8.1 c:/assemb~1/djgpp/bin/ld.exe -o tester.exe c:/assemb~1/djgpp/lib/crt0.o -L. -LC:/ ASSEMB~1/RSXNTDJ/lib -Lc:/assemb~1/djgpp/lib -Lc:/assemb~1/djgpp/lib/gcc-lib/ djgpp/2.81 -Lc:/assemb~1/djgpp/bin -Lc:/assemb~1/djgpp/lib tester.o -lstdcxx -Tdj tester.exe: final close failed: Bad file descriptor (EBADF) make.exe: *** [tester.exe] Error 1 Also, please note the following: 1.My system has ample hard disk space and RAM (1 gig free and 16 megs RAM) 2.I Think my config.sys is ok. I mean, I'm running from a dos box in Win95 and config.sys in the root directory has FILES = 50 (also, config.dos). 3.The program builds perfectly under the following conditions: a.If I don't use the -o switch with gcc, I get an "a.out" and "a.exe" file that works fine. b.If I use gxx instead of gcc, everything is perfect. Eli Zaretskii wrote: > On Fri, 26 Feb 1999, Nehru Juman wrote: > > > I am currently having some difficulty with building c++ programs using > > gcc. Any perfectly working c++ program (built fine with gxx) fails to > > build with gcc. I keep getting the message: "Final Closure Error: Bad > > File Descriptor (EBADF)". > > This means that when the compiler closed some file, the close call > returned an error indication. One possibility that comes to mind is > that some disk is full. It could be the drive where the program is > produced, or the disk where the temporary files are written (a RAM > disk that's too small, maybe?). > > Anyway, you will have to dig deeper into this and at least tell which > compiler pass emits this message. (Add -v to the GCC command line to > see that.)