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/