tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: builtin libiconv on macOS 13+



* On 2023-11-13 at 20:55 GMT, Adam wrote:

Starting with macOS 13, the built-in version of iconv has been changed from GNU to Citrus. Our converters/libiconv/builtin.mk is not able to detect it, because it expects that libiconv.* does not exist, while there is one shipped with Xcode:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/libiconv.2.tbd.

In my opinion, it should be preferable to use system iconv. I've encountered problems with some Rust crates, which couldn't be linked properly when two conflicting libiconvs exist - the one from the system, and another from pkgsrc.

Below is a patch I use to fix the problem. By the way, I've also removed empty :U operators, which I think are superfluous - correct me if I'm wrong.

My approach since Apple removed shared libraries has been to give up completely and just use PREFER_PKGSRC=yes, as we no longer have a way to detect builtins correctly.

I'm not hugely keen on just hardcoding OPSYS stuff in builtin.mk files, but if this fixes problems seen with a default pkgsrc install then it's probably ok, though it would be helpful to have it well commented for future cleanup efforts. I've verified it doesn't affect users like me who have set PREFER_PKGSRC - they will continue to use pkgsrc iconv.

--
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index