[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