This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

setup & gcc-3 (was Re: [Patch] Fix setup to build with gcc2-2.95.3-10)


I've managed to fix all but one of the problems stopping setup compiling
with gcc3.

The remaining problem is:
../setup/LogSingleton.cc: In constructor `LogSingleton::LogSingleton()':
../setup/LogSingleton.cc:35: no matching function for call to `
   std::basic_ostream<char, std::char_traits<char> >::basic_ostream()'
/usr/include/c++/3.2/iosfwd:61: candidates are: std::basic_ostream<char,
   std::char_traits<char> >::basic_ostream(const std::basic_ostream<char,
   std::char_traits<char> >&)
/usr/include/c++/3.2/ostream:72:                 std::basic_ostream<_CharT,
   _Traits>::basic_ostream(std::basic_streambuf<_CharT, _Traits>*) [with
_CharT
   = char, _Traits = std::char_traits<char>]
make[2]: *** [LogSingleton.o] Error 1

I don't know how to solve this. It looks like the LogSingleton constructor
will need rewriting, but I don't have the STL skills for that.

A remaining minor issue:
../setup/res.rc:217:6: invalid preprocessing directive #CONTROL

This is supposed to be a # comment. Are they valid in .rc files? Maybe it
should be a // comment.

Patches attached:
setup-gcc3-kludge-mkdir.patch:
I've been building a Cygwin, not MinGW setup, because the gcc-mingw package
annoyed me by not removing itself properly, and I don't want to reinstall it
after cleaning my Cygwin setup.
Cygwin compilation of mkdir.cc. This just avoids the issue.

setup-gcc-partial-fixes.patch:
A load of fixes, outlined below:
- Add a throw() specification to Exception::what(), because one has been
added to its base class.
- Add std:: qualifiers to _lots_ of things.
- Add using std::xxxx; statements to the top of .cc files which have lots of
std:: things, instead of std::-prefixing each occurrence.
- Reorder includes (libstdc++-v3 is rather sensitive to windows.h being
included before it).

NB: It is necessary to add -Wno-deprecated to CFLAGS, to avoid a warning
(which is treated as an error) about the use of strstreams.

Max.

Attachment: setup-gcc3-kludge-mkdir.patch
Description: Binary data

Attachment: setup-gcc3-partial-fixes.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]