URL:
  <https://savannah.gnu.org/support/?111081>

                 Summary: Cannot find shared libraries with
aarch64-w64-mingw32.
                   Group: GNU Libtool
               Submitter: carlo_bramini
               Submitted: Fri 21 Jun 2024 05:11:15 PM UTC
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: Microsoft Windows


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Fri 21 Jun 2024 05:11:15 PM UTC By: Carlo Bramini <carlo_bramini>
GCC development branch includes experimental support Windows on ARM64 (WOA),
which will be officially released with version 15, at least according to
latest news.

I tried to build some packages, for example libpng, but an unexpected
behaviour is printed on the console:

*** Warning: linker path does not have real file for library -lz.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libz and none of the candidates passed a file format test
*** using a file magic. Last file checked:
/usr/aarch64-w64-mingw32/sys-root/mingw/lib/libz.dll.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.

As result, libpng was built but only as static library.
However, ZLIB for WOA is installed and it is working, see below.
After some tests, I suspect the current implementation into win32_libid is
expected to work under MINGW only with Intel and not when the target CPU is
Aarch64.
This is what happens if I try to access to ZLIB for X86_64:

$ file -L /usr/x86_64-w64-mingw32/sys-root/mingw/bin/zlib1.dll
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/zlib1.dll: PE32+ executable (DLL)
(console) x86-64, for MS Windows, 13 sections

And this is what happens if I try to access to ZLIB for WOA:

$ file -L /usr/aarch64-w64-mingw32/sys-root/mingw/bin/zlib1.dll
/usr/aarch64-w64-mingw32/sys-root/mingw/bin/zlib1.dll: PE32+ executable (DLL)
(console) Aarch64, for MS Windows, 14 sections

This is the libtool that I'm using under CYGWIN:

$ libtool --version
libtool (GNU libtool) 2.4.7
Written by Gordon Matzigkeit, 1996

Copyright (C) 2014 Free Software Foundation, Inc.

I hope that this information could be helpful for solving this issue.
Thank you very much for your time.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?111081>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/


Reply via email to