[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems with mingw build
From: |
Jonas Hahnfeld |
Subject: |
Re: Problems with mingw build |
Date: |
Thu, 16 Dec 2021 10:24:43 +0100 |
User-agent: |
Evolution 3.42.2 |
Am Donnerstag, dem 16.12.2021 um 09:48 +0100 schrieb Michael Käppler:
> 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.
Ah yes, please install the more modern "pkgconf", not "pkg-config".
That's why I provide a list of packages that I tested with in the form
of an Ansible playbook...
> 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?
Right. I think I chose the configure way of building because it was the
recommended one? But maybe I'm confusing this with some other projects
saying that their Meson support is still experimental.
> 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?
We could either do this, investigate the Meson build, or just use the
more modern "pkgconf".
signature.asc
Description: This is a digitally signed message part