[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