When Created: 07/26/1998 20:40:35
Against DJGPP version: 2.01
By whom: firstname.lastname@example.org
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:
Workaround added: 07/29/1998 23:28:58
By whom: email@example.com
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 FIL361B.zip 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 GPP____.zip 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: firstname.lastname@example.org