[virt-tools-list] libguestfs on OSX

Justin Clift jclift at redhat.com
Fri Oct 22 23:48:43 UTC 2010


On 10/23/2010 07:15 AM, Richard W.M. Jones wrote:
> On Fri, Oct 22, 2010 at 01:44:23PM -0600, Eric Blake wrote:
>>> Looks for all the world like a bug in Mac OS X:
>>>
>>>  695     case hive_t_qword: {
>>>  696       int64_t j = hivex_value_qword (h, value);
>>>  697       printf ("%" PRIi64 "\n", j);
>>
>> Indeed.  And the fact that the compiler is complaining about
>> gl_int64_t makes it sound like gnulib is implicated.  Would you mind
>> reducing this to a simpler testcase and posting to bug-gnulib AT
>> gnu.org?

Tested hivex 1.2.3 on 32-bit OSX just now as well, to see what happens.
(after manually patching in the ENOKEY define)

No problem from the above mentioned PRIi64 bit, though the
open_memstream and append_history items crop up here too.

Full make run here (perl bindings were enabled, OCaml weren't):

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

$ make
make  all-recursive
Making all in gnulib/lib
  GEN    alloca.h
  GEN    arg-nonnull.h
  GEN    getopt.h
  GEN    warn-on-use.h
  GEN    inttypes.h
  GEN    stdint.h
  GEN    stdio.h
  GEN    stdlib.h
  GEN    string.h
  GEN    unistd.h
  GEN    wchar.h
make  all-recursive
  CC     c-ctype.lo
  CC     full-read.lo
  CC     full-write.lo
  CC     progname.lo
  CC     asnprintf.lo
  CC     error.lo
  CC     exitfail.lo
  CC     getopt.lo
  CC     getopt1.lo
  CC     printf-args.lo
  CC     printf-parse.lo
  CC     safe-read.lo
  CC     safe-write.lo
  CC     strndup.lo
  CC     strnlen.lo
  CC     vasnprintf.lo
  CC     xstrtol.lo
  CC     xstrtol-error.lo
  CC     xstrtoll.lo
  CC     xstrtoul.lo
  CC     xstrtoull.lo
  CCLD   libgnu.la
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_value_dword':
hivex.c:1467: 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 (i386)
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'
  CCLD   hivexsh
Undefined symbols:
  "_append_history", referenced from:
      _main in hivexsh-hivexsh.o
  "_open_memstream", referenced from:
      _set_prompt_string 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

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

Hope that helps. :)




More information about the virt-tools-list mailing list