(This might belong on ports, but it's not specific really) There are quite a few software packages not in the ports tree that I've managed to wrestle into running on my system, and I keep noticing the same thing: they all have trouble with libintl and libiconv. But it's always different things: some are missing certain symbols, some just can't seem to find the version, some (even with the include and link paths double-checked) can't find iconv.h or libintl.h, or libiconv and libintl, without editing the source file to look for the absolute path.
What's going on here? Are OpenBSD's i18n libraries that radically different? I could understand if it was just the missing symbols (ie, obsd didn't implement all the functions) or just the version problems (ie, obsd used a different versioning scheme), but I can't fathom why applications can't find those headers, of all the rest that they use, and why all three happen, and have kept happening for me across 3.7, 3.8, and 3.9. Is there a system configuration I've missed somewhere, like sysctl usr.i18n.play_well_with_others 1 or something? And then it strikes me that my joke is even dumber than it sounds, since intl and iconv (via gettext) are ports. It's curious to me that gettext isn't included with the rest of the GNU toolchain in the system, but then I guess it's not necessary for all users. Anyways, if somebody knows a magic bullet to make iconv and intl play well with others, or can just enlighten me on what's so different with OpenBSD's versions as opposed to everyone else's, I'd really appreciate it. Thanks! Weldon Goree