On Tue, Oct 15, 2013 at 09:28:13PM -0400, Alex Nelson wrote: > This patch addresses a build failure in OS X. Running git-bisect on a > straightforward build (bootstrap, autogen.sh, configure, make, make > install) showed this as the "Bad commit:" > 3e7c039799cddc45517350cc917eb10715f33fec > > The issue is that hivex-internal.h uses le32toh in a static inline > function. In case `configure` doesn't find le32toh, byte_conversions.h > defines it. But hivex-internal.h doesn't include the safety definition. > > OS X demonstrates this a problem. Neither endian.h nor byteswap.h are > found with `configure` in OS X 10.8.5 (XCode 5), but the headers are > both found in Fedora 19 and Ubuntu 13.04. This patch to configure.ac > further logs that only ntohl is available for byte swaps: > > @@ -153,6 +153,8 @@ AC_REPLACE_FUNCS([mmap]) > dnl Functions. > AC_CHECK_FUNCS([bindtextdomain]) > > +AC_CHECK_FUNCS([le32toh ntohl bswap_32 __bswap_32]) > + > > (As an aside, it's curious that a missing byteswap.h didn't cause > hivex-internal.h to fail to build.) > (As another aside, this is an interesting example of lazy symbol > binding failing with an inline function.) > > The problem is resolved by having hivex-internal.h include > byte_conversions.h. This obviates most of the other direct inclusions > of byte_conversions.h. (One persists under sh/.) > > This patch builds and runs hivexml on images/large fine in Ubuntu 13.04 > and Fedora 19. It also allows builds to succeed in OS X, but doesn't > run hivexml for an unrelated reason. The _iconv_open > symbol-not-found issue, that I thought was previously resolved > (491ba0f7a761c7ffd50e0eaa4d892f78d538eb2b), resurfaced. > > Signed-off-by: Alex Nelson <[email protected]>
Hi Alex, This all looks good to me. I've ACKed and pushed it. Thanks, Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
