-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libtool: update to 2.5.3 #21905
libtool: update to 2.5.3 #21905
Conversation
c049ca0
to
2a4898d
Compare
libtool 2.5.3 has been released in the meantime, could you consider updating this PR? |
Okay, I had sent an email to libtool mailing list to ask some questions about updating libtool due to I get troubled with link flags. |
Hello, I've update it to 2.5.3 now. Thank you for your kindly reminder. |
I downloaded and installed the MINGW64 build artifacts from this PR and rebuilt a current head of the Octave repository with it. When trying the same with the CLANG64 artifacts, I'm seeing the following in the configure output:
That is new afaict. Before, this line just read:
That error is from the line case $GCC,$cc_basename in
yes,*)
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
# If user builds GCC with mulitlibs enabled,
# it should just install on $(libdir)
# not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
if test yes = $multilib; then
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
$install_prog $dir/$dlname $destdir/$dlname~
chmod a+x $destdir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
fi'
else
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
fi I haven't checked whether this is a regression from upstream or one of the patches here. |
It's from upstream. The following (untested) patch would probably fix it: From 0fad3a7164f0e8bbdef93ece8a128f0e1367d4bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Markus=20M=C3=BCtzel?= <[email protected]>
Date: Mon, 14 Oct 2024 17:25:07 +0200
Subject: [PATCH] handle unset $multilib
---
m4/libtool.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index e5ddacee..4c44bf9c 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2569,7 +2569,7 @@ cygwin* | mingw* | windows* | pw32* | cegcc*)
# If user builds GCC with mulitlibs enabled,
# it should just install on $(libdir)
# not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
- if test yes = $multilib; then
+ if test xyes = x$multilib; then
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
--
2.44.0.windows.1
As a file: |
Oh, thanks for your patch. Could you please send it to [email protected]? It may also broken other linux distributions. |
I opened a patch report on Savannah: That issue only affects Windows targets afaict. But you are right: cross-compiling from Linux would probably also be affected. |
If `multilib` is unset (which it apparently is by default), the output from running a `configure` script contains lines like the following: ``` checking dynamic linker characteristics... ../configure: line 26791: test: yes: unary operator expected Win32 ld.exe ``` The additional output is not a fatal error. But it could be irritating. Avoid the unexpected output from `test` by making sure `=` is used as a binary operator. * m4/libtool.m4: Prepend "x" on both sides of a comparison with `test` and the operator `=`. See also: msys2/MINGW-packages#21905
If `multilib` is unset (which it apparently is by default), the output from running a `configure` script contains lines like the following: ``` checking dynamic linker characteristics... ../configure: line 26791: test: yes: unary operator expected Win32 ld.exe ``` The additional output is not a fatal error. But it could be irritating. Avoid the unexpected output from `test` by making sure `=` is used as a binary operator. * m4/libtool.m4: Prepend "x" on both sides of a comparison with `test` and the operator `=`. * NEWS: Update for bug fix. See also: msys2/MINGW-packages#21905
I downloaded and installed the latest MINGW64 build artifacts from this PR again and rebuilt a current head of the Octave repository with it. No regressions afaict. Other distributors already updated to this version of libtool. So, it is probably fine if we updated, too. |
Based on my previous PR (#21621).
The propose of this PR is as follows:
PKGBUILD
following libtool in MSYS2-packagesHere is the difference between the original patches and the refreshed ones.
ltmain.sh
Thanks again for lazka's patience.