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