Re: [PATCH] INSTALL: update min libtool version from 1.4 to 2.0

Daniel Sahlberg <[email protected]> Tue, 4 Aug 2026 09:12:34 +0200
Newsgroups gmane.comp.version-control.subversion.devel
Message-ID <CAMHy98P2UMjBcUPy9xGCH=fk68araSP-2d0fUFRM05yFtnYQVQ@mail.gmail.com>
--000000000000ef9a870658336185
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Pavel,

Den m=C3=A5n 3 aug. 2026 kl 18:11 skrev Pavel Lyalyakin <[email protected]=
rg>:

> Hello,
>
> The minimum libtool version is 2.0[1][2], not 1.4.
>
> The Solaris-related note about libtool 1.4.3 the patch removes was added
> in 2003[3] and hasn't been touched since. I don't see any relevant code i=
n
> current autogen.sh and buildcheck.sh, so I think this note can be safely
> removed as well (the minimum version is 2.0, so this 1.4.3 note is
> redundant anyway).
>

Great find, thanks! I was chasing the Solaris 1.4.3 note myself the other
day but didn't find the referenced code - now I know where it went.

The patch looks good to me but when I tried to verify that we actually
check for libtool 2, I looked at the check in build/buildcheck.sh and it
seems fishy:
[[[
lt_status=3D"good"
if test "$1" =3D "$LIBTOOL_WANTED_MAJOR"; then
   if test "$2" -gt "$LIBTOOL_WANTED_MINOR"; then
      lt_status=3D"good"
   elif test "$2" -lt "$LIBTOOL_WANTED_MINOR"; then
      lt_status=3D"bad"
   elif test ! -z "$LIBTOOL_WANTED_PATCH"; then
       if test "$3" -lt "$LIBTOOL_WANTED_PATCH"; then
           lt_status=3D"bad"
       fi
   fi
fi
if test $lt_status !=3D "good"; then
  echo "buildcheck: libtool version $lt_pversion found."
  echo "            You need libtool version $LIBTOOL_WANTED_VERSION or
newer installed"
  exit 1
fi

echo "buildcheck: libtool version $lt_pversion (ok)"
]]]
Note how it default to good and only actually set the status to bad if the
major version is equal to the requested (2). Now, if I simulate version
1.2.3 (by setting lt_pversion a little earlier in the script), it actually
run ok:
[[[
buildcheck: libtool version 1.2.3 (ok)
]]]

I believe the following test would be better (inspired by the test for
autoconf a little earlier in the same file):
[[[
if test "$1" =3D "$LIBTOOL_WANTED_MAJOR" -a "$2" =3D "$LIBTOOL_WANTED_MINOR=
" -a
"$3" -lt "$LIBTOOL_WANTED_PATCH" || test "$1" =3D "$LIBTOOL_WANTED_MAJOR" -=
\
a "$2" -lt "$LIBTOOL_WANTED_MINOR" || test "$1" -lt
"$LIBTOOL_WANTED_MAJOR"; then
  echo "buildcheck: libtool version $lt_pversion found."
  echo "            You need libtool version $LIBTOOL_WANTED_VERSION or
newer installed"
  exit 1
fi
]]]

Can you check if this works for you as well?

If you want to commit the changes to INSTALL yourself, here is my +1!

Thanks,
Daniel


>
> Thank you.
>
> [1]:
> https://svn.apache.org/viewvc/subversion/trunk/build/buildcheck.sh?revisi=
on=3D1845716&view=3Dmarkup#l81
> [2]: https://svn.apache.org/viewvc/?revision=3D1845716&view=3Drevision
> [3]:
> https://svn.apache.org/viewvc/subversion/trunk/INSTALL?annotate=3D1936306=
#l334
>
[4]: https://svn.apache.org/viewvc/?revision=3D1142604&view=3Drevision


>
> Log message:
>
> * INSTALL
>   (I.B: Dependency Overview): update min libtool version to 2.0
>   (I.C.6): update min libtool version to 2.0
>   (I.C.6): remove outdated note about libtool 1.4.3 and Solaris.
>
> Patch by: Pavel Lyalyakin <[email protected]>
>
> --
> With best regards,
> Pavel Lyalyakin
>
>

--000000000000ef9a870658336185
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi Pavel,<div><br></div><div><span style=
=3D"background-color:transparent">Den m=C3=A5n 3 aug. 2026 kl 18:11 skrev P=
avel Lyalyakin &lt;<a href=3D"mailto:[email protected]">lyalyakin@apache=
.org</a>&gt;:</span></div></div><div class=3D"gmail_quote gmail_quote_conta=
iner"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div>Hello,</div><br></div><div dir=3D"ltr">The minimum libt=
ool version is 2.0[1][2], not 1.4.<div><br></div><div>The Solaris-related n=
ote about libtool 1.4.3 the patch removes was added in 2003[3] and hasn&#39=
;t been touched since. I don&#39;t see any relevant code in current autogen=
.sh and buildcheck.sh, so I think this note can be safely removed as well (=
the minimum version is 2.0, so this 1.4.3 note is redundant anyway).</div><=
/div></div></blockquote><div><br></div><div>Great find, thanks! I was chasi=
ng the Solaris 1.4.3 note myself the other day but didn&#39;t find the refe=
renced code - now I know where it went.</div><div><br></div><div>The patch =
looks good to me but when I tried to verify=C2=A0<span style=3D"background-=
color:transparent">that we actually check for libtool 2, I looked at the ch=
eck in=C2=A0</span><span style=3D"background-color:transparent">build/build=
check.sh and it seems fishy:</span></div><div>[[[</div><div>lt_status=3D&qu=
ot;good&quot;<br>if test &quot;$1&quot; =3D &quot;$LIBTOOL_WANTED_MAJOR&quo=
t;; then<br>=C2=A0 =C2=A0if test &quot;$2&quot; -gt &quot;$LIBTOOL_WANTED_M=
INOR&quot;; then<br>=C2=A0 =C2=A0 =C2=A0 lt_status=3D&quot;good&quot;<br>=
=C2=A0 =C2=A0elif test &quot;$2&quot; -lt &quot;$LIBTOOL_WANTED_MINOR&quot;=
; then<br>=C2=A0 =C2=A0 =C2=A0 lt_status=3D&quot;bad&quot;<br>=C2=A0 =C2=A0=
elif test ! -z &quot;$LIBTOOL_WANTED_PATCH&quot;; then<br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0if test &quot;$3&quot; -lt &quot;$LIBTOOL_WANTED_PATCH&quot;; the=
n<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lt_status=3D&quot;bad&quot;<b=
r>=C2=A0 =C2=A0 =C2=A0 =C2=A0fi<br>=C2=A0 =C2=A0fi<br>fi<br>if test $lt_sta=
tus !=3D &quot;good&quot;; then<br>=C2=A0 echo &quot;buildcheck: libtool ve=
rsion $lt_pversion found.&quot;<br>=C2=A0 echo &quot; =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0You need libtool version $LIBTOOL_WANTED_VERSION or new=
er installed&quot;<br>=C2=A0 exit 1<br>fi<br><br>echo &quot;buildcheck: lib=
tool version $lt_pversion (ok)&quot;<br></div><div>]]]</div><div>Note how i=
t default to good and only actually set the status to bad if the major vers=
ion is equal to the requested (2).=C2=A0<span style=3D"background-color:tra=
nsparent">Now, if I simulate version 1.2.3 (by setting lt_pversion a little=
 earlier in the script), it actually run ok:</span></div><div>[[[</div><div=
>buildcheck: libtool version 1.2.3 (ok)</div><div>]]]</div><div><br></div><=
div>I believe the following test would be better (inspired by the test for =
autoconf a little earlier in the same file):</div><div>[[[</div><div>if tes=
t &quot;$1&quot; =3D &quot;$LIBTOOL_WANTED_MAJOR&quot; -a &quot;$2&quot; =
=3D &quot;$LIBTOOL_WANTED_MINOR&quot; -a &quot;$3&quot; -lt &quot;$LIBTOOL_=
WANTED_PATCH&quot; || test &quot;$1&quot; =3D &quot;$LIBTOOL_WANTED_MAJOR&q=
uot; -\<br>a &quot;$2&quot; -lt &quot;$LIBTOOL_WANTED_MINOR&quot; || test &=
quot;$1&quot; -lt &quot;$LIBTOOL_WANTED_MAJOR&quot;; then<br>=C2=A0 echo &q=
uot;buildcheck: libtool version $lt_pversion found.&quot;<br>=C2=A0 echo &q=
uot; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0You need libtool version $LIB=
TOOL_WANTED_VERSION or newer installed&quot;<br>=C2=A0 exit 1<br>fi</div><d=
iv>]]]</div><div><br></div><div>Can you check if this works for you as well=
?</div><div><br></div><div>If you want to commit the changes to INSTALL you=
rself, here is my=C2=A0+1!</div><div><br></div><div>Thanks,</div><div><span=
 style=3D"background-color:transparent">Daniel</span></div><div>=C2=A0</div=
><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border=
-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div di=
r=3D"ltr"><div><br></div><div><div>Thank you.</div><div><br></div><div>
<div>[1]:=C2=A0<a href=3D"https://svn.apache.org/viewvc/subversion/trunk/bu=
ild/buildcheck.sh?revision=3D1845716&amp;view=3Dmarkup#l81" target=3D"_blan=
k">https://svn.apache.org/viewvc/subversion/trunk/build/buildcheck.sh?revis=
ion=3D1845716&amp;view=3Dmarkup#l81</a></div><div>[2]:=C2=A0<a href=3D"http=
s://svn.apache.org/viewvc/?revision=3D1845716&amp;view=3Drevision" target=
=3D"_blank">https://svn.apache.org/viewvc/?revision=3D1845716&amp;view=3Dre=
vision</a></div><div>[3]: <a href=3D"https://svn.apache.org/viewvc/subversi=
on/trunk/INSTALL?annotate=3D1936306#l334" target=3D"_blank">https://svn.apa=
che.org/viewvc/subversion/trunk/INSTALL?annotate=3D1936306#l334</a></div></=
div></div></div></div></blockquote><div>[4]:=C2=A0<a href=3D"https://svn.ap=
ache.org/viewvc/?revision=3D1142604&amp;view=3Drevision">https://svn.apache=
.org/viewvc/?revision=3D1142604&amp;view=3Drevision</a></div><div>=C2=A0</d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div =
dir=3D"ltr"><div><div><div>



</div>

<br></div>

</div><div>Log message:</div><div><br></div><div>* INSTALL<br></div><div>=
=C2=A0 (I.B: Dependency Overview): update min libtool version to 2.0</div><=
div>=C2=A0 (I.C.6): update min libtool version to 2.0</div><div>=C2=A0 (I.C=
.6): remove outdated note about libtool 1.4.3 and Solaris.</div><div><br></=
div><div>Patch by: Pavel Lyalyakin &lt;<a href=3D"mailto:[email protected]=
rg" target=3D"_blank">[email protected]</a>&gt;</div><div><br></div><div=
>
<span class=3D"gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=
=3D"gmail_signature"><div dir=3D"ltr">
<font color=3D"#888888">With best regards,<br>
Pavel Lyalyakin</font>

</div></div>

<br></div></div>
</div>
</blockquote></div></div>

--000000000000ef9a870658336185--