lilypond-devel
[Top][All Lists]
Advanced

[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".

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

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