On 2022-8-29 05:01 , Steven Smith wrote:
Thanks.
you probably want to be using the libiconv port anyway?
Unfortunately, that won’t work without some hackery. Note the different
symbol names in MacPorts:
nm -gC
/opt/local/var/macports/build/_opt_local_ports_lang_ghc/ghc/work/bootstrap/opt/local//lib/ghc-9.4.2/lib/x86_64-osx-ghc-9.4.2/base-4.17.0.0/libHSbase-4.17.0.0.a /opt/local/lib/libiconv.dylib | grep iconv_open
0000000000000000 T _hs_iconv_open
U _iconv_open
U _hs_iconv_open
0000000000003e02 T _libiconv_open
0000000000005375 T _libiconv_open_into
Is there a way to hack this out to transform _iconv_open to
_libiconv_open in the .a file?
If you use the correct header that goes with the library, it will be
transformed in the source via macros. If the place these references come
from isn't using C headers, I guess they have to be edited some other
way. (You could also theoretically make a shim lib, but that's getting a
bit overcomplicated for the problem at hand…)
- Josh