https://bugs.winehq.org/show_bug.cgi?id=53953
--- Comment #23 from Eric Pouech eric.pouech@gmail.com --- (In reply to Zeb Figura from comment #18)
(In reply to Eric Pouech from comment #16)
it shows that this package has a dep to say pkgconfig(harfbuzz) but pkgconfig(hardbuff) is provided by *both* the harfbuzz.i686 and harfbuzz.x86_64
if my interpretation is right (didn't look further into the pkgs defs), that means that having one the -devel.i686 or -devel.x86_64 won't force the loading of the other -devel when required by an another package
didn't check how the other distros do it... so c7a97b5d5 by forcing looking (correctly) into the i686 (resp x86_64) packages show all the -devel packages for which the deps haven't been triggered
that would also explain why removing harfbuzz-devel.x86_64 broke the config (right), and it has been installed at first as dep of freetype-devel (as no pkgconfig(harfbuzz) was present at this time)
Yeah, that makes a lot of sense. I looked at the spec file which doesn't have any dependencies coded into it... I guess maybe Fedora is generating package dependencies from the package contents or something? (which would explain why that one wine-staging wpcap patch exists...)
I think most other distributions (well, Debian and Arch at least) just write dependencies manually. Which I think is also the right way to do it; trying to generate them automatically just causes way too many problems.
my understanging:
- c7a97b5d5 is correct
- fedora has a strange dep here... (I would rather see provides
pkgconfig(harfbuzz.i686) rather than pkgconfig(harfbuzz))
- we need to help fedora (and probably other distros) get their config right
Yeah, it's a bit unfortunate that this breaks the build so badly though. I guess what we could do is something like
PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-/usr/lib/i386-linux-gnu/pkgconfig:/ usr/lib32/pkgconfig:/usr/lib/pkgconfig}
PKG_CONFIG_LIBDIR=${PKG_CONFIG_LIBDIR:-/usr/lib/i386-linux-gnu/pkgconfig:/ usr/lib32/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig}
which is obviously not great, I mean I was kind of hoping that we could finally move away from "fall back to the wrong arch", but it's no worse than what we have been doing, or what we do for other distributions.
Zebediah,
extending your idea, what about doing something like this instead? PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/lib/i386-linux-gnu/pkgconfig:/usr/lib32/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig
it'll: - keep user default, if any, - search first for .pc in 32libs - fallback to 64bit dirs if .pc not found in 32bit dirs, hence working around Fedora's settings (I don't see a generic for this one, so we need to be prepared for more errors from compilations on Fedora), - and potentially work around comment #22 (even if I didn't look from where this could come from)