This patch series improves, but does not complete, OS X support for hivex. There are several outstanding issues before hivexml and hivexsh can run: * hivexsh uses open_memstream, which doesn't exist in OS X as near as I can see. Unfortunately, I'm inexperienced with autoconf, so I'm not sure how to employ AC_CHECK_FUNCS([open_memstream]) to conditionally add 'sh' to the Makefile.am's SUBDIRS. * The check for libxml fails, because PKG_CHECK_CONFIG doesn't exist on OS X. I think it would be better to use AC_CHECK_FUNCS on some of the libxml functions, but again, I'm not too hot with autoconf and automake. * hivexml has the following run-time failure: dyld: lazy symbol binding failed: Symbol not found: _iconv_open Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib Expected in: flat namespace dyld: Symbol not found: _iconv_open Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib Expected in: flat namespace Trace/BPT trap: 5 I have the vague idea of how to address the first two, but not the last. I would appreciate any help on these. Gillen, you said earlier this weekend you had taken a stab at compiling things in OS X. Did you have to take these steps, too? --Alex Alex Nelson (3): Mac OS X: Detect bindtextdomain Mac OS X: setlocale function requires locale.h Mac OS X: Run glibtoolize in absence of libtoolize bootstrap | 2 +- configure.ac | 3 +++ sh/hivexsh.c | 3 +++ xml/hivexml.c | 3 +++ 4 files changed, 10 insertions(+), 1 deletions(-) -- 1.7.4.4
On 09/06/2011 03:52 AM, Alex Nelson wrote:> This patch series improves, but does not complete, OS X support for > hivex. There are several outstanding issues before hivexml and hivexsh > can run: > > * hivexsh uses open_memstream, which doesn't exist in OS X as near as I > can see. Unfortunately, I'm inexperienced with autoconf, so I'm not > sure how to employ AC_CHECK_FUNCS([open_memstream]) to conditionally add > 'sh' to the Makefile.am's SUBDIRS. > > * The check for libxml fails, because PKG_CHECK_CONFIG doesn't exist on > OS X. I think it would be better to use AC_CHECK_FUNCS on some of the > libxml functions, but again, I'm not too hot with autoconf and automake. > > * hivexml has the following run-time failure: > dyld: lazy symbol binding failed: Symbol not found: _iconv_open > Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib > Expected in: flat namespace > > dyld: Symbol not found: _iconv_open > Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib > Expected in: flat namespace > > Trace/BPT trap: 5 > > I have the vague idea of how to address the first two, but not the last. > I would appreciate any help on these. Gillen, you said earlier this > weekend you had taken a stab at compiling things in OS X. Did you have > to take these steps, too? > > --Alex > > > Alex Nelson (3): > Mac OS X: Detect bindtextdomain > Mac OS X: setlocale function requires locale.h > Mac OS X: Run glibtoolize in absence of libtoolize > > bootstrap | 2 +- > configure.ac | 3 +++ > sh/hivexsh.c | 3 +++ > xml/hivexml.c | 3 +++ > 4 files changed, 10 insertions(+), 1 deletions(-) >I was only interested in the lib itself, so I can't speak for the tools. I can confirm that libxml2 is not found due to the lack of pkg-config. Additionally, as explained in my last mail, I had to patch lib/byte_conversions.h as shown below. About your "Symbol not found: _iconv_open" problem, this hit to me too when I linked against hivex. It's due to a missing -liconv on platforms where this is needed. -- Unix _IS_ user friendly - it's just selective about who its friends are! -------------- next part -------------- A non-text attachment was scrubbed... Name: byte_conversions.patch Type: text/x-patch Size: 1276 bytes Desc: not available URL: <http://listman.redhat.com/archives/libguestfs/attachments/20110906/de045554/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 554 bytes Desc: OpenPGP digital signature URL: <http://listman.redhat.com/archives/libguestfs/attachments/20110906/de045554/attachment.sig>
Richard W.M. Jones
2011-Sep-06 12:38 UTC
[Libguestfs] [PATCH 0/3] hivex: Improve OS X support
On Mon, Sep 05, 2011 at 06:52:43PM -0700, Alex Nelson wrote:> This patch series improves, but does not complete, OS X support for > hivex. There are several outstanding issues before hivexml and hivexsh > can run: > > * hivexsh uses open_memstream, which doesn't exist in OS X as near as I > can see. Unfortunately, I'm inexperienced with autoconf, so I'm not > sure how to employ AC_CHECK_FUNCS([open_memstream]) to conditionally add > 'sh' to the Makefile.am's SUBDIRS.You need to use an automake conditional. It'll be something like this (not tested): AM_CONDITIONAL([HAVE_HIVESH],[test "x$HAVE_OPEN_MEMSTREAM" = "x1"]) and then in Makefile.am: if HAVE_HIVESH SUBDIRS += sh endif There are plenty of examples of this in the libguestfs source, eg. have a look at HAVE_PERL in configure.ac and Makefile.am.> * The check for libxml fails, because PKG_CHECK_CONFIG doesn't exist on > OS X. I think it would be better to use AC_CHECK_FUNCS on some of the > libxml functions, but again, I'm not too hot with autoconf and automake.Grumble. OS X sounds a bit broken if it doesn't include pkg-config files (*.pc). Is libxml2 provided in the base OS X or is this coming from an outside project like MacPorts?> * hivexml has the following run-time failure: > dyld: lazy symbol binding failed: Symbol not found: _iconv_open > Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib > Expected in: flat namespace > > dyld: Symbol not found: _iconv_open > Referenced from: /Users/alex/local/src/hivex/lib/.libs/libhivex.0.dylib > Expected in: flat namespace > > Trace/BPT trap: 5Missing libiconv on OS X?? I don't really know about this one. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://et.redhat.com/~rjones/virt-top
Apparently Analagous Threads
- [hivex] OS X, Fedora 17: iconv autotool inconsistency
- [Hivex] [PATCH] lib: Promote byte_conversions.h #include to hivex-internal.h
- hivex: some issues (key encoding, ...) and suggested fixes
- [hivex PATCH 1/2] hivexregedit: fix POD markup
- hivex: pod2html complaints