[MacPorts] #68409: libgit2 1.7.1 build failure at link time: undefined symbol libiconv
MacPorts
noreply at macports.org
Tue Oct 10 03:58:34 UTC 2023
#68409: libgit2 1.7.1 build failure at link time: undefined symbol libiconv
-----------------------+---------------------------
Reporter: jrabinow | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: sonoma, arm64
Port: libgit2 |
-----------------------+---------------------------
Description changed by ryandesign:
Old description:
> Attempting to build libgit2 fails:
> {{{
> info:build ld: Undefined symbols:
> :info:build _libiconv, referenced from:
> :info:build _git_fs_path_iconv in fs_path.c.o
> :info:build _unicode_iconv_encoding_convert in unicode_iconv.c.o
> :info:build _libiconv_close, referenced from:
> :info:build _git_fs_path_direach in fs_path.c.o
> :info:build _git_fs_path_iconv_clear in fs_path.c.o
> :info:build _git_fs_path_diriter_free in fs_path.c.o
> :info:build _git_fs_path_dirload in fs_path.c.o
> :info:build _ntlm_unicode_shutdown in unicode_iconv.c.o
> :info:build _ntlm_unicode_shutdown in unicode_iconv.c.o
> :info:build _libiconv_open, referenced from:
> :info:build _git_fs_path_direach in fs_path.c.o
> :info:build _git_fs_path_iconv_init_precompose in fs_path.c.o
> :info:build _git_fs_path_diriter_init in fs_path.c.o
> :info:build _ntlm_unicode_init in unicode_iconv.c.o
> :info:build _ntlm_unicode_init in unicode_iconv.c.o
> :info:build clang: error: linker command failed with exit code 1 (use -v
> to see invocation)
> }}}
>
> Digging deeper, it fails at exactly this part of the build process:
> {{{
> cd
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_libgit2/libgit2/work/build/tests/libgit2
> && /opt/local/bin/cmake -E cmake_link_script
> CMakeFiles/libgit2_tests.dir/link.txt --verbose=ON
> }}}
>
> I tried manually adding variations of `-l /opt/local/lib/libiconv.dylib`
> (`-l libiconv.dylib`, `-l libiconv`) to
> `CMakeFiles/libgit2_tests.dir/link.txt` without success:
> {{{
> /opt/local/bin/cmake -E cmake_link_script
> CMakeFiles/libgit2_tests.dir/link.txt --verbose=ON -v
> ld: library '/opt/local/lib/libiconv.dylib' not found
> }}}
> This one is quite surprising, because libiconv is installed on my system:
> {{{
> $ port installed libiconv
> The following ports are currently installed:
> libiconv @1.17_0+universal (active)
> $ file /opt/local/lib/libiconv.*
> /opt/local/lib/libiconv.2.dylib: Mach-O universal binary with 2
> architectures: [x86_64:\012- Mach-O 64-bit x86_64 dynamically linked
> shared library, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>]
> [\012- arm64:\012- Mach-O 64-bit arm64 dynamically linked shared library,
> flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>]
> /opt/local/lib/libiconv.a: Mach-O universal binary with 2
> architectures: [x86_64:\012- current ar archive random library] [\012-
> arm64:\012- current ar archive random library]
> /opt/local/lib/libiconv.dylib: symbolic link to libiconv.2.dylib
> }}}
>
> I thought it might be related to the recent change
> https://github.com/macports/macports-
> ports/commit/abd25f7f4a164c7ab2a8a8146fcbd746f45035a0 , reverting that
> commit didn't seem to affect anything.
>
> macOS 14.0 23A344 arm64
> Xcode 15.0 15A240d
New description:
Attempting to build libgit2 fails:
{{{
info:build ld: Undefined symbols:
:info:build _libiconv, referenced from:
:info:build _git_fs_path_iconv in fs_path.c.o
:info:build _unicode_iconv_encoding_convert in unicode_iconv.c.o
:info:build _libiconv_close, referenced from:
:info:build _git_fs_path_direach in fs_path.c.o
:info:build _git_fs_path_iconv_clear in fs_path.c.o
:info:build _git_fs_path_diriter_free in fs_path.c.o
:info:build _git_fs_path_dirload in fs_path.c.o
:info:build _ntlm_unicode_shutdown in unicode_iconv.c.o
:info:build _ntlm_unicode_shutdown in unicode_iconv.c.o
:info:build _libiconv_open, referenced from:
:info:build _git_fs_path_direach in fs_path.c.o
:info:build _git_fs_path_iconv_init_precompose in fs_path.c.o
:info:build _git_fs_path_diriter_init in fs_path.c.o
:info:build _ntlm_unicode_init in unicode_iconv.c.o
:info:build _ntlm_unicode_init in unicode_iconv.c.o
:info:build clang: error: linker command failed with exit code 1 (use -v
to see invocation)
}}}
Digging deeper, it fails at exactly this part of the build process:
{{{
cd
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_libgit2/libgit2/work/build/tests/libgit2
&& /opt/local/bin/cmake -E cmake_link_script
CMakeFiles/libgit2_tests.dir/link.txt --verbose=ON
}}}
I tried manually adding variations of `-l /opt/local/lib/libiconv.dylib`
(`-l libiconv.dylib`, `-l libiconv`) to
`CMakeFiles/libgit2_tests.dir/link.txt` without success:
{{{
/opt/local/bin/cmake -E cmake_link_script
CMakeFiles/libgit2_tests.dir/link.txt --verbose=ON -v
ld: library '/opt/local/lib/libiconv.dylib' not found
}}}
This one is quite surprising, because libiconv is installed on my system:
{{{
$ port installed libiconv
The following ports are currently installed:
libiconv @1.17_0+universal (active)
$ file /opt/local/lib/libiconv.*
/opt/local/lib/libiconv.2.dylib: Mach-O universal binary with 2
architectures: [x86_64:\012- Mach-O 64-bit x86_64 dynamically linked
shared library, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>]
[\012- arm64:\012- Mach-O 64-bit arm64 dynamically linked shared library,
flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>]
/opt/local/lib/libiconv.a: Mach-O universal binary with 2
architectures: [x86_64:\012- current ar archive random library] [\012-
arm64:\012- current ar archive random library]
/opt/local/lib/libiconv.dylib: symbolic link to libiconv.2.dylib
}}}
I thought it might be related to the recent change
[abd25f7f4a164c7ab2a8a8146fcbd746f45035a0/macports-ports], reverting that
commit didn't seem to affect anything.
macOS 14.0 23A344 arm64 \\
Xcode 15.0 15A240d
--
--
Ticket URL: <https://trac.macports.org/ticket/68409#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list