Subject: pkg/30626: net/ctorrent 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: 06/28/2005 18:13:00
>Number:         30626
>Category:       pkg
>Synopsis:       net/ctorrent build fails on MacOS X 10.2.8
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jun 28 18:13:00 +0000 2005
>Originator:     John D. Baker
>Release:        MacOS X 10.2.8
>Organization:
>Environment:
Darwin pm7500.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:
MacOS X 10.2.8's definition of "socklen_t" is conditional, depending
on the definition of the macro _BSD_SOCKLEN_T_ with the scalar type
to be used in a subsequent typedef.

Thus, net/ctorrent fails to build as follows:

[...]
if g++ -DHAVE_CONFIG_H -I. -I. -I.    -no-cpp-precomp -I/usr/pkg/include  -O2 -I/usr/pkg/include -MT peerlist.o -MD -MP -MF ".deps/peerlist.Tpo"  -c -o peerlist.o `test -f 'peerlist.cpp' || echo './'`peerlist.cpp;  then mv -f ".deps/peerlist.Tpo" ".deps/peerlist.Po";  else rm -f ".deps/peerlist.Tpo"; exit 1;  fi
peerlist.cpp: In member function `int PeerList::Accepter()':
peerlist.cpp:342: `socklen_t' undeclared (first use this function)
peerlist.cpp:342: (Each undeclared identifier is reported only once for each 
   function it appears in.)
peerlist.cpp:342: parse error before `;' token
peerlist.cpp:344: `addrlen' undeclared (first use this function)
*** Error code 1

Stop.
bmake: stopped in /Volumes/NetBSD/tmp/pkgsrc/net/ctorrent/work/ctorrent-1.3.4
[...]

>How-To-Repeat:
On MacOS X 10.2.8:

cd .../pkgsrc/net/ctorrent
bmake
>Fix:
Workaround:

bmake configure

edit config.h to include the line:

#define _BSD_SOCKLENT_T_ unsigned int

bmake


MacOS X 10.3.x and later appears to have corrected this oversight.