[collectd] [PATCH] configure.in: have_htonll should depend on linker check

Max Henkel henkel at gmx.at
Tue May 4 23:40:53 CEST 2010


Hello Manuel and list!

On Tue, May 04, 2010 at 04:04:28PM +0200, Manuel Luis Sanmartín Rozada wrote:
> On Tue, May 4, 2010 at 10:17 AM, Max Henkel <henkel at gmx.at> wrote:
[...]
> > During cross-compiling I've observed, that commit 35602ac1 introduced
> > an unresolvable (regarding cross-compiling) configure error. According
> > to the AIX documentation htonll is located in the "ISODE Library"
> > and thus the linking should fail, if it is not available. Hence it
> 
> IBM (http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/htonll.htm)
> says: The htonll subroutine is defined in the net/nh.h file as a null
> macro if the host byte order is the same as the network byte order.
> 
> so... you don't need any library: AIX is big endian.
> If you see /usr/include/netinet/in.h
>     382 #if BYTE_ORDER == BIG_ENDIAN
>     383 #ifndef htonll
>     384 #define htonll(hostlong) (hostlong)
>     385 #endif
> 
> or /usr/include/net/nh.h
>     47  #if BYTE_ORDER == BIG_ENDIAN
>     48  #ifndef ntohll
>     49  #define ntohll(x)       (x)
>     50  #endif

Ooops, I've just read the synopsis and was happy with it ;-) and yes
AFAIK all AIX supported platforms are big endian. Thank you for the
explanation! :-)

> > might not be necessary to run a test program. Otherwise an option
> > like fp-layout would be desirable. Could someone check this on AIX?
> 
> I test the patch in aix 6.1 and It works: detecting the htonll.

Thanks again for testing it!

Best regards,

Max
-- 
< henkel at gmx dot at >



More information about the collectd mailing list