Hello all,
I've been testing hivexml in OS X, and came across an inconsistency in
building.
Some while back, I hit a snag with iconv in OS X, where basically this
would happen when a hive of any sophistication (greater than
hivex/images/small) was processed:
$ xml/hivexml images/large >test.xml
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
Referenced from: /[snip]/hivex/lib/.libs/libhivex.0.dylib
Expected in: flat namespace
dyld: Symbol not found: _iconv_open
Referenced from: /[snip]/hivex/lib/.libs/libhivex.0.dylib
Expected in: flat namespace
Trace/BPT trap
This is pretty easily resolved in OS X by adding $(LTLIBICONV) to
libhivex_la_LDFLAGS in lib/Makefile.am.
Unfortunately, bringing that same change to Fedora (17) raises this error
in `make`:
/bin/ld: cannot find -liconv
collect2: error: ld returned 1 exit status
LIBICONV and LTLIBICONV are both set to '-liconv' in config.log; but there
is no check for how to link in config.log. That is, these lines do not
appear (in part or in whole) in Fedora's config.log:
checking for iconv... yes
checking for working iconv... yes
checking how to link with libiconv... -liconv
The Fedora negative results came from the latest master, 1.3.6. The OS X
tests were on an effectively an older version of the code [1], but I think
this is an autotools issue in common to both version.
So...any ideas? I thought this linking error was the kind of thing the
autotools were supposed to catch.
--Alex