lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problems with mingw build


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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]