[MacPorts] #43698: In libiconv, renaming of symbols from _iconv to _libiconv. Why?

MacPorts noreply at macports.org
Fri Dec 28 13:18:38 UTC 2018


#43698: In libiconv, renaming of symbols from _iconv to _libiconv. Why?
-----------------------------+------------------------
  Reporter:  cath.gasnier@…  |      Owner:  ryandesign
      Type:  defect          |     Status:  closed
  Priority:  Normal          |  Milestone:
 Component:  ports           |    Version:  2.2.1
Resolution:  invalid         |   Keywords:
      Port:  libiconv        |
-----------------------------+------------------------

Comment (by mouse07410):

 > I don't know why the developers chose to do things the way they did

 I don't want to call that choice stupid, but you can guess how I feel
 about it.

 > everything should work fine, provided you use the iconv.h header that
 matches the libiconv.dylib library you're using

 The problem is - I'm using Macports **tools** (like gcc8), and other
 **tools** like Haskell Platform.Tools - tools like in **binaries**. Which
 saved me (so far!) from the huge work of rebuilding every tool myself from
 source, and maintaining all that stuff - but it also means that I have
 little to no control over how those binaries are built. And in many cases,
 I cannot even force *rebilding* of those tools (Haskell). So, a lot of
 Macports tools are built with Macports libiconv and require it to be the
 first in the search path to run, while other tools (Haskell) are built
 with Apple iconv and require that one to be the first. And, as Haskell
 Platform is a tool for **building** other software, it **and whatever I
 build with it*** needs to see the system version of iconv first. Your
 suggestion from the other ticket would work, except that it would make it
 impossible to use tools from Macports packages together with those I build
 on Haskell Platform...

 None of the options are impossible. After all, Macports is open source, so
 it is possible to hack it and force all the ports I use - less than 600 in
 total - to use Apple's iconv. Equally, Haskell Platform is open source, so
 it is possible to rebuild it by hand, forcing it to use Macports iconv.
 But neither of these is either practical or appealing.

 Perhaps there could be a configuration option or variant for Macports
 libiconv that does **not** mangle the names? So I don't have to rebuild
 large packages by hand to overcome the damage libiconv developers upstream
 did?

-- 
Ticket URL: <https://trac.macports.org/ticket/43698#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list