Date: Sun, 14 Mar 2004 20:38:17 -0500 From: Craig Rodrigues <rodrigc@crodrigues.org> To: David Gilbert <dgilbert@dclg.ca> Cc: freebsd-current@freebsd.org Subject: Re: GCC include files conundrum. Message-ID: <20040315013817.GA68381@crodrigues.org> In-Reply-To: <16468.65270.123954.862565@canoe.dclg.ca> References: <16468.65270.123954.862565@canoe.dclg.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 14, 2004 at 07:55:18PM -0500, David Gilbert wrote: > I attempted to argue that audio/tclmidi wasn't broken... and the ports > maintainer fired back with > > http://bento.freebsd.org/errorlogs/i386-5-latest/tclmidi-3.1.log > > Now... I started investigating this and found that this was all due to > some differences in C++ over the years. > So what's the solution? Pick up a contemporary C++ book and learn about Standard C++ (which became an ISO standard in 1998). strstream is deprecated in Appendix D of the standard. I recommend a book such as "The C++ Programming Language, 3rd ed." by Bjarne Stroustrup. gcc 3.x supports Standard C++ more aggressively than earlier gcc versions, which can be painful. The GCC developers (more specifically libstdc++ developers) are more interested in supporting Standard C++, and are not too interested in maintaining backwards compatibility with deprecated headers such as strstream.h. This is a bit of a problem for software that depends on these older libraries. You have a few options: (1) Learn enough C++ so that you can apply the necessary patches to fix audio/tclmidi so that it compiles with Standard C++ headers (such as <sstream>). (2) gcc 3.3 has /usr/include/c++/3.3/backward/strstream, so you may want to try #include <backward/sstream> an see if that works, but chances are if it doesn't work, you will be out of luck, since it is a deprecated header that the GCC developers are not too interested in supporting. (3) In the Makefile for the audio/tclmidi port, mark it as broken on FreeBSD 5.x: .if ${OSVERSION} > 500000 BROKEN= "Does not build on 5.x" .endif -- Craig Rodrigues http://crodrigues.org rodrigc@crodrigues.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040315013817.GA68381>