Bug 000242

When Created: 07/26/1998 20:40:35
Against DJGPP version: 2.01
By whom:
Abstract: Error when compiling various libraries with djgpp in a dos box under Win 98
When I compiled Degui 1.24 with Allegro and djgpp, I got the following message:

In file included from ../include/inifile.h:17,
c:/djgpp/lang/cxx/iostream.h:31: streambuf.h: No such file or directory

make.exe: *** [builder.o] Error 1

I get this message when I compile one or two other libraries as well, so I 
therefore presume the problem isn't to do with Allegro or Degui.

I'm using djgpp in a dos box under Windows 98.  If I return to an earlier 
version of djgpp and degui, everything is ok.

Some of the files I used are:

Mike Stoddart

Workaround added: 07/29/1998 23:28:58
By whom:
   The problem is that you most likely unzipped the c++ libraries with
a zip utility that supports long filenames.

   Unfortunately, DJGPP doesn't seem to actually support long filenames (see
bug 000244).  (Try downloading the file utilites and typing 'ls',
the UNIX version of 'dir' -- you'll see nothing but short filenames)  As you 
probably know, the short filename equivalent of streambuf.h is
stream~1.h, which is why g++ (or gxx) can't find the library.  When you specify
any filename longer than 8.3 characters (8 main, 3 extension), gcc, g++ or
make will simply truncate it to 8.3.

   What you have to do is use pkunzip for DOS to extract your C++ libraries
(probably in your file).  Pkunzip for DOS will truncate streambuf.h
to streambu.h, and g++ will be able to find the library.

   The same goes for any source files that you create on your own. (If you have
to #include source or header files with long names, you have to truncate
the filename when you save them, or DJGPP will not find them)


Closed on 10/13/1998 16:00:19: Non-bug (installation error)
By whom:

  webmaster     delorie software   privacy  
  Copyright 2010   by DJ Delorie     Updated Jul 2010