From owner-freebsd-ports Thu Oct 31 3:46: 0 2002 Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0995A37B401 for ; Thu, 31 Oct 2002 03:45:57 -0800 (PST) Received: from mail.liwing.de (mail.liwing.de [213.70.188.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 867D743E88 for ; Thu, 31 Oct 2002 03:45:55 -0800 (PST) (envelope-from rehsack@liwing.de) Received: (qmail 90042 invoked from network); 31 Oct 2002 11:45:54 -0000 Received: from stingray.liwing.de (HELO liwing.de) ([213.70.188.164]) (envelope-sender ) by mail.liwing.de (qmail-ldap-1.03) with SMTP for ; 31 Oct 2002 11:45:54 -0000 Message-ID: <3DC11797.57FD64E6@liwing.de> Date: Thu, 31 Oct 2002 12:44:23 +0100 From: Jens Rehsack Organization: LiWing IT-Services X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Greg 'groggy' Lehey Cc: FreeBSD-gnats-submit@FreeBSD.org, ports@freebsd.org Subject: Re: ports/44449: audio/id3lib port fails to build References: <200210250309.g9P397Po002914@current.lemis.com> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Greg 'groggy' Lehey wrote: > > >Number: 44449 > >Category: ports > >Synopsis: audio/id3lib port fails to build > >Confidential: no > >Severity: critical > >Priority: high > >Responsible: freebsd-ports > >State: open > >Quarter: > >Keywords: > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Thu Oct 24 20:10:01 PDT 2002 > >Closed-Date: > >Last-Modified: > >Originator: Greg 'groggy' Lehey > >Release: FreeBSD 5.0-CURRENT i386 > >Organization: > LEMIS (SA) Pty. Ltd > >Environment: > System: FreeBSD current.lemis.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Thu Oct 24 11:57:57 CST 2002 grog@current.lemis.com:/usr/obj/src/FreeBSD/5-CURRENT-WANTADILLA/src/sys/WANTADILLA i386 > > Not machine dependent > >Description: > audio/id3lib no longer builds under recent -CURRENT. There > are no problems with -STABLE, but at least two with -CURRENT: > > 1. gmake[2]: Entering directory `/src/FreeBSD/ports/audio/id3lib/work/id3lib-3.7.13/examples' > c++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I/usr/local/include -O -pipe -mcpu=pentiumpro -c demo_info.cpp > demo_info.cpp: In function `void PrintInformation(const ID3_Tag&)': > demo_info.cpp:262: `strlen' undeclared (first use this function) > > 2. After including string.h from that file, the link phase > fails with a large number of undefined references to C++ > library functions. > > >How-To-Repeat: > cd /usr/ports/audio/id3lib > make install > >Fix: > > I suspect this has something to do with recent changes to > headers and libraries. I don't have time to investigate yet. > In view of the impending release of 5.0, it should be > investigated quickly, though. > >Release-Note: > >Audit-Trail: > >Unformatted: I sent the same PR 2 days before (ports/44423) and I had a suspicion 'bout the error. Now I verfied it and I was right. I attach 2 c++ sources. If anyone try build them under a Current installation which is up to date, (s)he will see the reason for the error. It's the consequence from gcc32 which implements the current ANSI C++ standard which is using namespaces but didn't it doing right with the deprecated include files (*.h) for c++. That means that "iostream.h" declares a class instance cout which is defined (libstdc++) in namespace std but declared outside. There are two ways to fix: 1) Fix the gcc32 include files to declare right. 2) Fix the id3lib to use the current ANSI C++ standard (if found a compiler who supports) And a question remains: Who make these fixes and on which source tree. I can do but I don't have any interrest to have many hours of fixing and the result is thrown away. --- BEGIN test1.cc --- #include int main() { cout << "Hello world." << endl; return 0; } --- END test1.cc --- --- BEGIN test2.cc --- #include using namespace std; int main() { cout << "Hello world." << endl; return 0; } --- END test2.cc --- Greetings, Jens -- L i W W W i Jens Rehsack L W W W L i W W W W i nnn gggg LiWing IT-Services L i W W W W i n n g g LLLL i W W i n n g g Friesenstraße 2 gggg 06112 Halle g g g Tel.: +49 - 3 45 - 5 17 05 91 ggg e-Mail: Fax: +49 - 3 45 - 5 17 05 92 http://www.liwing.de/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message