In libnet-1.1.0 the configure script will determine the LIBNET_CONFIG_DEFINES macro. One of the first tests is to determine the machine's "endianess": if test $ac_cv_libnet_endianess = big ; then ..... LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" elif test $ac_cv_libnet_endianess = lil ; then ..... LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" fi This is all well and good until we come check if we are installing on a linux machine: case "$target_os" in *linux*) ..... LIBNET_CONFIG_DEFINES="-D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD" which of course reinitializes the DEFINES macro and we lose all knowledge of our machines "endianess". When libnet-1.1.0 is installed we can check the DEFINES macro: # libnet-config --defines -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H Earlier versions of libnet in the portage tree are ok. Using libnet-1.0.2a-r3: # libnet-1.0-config --defines -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H -DLIBNET_LIL_ENDIAN
Looking closer it seems that the check for machine endianess is now deprecated in the configure script. From the libnet-1.1.0-beta1 changelog: The libnet-config script is no longer needed to specify machine endianess -- that has been moved to libnet.h and done at compile time. You can still use it to specify other CPP constants as well as libraries.
fixed in cvs