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!