From owner-freebsd-current@FreeBSD.ORG Sun Mar 14 17:38:19 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2866E16A4CE; Sun, 14 Mar 2004 17:38:19 -0800 (PST) Received: from sccrmhc11.comcast.net (sccrmhc11.comcast.net [204.127.202.55]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2CC243D31; Sun, 14 Mar 2004 17:38:18 -0800 (PST) (envelope-from rodrigc@h00609772adf0.ne.client2.attbi.com) Received: from dibbler.crodrigues.org (h00609772adf0.ne.client2.attbi.com[66.31.45.197]) by comcast.net (sccrmhc11) with ESMTP id <2004031501381701100qf0k8e>; Mon, 15 Mar 2004 01:38:17 +0000 Received: from dibbler.crodrigues.org (localhost.crodrigues.org [127.0.0.1]) i2F1cH6x068482; Sun, 14 Mar 2004 20:38:17 -0500 (EST) (envelope-from rodrigc@h00609772adf0.ne.client2.attbi.com) Received: (from rodrigc@localhost) by dibbler.crodrigues.org (8.12.11/8.12.10/Submit) id i2F1cHHe068481; Sun, 14 Mar 2004 20:38:17 -0500 (EST) (envelope-from rodrigc) Date: Sun, 14 Mar 2004 20:38:17 -0500 From: Craig Rodrigues To: David Gilbert Message-ID: <20040315013817.GA68381@crodrigues.org> References: <16468.65270.123954.862565@canoe.dclg.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16468.65270.123954.862565@canoe.dclg.ca> User-Agent: Mutt/1.4.1i cc: freebsd-hackers@freebsd.org cc: freebsd-current@freebsd.org Subject: Re: GCC include files conundrum. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Mar 2004 01:38:19 -0000 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 ). (2) gcc 3.3 has /usr/include/c++/3.3/backward/strstream, so you may want to try #include 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