On Mon, Jun 27, 2011 at 10:32:44PM +0000, Daniel Teitsort wrote:
 I'm trying to build hivex 1.2.7 on Ubuntu 10.04, and get the
following failure:
 
 	Making all in xml
 	make[2]: Entering directory `/opt/sandbox/src/hivex/hivex-1.2.7/xml'
   	  CC     hivexml-hivexml.o
   	  CCLD   hivexml
 	hivexml-hivexml.o: In function `main':
 	/opt/sandbox/src/hivex/hivex-1.2.7/xml/hivexml.c:86: undefined reference to
`rpl_getopt'
 	/opt/sandbox/src/hivex/hivex-1.2.7/xml/hivexml.c:100: undefined reference to
`rpl_optind'
 	/opt/sandbox/src/hivex/hivex-1.2.7/xml/hivexml.c:133: undefined reference to
`rpl_optind'
 	collect2: 
 	ld returned 1 exit status
 	make[2]: *** [hivexml] Error 1
 
 
 (For completeness, I should say the building is occuring in a chroot environment where an
Ubuntu 10.04 image resides, not on an Ubuntu 10.04 machine proper.  But, I doubt this has
anything to do with the problem.)
 
 Perhaps something has gone wrong in the adoptions of a replacement getopt and optind? 
Said adoption was apparently triggered by the configure script, which reported:
 
 	checking for working GNU getopt function... 
 	no
 
 This in turn was likely due to this bit in the config script, since Ubuntu 10.04
reportedly uses 2.11 of glibc:
 
       /* This code fails on glibc 2.11.  */
       {
          char *argv[] = { "program", "-b", "-a", NULL };
          optind = opterr = 0;
          if (getopt (3, argv, "+:a:b") != 'b')
            result |= 64;
          else if (getopt (3, argv, "+:a:b") != ':')
            result |= 64;
       }
       return result;
 
 
 I am able to build hivex 1.2.5 in this environment just fine.
 
 I don't need hivexml, but haven't yet figured out how to turn off its build, and
suspect other getopt uses will need to be replaced, anyhow.
 
 Any suggestions? 
/me hums and grumbles about gnulib ...
Rich.
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming blog: 
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora