|
From: | Michael Käppler |
Subject: | Re: Problems with mingw build |
Date: | Thu, 16 Dec 2021 09:48:27 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 |
Am 16.12.2021 um 08:43 schrieb Jonas Hahnfeld:
Am Mittwoch, dem 15.12.2021 um 23:17 +0100 schrieb Michael Käppler:Am 15.12.2021 um 19:26 schrieb Jonas Hahnfeld:No, the static libfribidi.a should define them without the __imp_ prefix which is special to shared Dlls. The compiler generates references to them if a function declaration is annotated with __declspec(dllimport). For FriBiDi, this decision happens in fribidi- common.h where FRIBIDI_ENTRY should be '#define'd away if FRIBIDI_LIB_STATIC is defined, which is injected from pkgconfig/fribidi.pc.Hmm...I did understand the error differently. From checking with 'nm' I can tell that the symbols are actually defined in libfribidi.a _without_ the __imp_ prefix. But libpango-1.0.a has references to the prefixed symbols.Yes, so Pango's build was not aware that libfribidi was built statically. Could you share mingw/dependencies/log/pango-1.48.7.log and mingw/dependencies/build/pango-1.48.7/meson-logs/meson-log.txt ? The latter should show `-DFRIBIDI_LIB_STATIC` as part of the --cflags returned by pkg-config-static.sh.
That is not the case. I think I found the related issue here: https://github.com/fribidi/fribidi/issues/156 and see also https://github.com/fribidi/fribidi/pull/151 Since we do not use the 'meson' build system for fribidi this fix would not help, right? I could fix it locally by manually patching fribidi.pc.in, adding `-DFRIBIDI_LIB_STATIC` to cflags. After recompiling fribidi and pango I could complete a LilyPond mingw build successfully. Interesting why it worked for you, though. Btw, they fixed this in fribidi 10 days ago: https://github.com/fribidi/fribidi/commit/859aa1bd9ecdf58957f5a7af747ae3b6bd418c1c I would suggest patching `fribidi.pc.in` for now and then bumping fribidi to 1.0.12 as soon as it becomes available. Thoughts?
I found https://gitlab.gnome.org/GNOME/pango/-/issues/301 but not sure if this is related. Pango switched to generating their *.pc files through meson afterwards. In the generated pango.pc, fribidi is not mentioned.I don't think this is related, it was closed more than three years ago and I see fribidi listed as dependency now.
[Prev in Thread] | Current Thread | [Next in Thread] |