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

Reply via email to