mesonbuild / mesonbuild/meson

Cross building GLib tests for Windows fails with '"libgio-2.0-0.dll" failed to initialize, aborting'

Open
#9,783 1 comment 0 reactions 0 assignees View on GitHub
cross
Dominant language
Python
Stars
6.6k
Forks
1.9k
Avg merge
2d 6h
Merged PRs (30d)
33

Description

**Describe the bug**
As reported at https://gitlab.gnome.org/GNOME/glib/-/issues/2573, a cross build for Windows may use potentially inappropriate DLLs when running cross compiled applications.
In the case described, a libglib-2.0-0.dll from a system path was used because corresponding system paths were first contained in the WINEPATH environment variable.

**To Reproduce**
See https://gitlab.gnome.org/GNOME/glib/-/issues/2573

**Expected behavior**
The WINEPATH environment variable must contain the paths to the build directory first and then the system paths.

**system parameters**
* cross build for Windows with gcc
* openSUSE 15.2
* python 3.6.12
* meason version 0.56.2
* ninja version 1.10.2

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the cross build for Windows described in the linked GLib issue and inspect how Meson constructs WINEPATH for test execution. Confirm that build-directory paths precede system paths, then rerun the GLib tests to verify that the intended DLLs are selected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.