Bug 1741077

Summary: eiskaltdcpp-2.2.11-23.20190527git09b9ffe.fc31 FTBFS: /usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: eiskaltdcppAssignee: Vasiliy Glazov <vascom2>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: vascom2
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://apps.fedoraproject.org/koschei/build/6802250
Whiteboard:
Fixed In Version: eiskaltdcpp-2.2.11-24.20190922gita85c5d8.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-02 00:46:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Pisar 2019-08-14 08:19:45 UTC
eiskaltdcpp-2.2.11-23.20190527git09b9ffe.fc31 fails to build in F31:

BUILDSTDERR: cd /builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk && /usr/bin/c++  -DCLIENT_DATA_DIR=\"/usr/share/eiskaltdcpp\" -DCLIENT_ICONS_DIR=\"/usr/share/eiskaltdcpp/gtk/icons\" -DCLIENT_RES_DIR=\"/usr/share/eiskaltdcpp/gtk/resources\" -DCLIENT_SOUNDS_DIR=\"/usr/share/eiskaltdcpp/sounds\" -DCLIENT_TRANSLATIONS_DIR=\"/usr/share/eiskaltdcpp/qt/translations\" -DFREE_SPACE_BAR_C -DGSEAL_ENABLE -DLOCALE_DIR=\"/usr/share/locale\" -DLUA_SCRIPT -DUSE_LIBNOTIFY -DWITH_DHT -D_DATADIR=\"/usr/share/eiskaltdcpp\" -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_REENTRANT -I/builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe -I/builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk/..  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -std=c++14 -pipe -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG   -o CMakeFiles/eiskaltdcpp-gtk.dir/src/UserCommandMenu.cc.o -c /builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk/src/UserCommandMenu.cc
[...]
BUILDSTDERR: make[2]: Leaving diIn file included from /usr/include/pango-1.0/pango/pango-font.h:25,
BUILDSTDERR:                  from /usr/include/pango-1.0/pango/pango-attributes.h:25,
BUILDSTDERR:                  from /usr/include/pango-1.0/pango/pango.h:25,
BUILDSTDERR:                  from /usr/include/gtk-3.0/gdk/gdktypes.h:35,
BUILDSTDERR:                  from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30,
BUILDSTDERR:                  from /usr/include/gtk-3.0/gdk/gdk.h:32,
BUILDSTDERR:                  from /usr/include/gtk-3.0/gtk/gtk.h:30,
BUILDSTDERR:                  from /builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk/src/UserCommandMenu.hh:23,
BUILDSTDERR:                  from /builddir/build/BUILD/eiskaltdcpp-eiskaltdcpp-09b9ffe/eiskaltdcpp-gtk/src/UserCommandMenu.cc:21:
BUILDSTDERR: /usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
BUILDSTDERR:    28 | #include <hb.h>
BUILDSTDERR:       |          ^~~~~~

A difference between passing and failing build root is at <https://apps.fedoraproject.org/koschei/build/6802250>.

An upgrade of pango-devel from 1.43.0-4.fc31 to 1.44.3-1.fc31 looks suspicious.

Comment 1 Petr Pisar 2019-08-14 08:38:30 UTC
/usr/include/pango-1.0/pango/pango-coverage.h includes <hb.h>. <hb.h> is delivered by harfbuzz-devel:

# dnf --quiet repoquery --whatprovides '*/hb.h'
harfbuzz-devel-0:2.5.3-3.fc31.i686
harfbuzz-devel-0:2.5.3-3.fc31.x86_64
mingw32-harfbuzz-0:2.5.3-2.fc31.noarch
mingw64-harfbuzz-0:2.5.3-2.fc31.noarch
# dnf --quiet repoquery --list harfbuzz-devel |grep hb.h
/usr/include/harfbuzz/hb.h
/usr/include/harfbuzz/hb.h

pango-devel run-require "pkgconfig(harfbuzz) >= 2.0.0" provided by harfbuzz-devel. pango pkg-config module correctly inherits harfbuzz include path:

# pkg-config --cflags pango |grep harf
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/pixman-1 

But the UserCommandMenu.cc compiler command line is missing he harfbuzz include path.

I conclude eiskaltdcpp does not use pango pkg-config module for retrieving pango CFLAGS.

Comment 2 Vasiliy Glazov 2019-08-14 09:16:47 UTC
I am not understand all.
Do you have solution?

Comment 3 Petr Pisar 2019-08-14 10:55:01 UTC
Solution is to fix the cmake scripts eiskaltdcpp uses. I'm sorry but I'm not going to do that. I recommend you forward this issue to the upstream with wording that eiskaltdcpp does not build with pango-1.44.3 because of that.

Comment 4 Vasiliy Glazov 2019-08-14 12:59:35 UTC
Thanks.

Comment 5 Vasiliy Glazov 2019-08-14 13:04:43 UTC
https://github.com/eiskaltdcpp/eiskaltdcpp/issues/414

Comment 6 Fedora Update System 2019-09-23 08:27:55 UTC
FEDORA-2019-24bc5799d8 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-24bc5799d8

Comment 7 Fedora Update System 2019-09-24 01:23:39 UTC
eiskaltdcpp-2.2.11-24.20190922gita85c5d8.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-24bc5799d8

Comment 8 Fedora Update System 2019-10-02 00:46:24 UTC
eiskaltdcpp-2.2.11-24.20190922gita85c5d8.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.