Opened 5 months ago
Closed 5 months ago
#72054 closed defect (duplicate)
texlive-bin @2024.70613_1: build failure when gmp is installed for the wrong architecture in /usr/local
Reported by: | david888p | Owned by: | drkp (Dan Ports) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.10.5 |
Keywords: | arm64 sequoia | Cc: | |
Port: | texlive-bin |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Upgraded to latest Sequoia [15.3.1], upgraded to latest MacPorts [2.10.5], manually removed Xcode app and /Library/Developer directories, reinstalled Xcode [16.2 (16C5032a)] & command line tools.
port clean texlive-bin port install texlive-bin
--log extract--
:info:build /usr/bin/clang .... :info:build ld: warning: ignoring file '/usr/local/lib/libgmp.10.dylib': found architecture 'x86_64', required architecture 'arm64' :info:build 1 warning generated. :info:build mv -f luatexdir/lua/.deps/libluatex_a-lstrlibext.Tpo .... :info:build Undefined symbols for architecture arm64: . . . :info:build ld: symbol(s) not found for architecture arm64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) . . . :error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_tex_texlive-bin/texlive-bin/main.log for details.
Attachments (1)
Change History (4)
Changed 5 months ago by david888p
comment:1 Changed 5 months ago by david888p
I found the cause of the build error and a fix, but consider there to still be a defect.
The build failed due to a very old gmp installation (located in /usr/local/bin), which was originally built on an x86 architecture Mac and inadvertently brought over to the new arm-based Mac. The fix was to rebuild gmp (the latest available) in the standard way outside of MacPorts. Another option could have been to remove the non-MacPorts version.
I consider this to still be a defect because the MacPorts build of texlive looks to /user/local/lib for gmp libraries and not to the MacPorts directory, /opt/local. Since gmp is a requirement for texlive and is downloaded and built as part of the texlive MacPorts installation, the MacPorts version should be used preferentially to any other version.
comment:2 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | dports@… drkp removed |
---|---|
Description: | modified (diff) |
Owner: | set to drkp |
Status: | new → assigned |
Summary: | texlive-bin @2024.70613_1: ld: symbol(s) not found for architecture arm64 → texlive-bin @2024.70613_1: build failure when gmp is installed for the wrong architecture in /usr/local |
comment:3 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
To clarify: gmp is not "downloaded and built as part of the texlive MacPorts installation" (emphasis mine), at least I hope it isn't; if it is, that would be a bug. In fact, gmp is listed as a dependency of the texlive-bin port, therefore MacPorts will install the gmp port before building the texlive-bin port and when the texlive-bin port is built it should use the gmp that was already installed (not build its own separate copy).
You're right that ideally texlive-bin would find MacPorts gmp instead of the one you had in /usr/local. However, builds inadvertently finding things in /usr/local is such a common problem that we strongly recommend you not install anything in /usr/local; see wiki:FAQ#usrlocal.
Duplicate of #66146.
texlive-bin/main.log