Dear Libtool team

Please see the patch below, which apparently
is meant to fix this isssue.

I understand the patch has not been merged.

Let me know if you need more info.

Thank you

Anton


> Begin forwarded message:
> 
> From: Anthony Scemama <scem...@irsamc.ups-tlse.fr>
> Subject: Re: armflang: error: unknown argument: '-soname'
> Date: 22 October 2023 at 11:02:04 BST
> To: "Shterenlikht, Anton" <shterenli...@par-tec.com>, "autom...@gnu.org" 
> <autom...@gnu.org>
> 
> Dear Anton,
> 
> here is a patch for libtool that Francois Coppens and I submitted to
> libtool in February. I think we did something went wrong in the PR
> process because it has still not been included... Maybe you can submit
> it again to the libtool team, it is not a big change and it is quite
> important for us too to have this patch included.
> 
> best,
> 
> Anthony
> 
> 
> $ git diff 1ec8fa28dcb29500d485c136db28315671ec4c3b
> diff --git a/m4/libtool.m4 b/m4/libtool.m4
> index 79a2451e..df1a7860 100644
> --- a/m4/libtool.m4
> +++ b/m4/libtool.m4
> @@ -4719,6 +4719,12 @@ m4_if([$1], [CXX], [
>        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
>        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
>         ;;
> +      # ARM flang
> +      armflang*)
> +        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
> +        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
> +        _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
> +        ;;
>       # Lahey Fortran 8.1.
>       lf95*)
>        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
> 
> 
> 
> 
> 
> On Fri, 2023-10-20 at 10:47 +0000, Shterenlikht, Anton wrote:
>> This seems like an automake issue, not libtool.
>> 
>> The libtool produced by running configure has:
>> 
>> 11661 # ### BEGIN LIBTOOL TAG CONFIG: FC
>> 11662 
>> 11663 # The linker used to build libraries.
>> 11664 LD="<some path>/arm-compiler-for-linux_23.10_AmazonLinux-2/gcc-
>> 12.2.0_AmazonLinux-2/aarch64-linux-gnu/bin/ld"
>> 11665 
>> 11666 # How to create reloadable object files.
>> 11667 reload_flag=" -r"
>> 11668 reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
>> 11669 
>> 11670 # Commands used to build an old-style archive.
>> 11671 old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB
>> \$tool_oldlib"
>> 11672 
>> 11673 # A language specific compiler.
>> 11674 CC="armflang"
>> 11675 
>> 11676 # Is the compiler the GNU compiler?
>> 11677 with_gcc=no
>> 11678 
>> 11679 # Compiler flag to turn off builtin functions.
>> 11680 no_builtin_flag=""
>> 11681 
>> 11682 # Additional compiler flags for building library objects.
>> 11683 pic_flag=""
>> 11684 
>> 11685 # How to pass a linker flag through the compiler.
>> 11686 wl=""
>> 
>> Note that wl= is emtpy.
>> 
>> Compare with the portion of this file for C compiler:
>> 
>>  317 # A language specific compiler.
>>  318 CC="mpicc"
>>  319 
>>  320 # Is the compiler the GNU compiler?
>>  321 with_gcc=yes
>>  322 
>>  323 # Compiler flag to turn off builtin functions.
>>  324 no_builtin_flag=" -fno-builtin -fno-rtti -fno-exceptions"
>>  325 
>>  326 # Additional compiler flags for building library objects.
>>  327 pic_flag=" -fPIC -DPIC"
>>  328 
>>  329 # How to pass a linker flag through the compiler.
>>  330 wl="-Wl,"
>> 
>> 
>> This simple patch works:
>> 
>> sed -i 's|wl=""|wl="-Wl,"|' libtool
>> 
>> and gives:
>> 
>> libtool: link: armflang -shared   <some *.o files>    -g -fopenmp
>> -mcpu=neoverse-512tvb -march=armv8.4-a+sve   -fopenmp -Wl,-soname
>> -Wl,libp2.so.0 -o .libs/libp2.so.0.0.0
>> 
>> However, this crude hack will not work with "make distcheck",
>> because it will generate a new libtool.
>> 
>> Still, I'm trying to understand if this is a bug in autotools,
>> and if there is a workaround via edits in configure.ac and/or
>> Makefile.am.
>> 
>> Thank you
>> 
>> Anton
>> 
>>> On 20 Oct 2023, at 08:40, Shterenlikht, Anton <
>>> shterenli...@par-tec.com> wrote:
>>> 
>>> [also posted in libtool@gnu.org]
>>> 
>>> Please help me understand how to deal correctly with this error:
>>> 
>>> libtool: link: armflang -shared   <some *.o files>     -g   -soname 
>>> libp2.so.0 -o .libs/libp2.so.0.0.0
>>> armflang: error: unknown argument: '-soname'
>>> 
>>> 
>>> I see this issue mentioned in multiple places, e.g:
>>> 
>>> https://github.com/HDFGroup/hdf5/issues/366
>>> 
>>> with the solution that "-Wl," must be prepended somehow to "-
>>> soname".
>>> 
>>> But I'm not sure what changes I need to do
>>> to my configure.ac and/or Makefile.am
>>> to fix this correctly.
>>> 
>>> For comparison, here's how the same line looks like when
>>> I use gfortran:
>>> 
>>> libtool: link: gfortran -shared  -fPIC  <some *.o files>    -g
>>> -O2   -Wl,-soname -Wl,libp2.so.0 -o .libs/libp2.so.0.0.0
>>> 
>>> 
>>> Thank you
>>> 
>>> Anton
>> 
>> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to