[MacPorts] #57821: libiconv breaks compatibility with OS-provided
MacPorts
noreply at macports.org
Fri Dec 28 01:51:02 UTC 2018
#57821: libiconv breaks compatibility with OS-provided
------------------------+----------------------
Reporter: mouse07410 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: libiconv
------------------------+----------------------
{{{libiconv}}} port changes the names of the functions it provides from
likes of {{{iconv_open}}} to likes of {{{libiconv_open}}}. This makes it
impossible to use Macports components (such as gcc8) with 3rd-party stuff
like Haskell GHC-8.4.3 compiler whose libraries were linked against
{/usr/lib/libiconv.dylib}.
Here's how the problem manifests itself:
{{{
Linking dist/build/tests/tests ...
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_hs_iconv in libHSbase-4.11.1.0.a(iconv.o)
(maybe you meant:
_base_GHCziIOziEncodingziIconv_iconvEncoding16_closure,
_base_GHCziIOziEncodingziIconv_iconvEncoding1_info ,
_base_GHCziIOziEncodingziIconv_iconvEncoding3_closure ,
. . . . . _
base_GHCziIOziEncodingziIconv_iconvEncoding6_info ,
_base_GHCziIOziEncodingziIconv_iconvEncoding2_info ,
_base_GHCziIOziEncodingziIconv_iconvEncoding11_closure ,
_base_GHCziIOziEncodingziIconv_iconvEncoding13_bytes , _hs_iconv ,
_base_GHCziIOziEncodingziIconv_iconvEncoding_info , _hs_iconv_close ,
_base_GHCziIOziEncodingziIconv_iconvEncoding12_closure ,
_base_GHCziIOziEncodingziIconv_iconvEncoding_closure ,
_base_GHCziIOziEncodingziIconv_iconvEncoding2_closure ,
_base_GHCziIOziEncodingziIconv_iconvEncoding14_info ,
_base_GHCziIOziEncodingziIconv_iconvEncoding12_info )
"_iconv_open", referenced from:
_hs_iconv_open in libHSbase-4.11.1.0.a(iconv.o)
(maybe you meant: _hs_iconv_open)
"_iconv_close", referenced from:
_hs_iconv_close in libHSbase-4.11.1.0.a(iconv.o)
(maybe you meant: _hs_iconv_close)
"_locale_charset", referenced from:
_localeEncoding in libHSbase-4.11.1.0.a(PrelIOUtils.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
`clang' failed in phase `Linker'. (Exit code: 1)
make: *** [build] Error 1
}}}
I wonder why it was decided to add prefix {{{lib}}} to the function names,
and wish this was reverted.
Coincidentally, I'm stymied trying to understand why it does not try to
link against what's in {{{/usr/lib}}}.
--
Ticket URL: <https://trac.macports.org/ticket/57821>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list