[MacPorts] #69467: graphviz @9.0.0: libtool: Version mismatch error
MacPorts
noreply at macports.org
Sun Mar 10 05:22:02 UTC 2024
#69467: graphviz @9.0.0: libtool: Version mismatch error
------------------------+------------------------
Reporter: astrofitz | Owner: ryandesign
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.9.1
Resolution: | Keywords:
Port: graphviz |
------------------------+------------------------
Comment (by ryandesign):
Replying to [comment:1 ryandesign]:
> Such messages should only be coming from Apple's wrapper programs like
/usr/bin/m4 but the build shouldn't be using that; it should be using
/opt/local/bin/gm4.
I am surprised that I appear to be partly wrong about this. autoconf does
use MacPorts m4:
{{{
% port deps autoconf
Full Name: autoconf @2.72_0
Extract Dependencies: xz
Library Dependencies: m4
}}}
{{{
% port -q contents autoconf | xargs grep -E 'bin/g?m4'
/opt/local/bin/autom4te:my $m4 = $ENV{"M4"} || '/opt/local/bin/gm4';
/opt/local/bin/autoupdate:my $m4 = $ENV{"M4"} || '/opt/local/bin/gm4';
}}}
But libtool uses Apple's m4:
{{{
% port deps libtool
libtool @2.4.7_1 has no dependencies.
}}}
{{{
% port -q contents libtool | xargs grep -E 'bin/g?m4'
/opt/local/bin/glibtool:M4="/usr/bin/m4"$
/opt/local/bin/glibtoolize:: ${M4="/usr/bin/m4"}
/opt/local/libexec/gnubin/libtool:M4="/usr/bin/m4"$
/opt/local/libexec/gnubin/libtoolize:: ${M4="/usr/bin/m4"}
}}}
And this is apparently intentional, per #47545. libtool only uses MacPorts
m4 on Tiger because the m4 Tiger shipped with is too old. You could try
making libtool use MacPorts m4 on your system: edit the libtool Portfile
to make this change:
{{{#!diff
--- a/devel/libtool/Portfile
+++ b/devel/libtool/Portfile
@@ -42,7 +42,7 @@ post-patch {
# 1.4.2 does not (#47545).
# - https://lists.gnu.org/archive/html/libtool/2014-12/msg00002.html
# - https://lists.gnu.org/archive/html/libtool/2015-01/msg00004.html
-if {${os.platform} eq "darwin" && ${os.major} >= 9} {
+if {false} {
configure.env M4=/usr/bin/m4
} else {
depends_lib port:m4
}}}
Then rebuild libtool with:
{{{
sudo port -ns upgrade --force libtool
}}}
That should at least eliminate Apple's message about installing the
command line tools, but whether it will help with the version mismatch
error I don't know.
--
Ticket URL: <https://trac.macports.org/ticket/69467#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list