pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/39061: devel/libnet10 build fails on MacOS X 10.4.11



>Number:         39061
>Category:       pkg
>Synopsis:       devel/libnet10 build fails on MacOS X 10.4.11
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 28 20:15:00 +0000 2008
>Originator:     John D. Baker
>Release:        MacOS X 10.4.11
>Organization:
>Environment:
Darwin aardvark-2.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 
18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386
>Description:
devel/libnet10 fails building with:

[...]
libtool  --mode=compile gcc -O2 -funroll-loops -fomit-frame-pointer -Wall 
-no-cpp-precomp -isystem /usr/include  -DHAVE_CONFIG_H -c 
src/libnet_insert_ipo.c
 gcc -O2 -funroll-loops -fomit-frame-pointer -Wall -no-cpp-precomp -isystem 
/usr/include -DHAVE_CONFIG_H -c src/libnet_insert_ipo.c  -fno-common -DPIC -o 
.libs/libnet_insert_ipo.o
In file included from src/../include/libnet.h:81,
                 from src/libnet_insert_ipo.c:36:
src/../include/./libnet/libnet-functions.h:500: warning: 'struct ipoption' 
declared inside parameter list
src/../include/./libnet/libnet-functions.h:500: warning: its scope is only this 
definition or declaration, which is probably not what you want
src/libnet_insert_ipo.c:39: warning: 'struct ipoption' declared inside 
parameter list
src/libnet_insert_ipo.c:40: error: conflicting types for 'libnet_insert_ipo'
src/../include/./libnet/libnet-functions.h:500: error: previous declaration of 
'libnet_insert_ipo' was here
src/libnet_insert_ipo.c: In function 'libnet_insert_ipo':
src/libnet_insert_ipo.c:83: error: dereferencing pointer to incomplete type
*** Error code 1
[...]
>How-To-Repeat:
Attempt to build devel/libnet10 on MacOS X 10.4.11

>Fix:
At the end of work/Libnet-1.0.2a/include/libnet/libnet-headers.h is the
following:


#if (__linux__)
/*
 *  Linux has a radically different IP options structure from BSD.
 */
struct ipoption
{
    struct  in_addr ipopt_dst;          /* first-hop dst if source routed */
    char ipopt_list[MAX_IPOPTLEN];      /* options proper */
};
#endif


No other alternative for this structure definition could be found in
the system include files, so as a workaround, changing the conditional
to read:

#if (__linux__) || (__APPLE__)

allowed it to compile.

This needs a proper fix.  Suggestions?



Home | Main Index | Thread Index | Old Index