[virt-tools-list] libguestfs on OSX

Justin Clift jclift at redhat.com
Fri Oct 22 18:44:54 UTC 2010


Hi Richard,

Had a go a while ago, at getting libguestfs working on MacOS X.

The Hivex dependency seemed the most unhappy:

****************************************************
Making all in lib
Making all in tools
make[3]: Nothing to be done for `all'.
  CC     libhivex_la-hivex.lo
hivex.c: In function 'hivex_root':
hivex.c:561: error: 'ENOKEY' undeclared (first use in this function)
hivex.c:561: error: (Each undeclared identifier is reported only once
hivex.c:561: error: for each function it appears in.)
hivex.c: In function 'hivex_value_dword':
hivex.c:1466: warning: implicit declaration of function '__bswap_32'
make[3]: *** [libhivex_la-hivex.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
$

****************************************************

Adding a hard coded value for ENOKEY to hivex.c, copied from a Fedora 13
box, let it continue:

****************************************************
#define    ENOKEY        126
****************************************************

(placed it after the errno.h include in hivex.c)

It still died further along though.

Output below, mostly non-snipped, in case the various other
warnings are useful too:

****************************************************

make[3]: Nothing to be done for `all'.
  CC     libhivex_la-hivex.lo
hivex.c: In function 'hivex_value_dword':
hivex.c:1469: warning: implicit declaration of function '__bswap_32'
  CCLD   libhivex.la
ld: warning: in hivex.syms, file was built for unsupported file format
which is not the architecture being linked (x86_64)
pod2man \
      --section 3 \
      -c "Windows Registry" \
      --name "hivex" \
      --release "hivex-1.2.3" \
      hivex.pod > hivex.3-t; mv hivex.3-t hivex.3
mkdir -p ../html
cd .. && pod2html \
      --css 'pod.css' \
      --htmldir html \
      --outfile html/hivex.3.html \
      lib/hivex.pod
/usr/bin/pod2html: lib/hivex.pod: unknown pod directive 'encoding' in
paragraph 8.  ignoring.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivexml(1)> in
paragraph 16.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivexsh(1)> in
paragraph 16.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivex(3)/WRITING TO
HIVE FILES> in paragraph 46.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivex(3)/WRITING TO
HIVE FILES> in paragraph 52.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivexml(1)> in
paragraph 233.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<hivexsh(1)> in
paragraph 233.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<virt-win-reg(1)> in
paragraph 233.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<guestfs(3)> in
paragraph 233.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<virt-cat(1)> in
paragraph 233.
/usr/bin/pod2html: lib/hivex.pod: cannot resolve L<virt-edit(1)> in
paragraph 233.
Making all in images
  CC     mklarge-mklarge.o
  CCLD   mklarge
./mklarge ./minimal large
Making all in gnulib/tests
  GEN    arg-nonnull.h
  GEN    warn-on-use.h
  GEN    fcntl.h
  GEN    sys/stat.h
  GEN    time.h
make  all-recursive
make[4]: Nothing to be done for `all-am'.
Making all in sh
  CC     hivexsh-hivexsh.o
hivexsh.c: In function 'set_prompt_string':
hivexsh.c:231: warning: implicit declaration of function 'open_memstream'
hivexsh.c:231: warning: assignment makes pointer from integer without a cast
hivexsh.c: In function 'cleanup_readline':
hivexsh.c:355: warning: implicit declaration of function 'append_history'
hivexsh.c: In function 'cmd_lsval':
hivexsh.c:697: warning: format '%lli' expects type 'long long int', but
argument 2 has type 'gl_int64_t'
  CCLD   hivexsh
Undefined symbols:
  "_open_memstream", referenced from:
      _set_prompt_string in hivexsh-hivexsh.o
  "_append_history", referenced from:
      _main in hivexsh-hivexsh.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [hivexsh] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

****************************************************

This isn't on my priority list, but thought I'd mention it in case
you'd like to have a crack at it.  Happy to retest stuff for you
around other things. :)

Regards and best wishes,

Justin Clift




More information about the virt-tools-list mailing list