Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Oct 2002 12:44:23 +0100
From:      Jens Rehsack <rehsack@liwing.de>
To:        Greg 'groggy' Lehey <grog@current.lemis.com>
Cc:        FreeBSD-gnats-submit@FreeBSD.org, ports@freebsd.org
Subject:   Re: ports/44449: audio/id3lib port fails to build
Message-ID:  <3DC11797.57FD64E6@liwing.de>
References:  <200210250309.g9P397Po002914@current.lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help


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 <iostream.h>

int main()
{
  cout << "Hello world." << endl;
  return 0;
}
--- END test1.cc ---

--- BEGIN test2.cc ---
#include <iostream>

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: <rehsack@liwing.de>
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DC11797.57FD64E6>