Subject: pkg/30127: audio/arts build fails on MacOS X 10.2.8
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@mylinuxisp.com>
List: pkgsrc-bugs
Date: 05/04/2005 01:31:00
>Number:         30127
>Category:       pkg
>Synopsis:       audio/arts build fails on MacOS X 10.2.8
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 04 01:31:00 +0000 2005
>Originator:     John D. Baker
>Release:        Mac OS X 10.2.8
>Organization:
>Environment:
Darwin pm8500.technoskunk.fur 6.8 Darwin Kernel Version 6.8: Wed Sep 10 15:20:55 PDT 2003; root:xnu/xnu-344.49.obj~2/RELEASE_PPC  Power Macintosh powerpc

>Description:
building .../pkgsrc/audio/arts on Mac OS X 10.2.8 fails because
"socklen_t" is not defined when compiling
"work/arts-1.4.0/mcop/tcpserver.cc".

socklen_t is only conditionally defined (via typedef) in
/usr/include/sys/socket.h if and only if the macro _BSD_SOCKLEN_T_
is defined with the parent type (usually int).
>How-To-Repeat:
On Mac OS X 10.2.8, with pkgsrc installed and bootstrapped:

cd .../pkgsrc/audio/arts
bmake
>Fix:
The usual workaround is to define _BSD_SOCKLEN_T_ to the appropriate
parent type in "config.h".  This is usually done by:

cd .../pkgsrc/audio/arts
bmake patch

edit "work/arts-1.4.0/config.h.in" to contain the line:

    #define _BSD_SOCKLEN_T_ int

then proceed with building as usual.

The build step re-creates "config.h", so you cannot patch it directly
after configuration, you must patch "config.h.in".