GNU bug report logs - #73737
configure error at "checking dynamic linker characteristics"

Previous Next

Package: libtool;

Reported by: Bruno Haible <bruno <at> clisp.org>

Date: Thu, 10 Oct 2024 19:48:01 UTC

Severity: normal

Done: Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73737 in the body.
You can then email your comments to 73737 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-libtool <at> gnu.org:
bug#73737; Package libtool. (Thu, 10 Oct 2024 19:48:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bruno Haible <bruno <at> clisp.org>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Thu, 10 Oct 2024 19:48:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: bug-libtool <at> gnu.org
Subject: configure error at "checking dynamic linker characteristics"
Date: Thu, 10 Oct 2024 21:46:59 +0200
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.

This code was added in commit ab89ebbcc2ff0ecff5157982ef03627cfd615f7e .

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

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

Bruno







Information forwarded to bug-libtool <at> gnu.org:
bug#73737; Package libtool. (Fri, 11 Oct 2024 15:47:02 GMT) Full text and rfc822 format available.

Message #8 received at 73737 <at> debbugs.gnu.org (full text, mbox):

From: Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
To: 73737 <at> debbugs.gnu.org
Cc: trcrsired <unlvsur <at> live.com>, Bruno Haible <bruno <at> clisp.org>
Subject: Re: bug#73737: configure error at "checking dynamic linker
 characteristics"
Date: Fri, 11 Oct 2024 18:45:09 +0300
[Message part 1 (text/plain, inline)]
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

[OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]

Reply sent to Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>:
You have taken responsibility. (Tue, 15 Oct 2024 15:49:02 GMT) Full text and rfc822 format available.

Notification sent to Bruno Haible <bruno <at> clisp.org>:
bug acknowledged by developer. (Tue, 15 Oct 2024 15:49:02 GMT) Full text and rfc822 format available.

Message #13 received at 73737-done <at> debbugs.gnu.org (full text, mbox):

From: Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
To: 73737-done <at> debbugs.gnu.org
Cc: trcrsired <unlvsur <at> live.com>, Bruno Haible <bruno <at> clisp.org>
Subject: Re: bug#73737: configure error at "checking dynamic linker
 characteristics"
Date: Tue, 15 Oct 2024 18:46:35 +0300
[Message part 1 (text/plain, inline)]
This bug should be resolved with a patch submitted on Savannah:
https://savannah.gnu.org/patch/index.php?10481

It has been applied to the development branch:
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=development&id=4cc12b83ffa947d9c1948a066c7e70c0336f6acd

The other requested changes have also been applied:
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=development&id=c5bd2b146f6638f295a0b6414efe8767e21dad7c

-- 
Ileana Dumitrescu

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

[OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]

Information forwarded to bug-libtool <at> gnu.org:
bug#73737; Package libtool. (Tue, 15 Oct 2024 20:04:02 GMT) Full text and rfc822 format available.

Message #16 received at 73737-done <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: 73737-done <at> debbugs.gnu.org,
 Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
Cc: trcrsired <unlvsur <at> live.com>
Subject: Re: bug#73737: configure error at "checking dynamic linker
 characteristics"
Date: Tue, 15 Oct 2024 22:03:33 +0200
[Message part 1 (text/plain, inline)]
Ileana Dumitrescu wrote:
> This bug should be resolved with a patch submitted on Savannah:
> https://savannah.gnu.org/patch/index.php?10481

While this patch is an improvement — it avoids an error message
if $multilib was unset or empty or started with a '-' character —
it still is not the full fix. Namely, it does word splitting.
When I set
  export multilib='yes and no'
then run configure, I see an error message:

  checking dynamic linker characteristics... ../configure: line 11854: test: too many arguments

Really, word splitting should be avoided on unstrusted inputs [1].
Here is a patch that does so.

[1] https://stackoverflow.com/questions/3811345/

[multilib-patch3.diff (text/x-patch, attachment)]

Information forwarded to bug-libtool <at> gnu.org:
bug#73737; Package libtool. (Wed, 16 Oct 2024 14:37:02 GMT) Full text and rfc822 format available.

Message #19 received at 73737 <at> debbugs.gnu.org (full text, mbox):

From: Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
To: 73737 <at> debbugs.gnu.org
Cc: trcrsired <unlvsur <at> live.com>, Bruno Haible <bruno <at> clisp.org>
Subject: Re: bug#73737: configure error at "checking dynamic linker
 characteristics"
Date: Wed, 16 Oct 2024 17:35:27 +0300
[Message part 1 (text/plain, inline)]
On 15/10/2024 23:03, Bruno Haible wrote:
> Ileana Dumitrescu wrote:
>> This bug should be resolved with a patch submitted on Savannah:
>> https://savannah.gnu.org/patch/index.php?10481
> 
> While this patch is an improvement — it avoids an error message
> if $multilib was unset or empty or started with a '-' character —
> it still is not the full fix. Namely, it does word splitting.
> When I set
>    export multilib='yes and no'
> then run configure, I see an error message:
> 
>    checking dynamic linker characteristics... ../configure: line 11854: test: too many arguments
> 
> Really, word splitting should be avoided on unstrusted inputs [1].
> Here is a patch that does so.
> 
> [1] https://stackoverflow.com/questions/3811345/
> 

Thank you for looking into this more. I should have noticed that.

I have applied your patch:
https://git.savannah.gnu.org/cgit/libtool.git/commit/?h=development&id=3cf528a4f04e9da78b06635aac6545709007b882

-- 
Ileana Dumitrescu

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

[OpenPGP_0x6570EA01146F7354.asc (application/pgp-keys, attachment)]
[OpenPGP_signature.asc (application/pgp-signature, attachment)]

Information forwarded to bug-libtool <at> gnu.org:
bug#73737; Package libtool. (Thu, 17 Oct 2024 03:40:02 GMT) Full text and rfc822 format available.

Message #22 received at 73737 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Haible <bruno <at> clisp.org>
To: 73737 <at> debbugs.gnu.org, Ileana Dumitrescu <ileanadumitrescu95 <at> gmail.com>
Subject: Re: bug#73737: configure error at "checking dynamic linker
 characteristics"
Date: Thu, 17 Oct 2024 05:39:34 +0200
Ileana Dumitrescu wrote:
> I have applied your patch:

Thanks. I did a release of GNU libunistring, with that patch included.

Bruno







bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 14 Nov 2024 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 275 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.