于 2012年11月05日 20:14, Richard W.M. Jones 写道: > On Mon, Nov 05, 2012 at 08:10:26PM +0800, Gao feng wrote: >> 于 2012年11月05日 18:30, Daniel P. Berrange 写道: >>> On Mon, Nov 05, 2012 at 10:11:17AM +0000, Richard W.M. Jones wrote: >>>> On Mon, Nov 05, 2012 at 01:23:51PM +0800, Gao feng wrote: >>>>> +dnl libfuse >>>>> +AC_ARG_WITH([fuse], >>>>> + AC_HELP_STRING([--with-fuse], [use libfuse to proivde fuse filesystem support for libvirt lxc]), >>>>> + [], >>>>> + [with_fuse=check]) >>>>> +dnl >>>>> +dnl This check looks for 'fuse' >>>>> +dnl >>>>> +FUSE_CFLAGS= >>>>> +FUSE_LIBS= >>>>> +if test "x$with_fuse" != "xno"; then >>>>> + PKG_CHECK_MODULES([FUSE], [fuse >= $FUSE_REQUIRED], >>>>> + [with_fuse=yes], [ >>>>> + if test "x$with_fuse" = "xcheck" ; then >>>>> + with_fuse=no >>>>> + else >>>>> + AC_MSG_ERROR( >>>>> + [You must install fuse Library to compile libvirt]) >>>>> + fi >>>>> + ]) >>>>> + if test "x$with_fuse" = "xyes" ; then >>>>> + FUSE_LIBS="-lfuse" >>>>> + FUSE_CFLAGS="-D_FILE_OFFSET_BITS=64" >>> >>> As per Rich's comments, these 2 lines are bogus. The PKG_CHECK_MODULES >>> macro should already be setting FUSE_LIBS and FUSE_CFLAGS to the >>> correct values defined in the pkg-config file for FUSE. >>> >>>>> + AC_DEFINE_UNQUOTED([HAVE_FUSE], 1, [whether fuse is available for libvirt lxc]) >>>>> + fi >>>>> +fi >>>>> +AM_CONDITIONAL([HAVE_FUSE], [test "x$with_fuse" = "xyes"]) >>>>> +AC_SUBST([FUSE_CFLAGS]) >>>>> +AC_SUBST([FUSE_LIBS]) >>>>> + >>>> >>>> For comparison, here is how we test for fuse in libguestfs: >>>> >>>> dnl FUSE is optional to build the FUSE module. >>>> AC_ARG_ENABLE([fuse], >>>> AS_HELP_STRING([--disable-fuse], [disable FUSE (guestmount) support]), >>>> [], >>>> [enable_fuse=yes]) >>>> AS_IF([test "x$enable_fuse" != "xno"], >>>> [PKG_CHECK_MODULES([FUSE],[fuse], >>>> [AC_SUBST([FUSE_CFLAGS]) >>>> AC_SUBST([FUSE_LIBS]) >>>> AC_DEFINE([HAVE_FUSE],[1],[Define to 1 if you have FUSE.]) >>>> old_LIBS="$LIBS" >>>> LIBS="$FUSE_LIBS $LIBS" >>>> AC_CHECK_FUNCS([fuse_opt_add_opt_escaped]) >>>> LIBS="$old_LIBS" >>>> ], >>>> [enable_fuse=no >>>> AC_MSG_WARN([FUSE library and headers are missing, so optional FUSE module won't be built]) >>>> ]) >>>> ]) >>>> AM_CONDITIONAL([HAVE_FUSE],[test "x$enable_fuse" != "xno"]) >>>> >>>> [ https://github.com/libguestfs/libguestfs/blob/master/configure.ac#L744 ] >>>> >>>> Is there any reason not to use PKG_CHECK_MODULES? >>> >> >> Is this ok? I'm not familiar with this :( >> >> dnl libfuse >> AC_ARG_WITH([fuse], >> AC_HELP_STRING([--with-fuse], [use libfuse to proivde fuse filesystem support for libvirt lxc]), >> [], >> [with_fuse=check]) >> dnl >> dnl This check looks for 'fuse' >> dnl >> AS_IF([test "x$with_fuse" != "xno"], >> [PKG_CHECK_MODULES([FUSE], [fuse >= $FUSE_REQUIRED], >> [with_fuse=yes >> AC_SUBST([FUSE_CFLAGS]) >> AC_SUBST([FUSE_LIBS]) >> AC_DEFINE([HAVE_FUSE], [1], [whether fuse is available for libvirt lxc]) >> ], >> [with_fuse=no >> AC_MSG_ERROR([You must install fuse Library to compile libvirt]) >> ]) >> ]) >> AM_CONDITIONAL([HAVE_FUSE], [test "x$with_fuse" = "xyes"]) > > It looks OK, but you need to try all four combinations: with and > without fuse-devel installed, and --with-fuse and --without-fuse. > > As written, --with-fuse=check and --with-fuse=yes both do the same > thing (check for FUSE), which is probably OK but may not be what you > meant to write. > Get it,will test and fix this small problem. Thanks again :) -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list