Subject: bug#73737: configure error at "checking dynamic linker characteristics"

From: Ileana Dumitrescu <[email-masked]>
Date: Fri, 11 Oct 2024 18:45:09 +0300

On 10/10/2024 22:46, Bruno Haible via bug-libtool via Bug reports for 
the GNU libtool shared library maintenance tool wrote:
> In a build of GNU gettext, with libtool 2.5.3 + Sergey's fix,
> on mingw with --disable-shared, I see this error during configuration:
> 
> checking whether the x86_64-w64-mingw32-gcc linker (/usr/x86_64-w64-mingw32/bin/ld.exe) supports shared libraries... yes
> checking dynamic linker characteristics... ../../gettext-runtime/configure: line 17525: test: yes: unary operator expected
> Win32 ld.exe
> checking how to hardcode library paths into programs... immediate
> 
> At gettext-runtime/configure line 17525 we have this statement:
> 
>      # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
>      if test yes = $multilib; then                                           <=== HERE
>      postinstall_cmds='base_file=`basename \$file`~
> 
> Apparently $multilib is empty or expands to more than one word.

It should be set to yes or no, but if libtool does not have access to
the variable, it should probably be added to set multilib=no by default.

> This code was added in commit ab89ebbcc2ff0ecff5157982ef03627cfd615f7e .

I have CCd the author.

> The main problem is that the variable 'multilib' is never defined in libtool.m4.
> Where is it supposed to be defined?

multilib should be defined in gcc.

Here is a relevant thread:
https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651670.html

> Other than that, this commit has two problems:
>    - missing indentation of the two branches of the 'if' statement.
>    - a typo (mulitlibs -> multilib)

I have these changes staged with the one I mentioned up above. I do not
have time to look more into this today, but I can next week.

> Bruno

-- 
Ileana Dumitrescu

GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354