[MacPorts] #66146: texlive-bin @2022.62882_1+x11 build failure with gmp+mpfr in /usr/local
MacPorts
noreply at macports.org
Fri Nov 4 16:13:12 UTC 2022
#66146: texlive-bin @2022.62882_1+x11 build failure with gmp+mpfr in /usr/local
--------------------------+----------------------
Reporter: boccio-john | Owner: drkp
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: texlive-bin |
--------------------------+----------------------
Comment (by jmroot):
Replying to [comment:2 boccio-john]:
> Digging around.....
>
> Two lines in main.log file indicate problem.
>
> :info:build ld: warning: ignoring file /usr/local/lib/libmpfr.dylib,
building for macOS-arm64 but attempting to link with file built for macOS-
x86_64
>
> :info:build ld: warning: ignoring file /usr/local/lib/libgmp.dylib,
building for macOS-arm64 but attempting to link with file built for macOS-
x86_64
Yes, those are the lines that indicated the problem to me.
> If I go to /us/local/lib and check those files:
>
> lrwxr-xr-x 1 root wheel 15 Nov 3 2014 libmpfr.dylib ->
libmpfr.4.dylib
>
> lrwxr-xr-x 1 root wheel 15 Nov 3 2014 libgmp.dylib ->
libgmp.10.dylib
>
> They both seem to indicate they were originally installed when I first
Installed MacTex in 2014 and I am guessing (not a UNIX person) that the
arrow indicates they have been replaced by later versions since I now have
MacTex 2022 installed.
Those are [https://scriptingosx.com/2017/09/terminal-primer-part-6
-symbolic-links/ symbolic links], but that's not really relevant. The
problem is just that an x86_64 library is being found when building for
arm64.
> Why would the Macports install be using thes files from a different
version of TeX?
>
> Is the Macports build of texlive-bin getting confused by my having a
different version of MacTeX on my computer?
The FAQ entry I linked previously goes into this a bit, but the short
answer is that many parts of the build system really want to look for
headers in `/usr/local/include` and libraries in `/usr/local/lib`, and
it's very difficult to get all of them to not do that. For example, the
compiler treats those locations just like `/usr/include` and `/usr/lib`,
but with a higher priority, i.e. things in `/usr/local` will be found
//before// the system components in `/usr` (and there is no option to
change this behaviour). We do what we can, but the only completely safe
configuration is to not have anything installed in `/usr/local`.
--
Ticket URL: <https://trac.macports.org/ticket/66146#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list