Glib Cross Build Errors

GentlePeople:

I am trying to Cross Build Glib on Fedora32 for
X86 Windows.

I have the following Glib Build (Linking) Errors
which are shown at the bottom:

  1. What do I have to do to tell meson and ninja where to
    find these dlls?

  2. I have tried csh and sh: Is it better to use sh or other shell?

libffi-6.dll
libintl-8.dll
libpcre-1.dll
zlib1.dll
iconv.dll

The Dlls are available Here:
/usr/x86_64-w64-mingw32/sys-root/mingw/bin

Thank You
Thomas Dineen

F30-VM% more x86_Cross_File
[host_machine]
system = ‘windows’
cpu_family = ‘x86_64’
cpu = ‘x86_64’
endian = ‘little’

[properties]
c_args = []
c_link_args = []

[binaries]
c = ‘/usr/bin/x86_64-w64-mingw32-gcc’
cpp = ‘/usr/bin/x86_64-w64-mingw32-g++’
ar = ‘/usr/bin/x86_64-w64-mingw32-ar’
strip = ‘/usr/bin/x86_64-w64-mingw32-strip’
pkgconfig = ‘/usr/bin/x86_64-w64-mingw32-pkg-config’
windres = ‘/usr/bin/x86_64-w64-mingw32-windres’
ld = ‘/usr/bin/x86_64-w64-mingw32-ld’
exe_wrapper = ‘wine64’

; As Root

meson _build . --cross-file …/x86_Cross_File --default-library static
cd _build
ninja

sh-5.0# ninja
[1/328] Generating test5.gresource with a meson_exe.py custom command.
FAILED: gio/tests/test5.gresource
/usr/bin/meson --internal exe --unpickle /home/tdineen/glib-2.64/glib-2.64.2/_build/meson-private/meson_exe_glib-compile-resources_43058d28c31eeb1e2ec6bafbeb5396e7a570b5f2.dat
002e:err:module:import_dll Library iconv.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\libintl-8.dll") not found
002e:err:module:import_dll Library libintl-8.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe") not found
002e:err:module:import_dll Library libpcre-1.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe") not found
002e:err:module:LdrInitializeThunk Importing dlls for L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe" failed, status c0000135
[2/328] Generating digit_test_resources.h with a meson_exe.py custom command.
FAILED: gio/tests/digit_test_resources.h
/usr/bin/meson --internal exe --unpickle /home/tdineen/glib-2.64/glib-2.64.2/_build/meson-private/meson_exe_glib-compile-resources_32665dc483a9141b75e2f13bf28484032ca64235.dat
0030:err:module:import_dll Library iconv.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\libintl-8.dll") not found
0030:err:module:import_dll Library libintl-8.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe") not found
0030:err:module:import_dll Library libpcre-1.dll (which is needed by L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe") not found
0030:err:module:LdrInitializeThunk Importing dlls for L"Z:\home\tdineen\glib-2.64\glib-2.64.2\_build\gio\glib-compile-resources.exe" failed, status c0000135
ninja: build stopped: subcommand failed.

I once struggled with this myself, though on Debian. I did a write-up on this: GTK3-cross-build-setup.md.

Perhaps there’s some hints in that document to help you along. You’ll have to change some things to make it work on Fedora I suppose.
I got stuck when trying to cross-compile mesa, so I ended up patching alien and converting Fedora mingw64 RPM’s to .deb’s and installing those.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.