On 01/18/2011 02:06 PM, Matthias Bolte wrote: > 2011/1/17 Eric Blake <eblake@xxxxxxxxxx>: >> * .gnulib: Update to latest, for sigpipe and sigaction modules. >> * bootstrap.conf (gnulib_modules): Add siaction, sigpipe, strerror_r. >> * tools/virsh.c (vshSetupSignals) [!SIGPIPE]: Delete, now that >> gnulib guarantees it. >> (SA_SIGINFO): Define for mingw fallback. >> * src/util/virterror.c (virStrerror): Simplify, now that gnulib >> guarantees the POSIX interface. >> * configure.ac (AC_CHECK_FUNCS_ONCE): Drop redundant check. >> (AM_PROG_CC_STDC): Move earlier, to keep autoconf happy. >> > > ACK. Thanks; pushed. Note - this commit has the (unfortunate) side-effect that incrementally crossing this commit when doing bisection or other branch traversal may cause some spurious build failures. There are (at least) two issues that I ran into during my testing where we have some chicken-and-egg dependency tracking issues in the makefiles such that the incremental build fails, but where a fresh checkout will succeed. So, if you run into either issue, hopefully these hints will help you avoid spending the time of a complete fresh checkout: 1. On Linux, strerror_r has two different signatures, depending on whether you are targetting POSIX or _GNU_SOURCE. Prior to this patch, we used only the _GNU_SOURCE signature; after this patch, the code expects the POSIX signature (in spite of using _GNU_SOURCE). But gnulib (intentionally) won't regenerate gnulib/lib/string.h merely because we added another module to bootstrap.conf, so the build may fail when the current state of the generated header doesn't match the state of the code calling strerror_r. If this happens, 'rm -f gnulib/lib/string.h && make' is safe and will resolve the problem. 2. This patch introduces an ordering constraint that causes newer autoconf some grief about the location of AM_PROG_CC_STDC. This is fixed if you have the latest gnulib .m4 files in place. However, the makefile rules for determining when to rerun ./autogen.sh have a dependency glitch where sometimes they try to rerun autoconf prior to rerunning autogen.sh, therefore, the autoconf run will fail because the updated gnulib macros haven't yet been picked up. If this happens, 'git submodule update && ./bootstrap && make' will clear up the problem. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list