Summary: | games-emulation/pcsxr-1.9.94_p20190306-r1 fails to compile: pango-coverage.h:28:10: fatal error: hb.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Agostino Sarubbo <ago> |
Component: | Current packages | Assignee: | Michał Górny <mgorny> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alexander, gentoo, greenulito, immoloism, luke, orzel, sam, treecleaner |
Priority: | Normal | Keywords: | PATCH, PMASKED, PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/27805 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 893356 | ||
Attachments: |
build.log
patch for harfbuzz dependency |
Description
Agostino Sarubbo
2021-05-19 06:41:56 UTC
Created attachment 709755 [details]
build.log
build log and emerge --info
Possible context of error(s): /usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory /usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory Hi, Just stumbled upon the same error on two gentoo boxes (core2 & bdver2) with GCC 10.3.0. This might be of interest, https://bbs.archlinux.org/viewtopic.php?id=248498 https://aur.archlinux.org/cgit/aur.git/commit/?h=pcsxr-git&id=b71f5af1153a5f3f0a09955bd33ecb014d1f60a4 I encountered the same problem and tried this: in file /etc/portage/package.env add: games-emulation/pcsxr pcsxr.conf in file /etc/portage/env/pcsxr.conf add: CFLAGS="-O2 -DNDEBUG -mtune=native -pipe -I/usr/include/harfbuzz/ -lGLU -lGL" CXXFLAGS="-O2 -DNDEBUG -mtune=native -pipe -I/usr/include/harfbuzz/ -lGLU -lGL" It compiled and seems to run. I tested only one game but it seems to work nicely. BTW: I tried the pulseaudio use flag first for the pulseaudio sound plugin and got stuttering sound during gameplay, you might want to use -pulseaudio and use sdl in use flags to get rid of that. i can confirm with uptodate portage and system, using gcc 11.2.0 I can confirm as well. The problematic line from the build log appears to be this: FAILED: gui/CMakeFiles/pcsxr.dir/ConfDlg.c.o /usr/bin/x86_64-pc-linux-gnu-gcc -DDEF_PLUGIN_DIR=\"/usr/lib64/games/psemu\" -DENABLE_NLS -DENABLE_SIO1API -DGETTEXT_PACKAGE=\"pcsxr\" -DLOCALE_DIR=\"/usr/share/locale/\" -DPACKAGE_NAME=\"PCSXr\" -DPACKAGE_STRING="\"PCSXr 1.9.94\"" -DPACKAGE_VERSION=\"1.9.94\" -DPSEMU_DATA_DIR=\"/usr/share/psemu\" -I/var/tmp/portage/games-emulation/pcsxr-9999/work/pcsxr-9999 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -O2 -march=x86-64 -pipe -MD -MT gui/CMakeFiles/pcsxr.dir/ConfDlg.c.o -MF gui/CMakeFiles/pcsxr.dir/ConfDlg.c.o.d -o gui/CMakeFiles/pcsxr.dir/ConfDlg.c.o -c /var/tmp/portage/games-emulation/pcsxr-9999/work/pcsxr-9999/gui/ConfDlg.c In file included from /usr/include/pango-1.0/pango/pango-font.h:25, from /usr/include/pango-1.0/pango/pango-attributes.h:25, from /usr/include/pango-1.0/pango/pango.h:25, from /usr/include/gtk-3.0/gdk/gdktypes.h:35, from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30, from /usr/include/gtk-3.0/gdk/gdk.h:32, from /usr/include/gtk-3.0/gtk/gtk.h:30, from /var/tmp/portage/games-emulation/pcsxr-9999/work/pcsxr-9999/gui/ConfDlg.c:27: /usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory 28 | #include <hb.h> | ^~~~~~ compilation terminated. Looks like pango is choking on a missing "hb.h" (In reply to d.thuerrigl from comment #4) > I encountered the same problem and tried this: > > in file /etc/portage/package.env add: > > games-emulation/pcsxr pcsxr.conf > > in file /etc/portage/env/pcsxr.conf add: > > CFLAGS="-O2 -DNDEBUG -mtune=native -pipe -I/usr/include/harfbuzz/ -lGLU -lGL" > CXXFLAGS="-O2 -DNDEBUG -mtune=native -pipe -I/usr/include/harfbuzz/ -lGLU > -lGL" > > It compiled and seems to run. I tested only one game but it seems to work > nicely. > > BTW: I tried the pulseaudio use flag first for the pulseaudio sound plugin > and got stuttering sound during gameplay, you might want to use -pulseaudio > and use sdl in use flags to get rid of that. I can also confirm that this workaround worked. I removed the -mtune=native part, my hunches say that it's a header file issue and the -I/usr/include/harfbuzz bit did the trick Created attachment 740940 [details, diff] patch for harfbuzz dependency There's a pull request in upstream which fixes the issue https://github.com/iCatButler/pcsxr/pull/24 I created a patch from that PR and it works for me Confirmed patch fixes the issue. ci has reproduced this issue with version 1.9.94_p20190306-r1 - Updating summary. I'm afraid the patch isn't correct, and the upstream build system is horribly broken. This is the last nail in the coffin. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7db7f83ad135cf24498de0c352003acd12c9d25a commit 7db7f83ad135cf24498de0c352003acd12c9d25a Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-05-13 05:56:13 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-05-13 05:56:13 +0000 package.mask: Last rite games-emulation/pcsxr Bug: https://bugs.gentoo.org/791034 Signed-off-by: Michał Górny <mgorny@gentoo.org> profiles/package.mask | 7 +++++++ 1 file changed, 7 insertions(+) It builds for me as well with the PR applied. If I understand what you're saying on the upstream PR correctly, adding the FindHarfBuzz.cmake is redundant, but wouldn't then the patch simply be --- a/cmake/FindPango.cmake +++ b/cmake/FindPango.cmake @@ -30,6 +30,7 @@ find_package(PkgConfig) set(Pango_DEPS + HarfBuzz GLib) if(PKG_CONFIG_FOUND) (In reply to Arve Barsnes from comment #13) > It builds for me as well with the PR applied. > > If I understand what you're saying on the upstream PR correctly, adding the > FindHarfBuzz.cmake is redundant, but wouldn't then the patch simply be > > --- a/cmake/FindPango.cmake > +++ b/cmake/FindPango.cmake > @@ -30,6 +30,7 @@ > find_package(PkgConfig) > > set(Pango_DEPS > + HarfBuzz > GLib) > > if(PKG_CONFIG_FOUND) Unfortunately not because it calls find_package() multiple times and cmake fails because of duplicate targets. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e12e50acddb7a57346c6d1417b55ace2aa1a282 commit 4e12e50acddb7a57346c6d1417b55ace2aa1a282 Author: Jakov Smolić <jsmolic@gentoo.org> AuthorDate: 2023-06-22 13:10:39 +0000 Commit: Jakov Smolić <jsmolic@gentoo.org> CommitDate: 2023-06-22 13:10:39 +0000 games-emulation/pcsxr: treeclean Closes: https://bugs.gentoo.org/791034 Closes: https://bugs.gentoo.org/631202 Closes: https://bugs.gentoo.org/858713 Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> games-emulation/pcsxr/Manifest | 1 - games-emulation/pcsxr/metadata.xml | 17 ----- .../pcsxr/pcsxr-1.9.94_p20190306-r1.ebuild | 78 -------------------- games-emulation/pcsxr/pcsxr-9999.ebuild | 84 ---------------------- profiles/package.mask | 7 -- 5 files changed, 187 deletions(-) |