[Libguestfs] Gnulib setenv on Mac OS X bug?

Bruno Haible bruno at clisp.org
Sun Mar 21 23:04:58 UTC 2010


Richard W.M. Jones wrote:
> If you do
> >   $ grep LIBOBJ config.status
> > you should see something like this:
> >   S["gl_LTLIBOBJS"]=" setenv.lo"
> >   S["gl_LIBOBJS"]=" setenv.o"
> 
> $ grep LIBOBJ config.status  | grep -i setenv
> s, at gltests_LIBOBJS@,|#_!!_#| getugroups.o imaxtostr.o mgetgroups.o offtostr.o putenv.o setenv.o symlink.o uinttostr.o umaxtostr.o unlinkdir.o,g
> s, at gltests_LTLIBOBJS@,|#_!!_#| getugroups.lo imaxtostr.lo mgetgroups.lo offtostr.lo putenv.lo setenv.lo symlink.lo uinttostr.lo umaxtostr.lo unlinkdir.lo,g
> 
> > If you do
> >   $ grep -i _setenv config.status
> > you should see something like this (among others):
> >   S["REPLACE_SETENV"]="1"
> >   S["HAVE_SETENV"]="1"
> >   S["GNULIB_SETENV"]="1"
> 
> $ grep -i _setenv config.status
> s, at GNULIB_SETENV@,|#_!!_#|1,g
> s, at HAVE_SETENV@,|#_!!_#|1,g
> s, at REPLACE_SETENV@,|#_!!_#|1,g
> s,^\([	 #]*\)[^	 ]*\([	 ]*HAVE_SETENV\)[	 (].*,\1define\2 1 ,
> s,^\([	  #]*\)[^	  ]*\([	  ]*HAVE_RAW_DECL_SETENV\)[		  (].*,\1define\2 1 ,

This is all as expected. Now you have to turn to your Makefile, and see
whether these gl_LIBOBJS are correctly reflected in that Makefile, and
why the setenv.o is not being built.

> BTW, OS X by default comes with an ancient version of autoconf, 2.61,
> if that affects things.

This should not be a problem. Gnulib supports all autoconf versions >= 2.59
(see the DEPENDENCIES file).

> The logic behind how Gnulib chooses whether or not to include the
> replacement function is fiendishly complex.  Is there any way to force
> it to include the replacement function?

Gnulib has already chosen to build the replacement function for setenv().
But something in or near your Makefiles is causing a problem.

Bruno




More information about the Libguestfs mailing list