# emerge -pqv '=dev-libs/appstream-glib-0.6.5::gentoo' [ebuild N ] dev-libs/appstream-glib-0.6.5 USE="introspection nls -stemmer" # emerge --info '=dev-libs/appstream-glib-0.6.5::gentoo' Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0/desktop, gcc-5.4.0, glibc-2.23-r3, 4.9.1-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.9.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700_CPU_@_3.40GHz-with-gentoo-2.3 KiB Mem: 4050128 total, 2905416 free KiB Swap: 4194300 total, 4194300 free Timestamp of repository gentoo: Sat, 07 Jan 2017 05:30:01 +0000 sh bash 4.4_p5-r1 ld GNU ld (Gentoo 2.27 p1.0) 2.27 ccache version 3.3.3 [disabled] app-shells/bash: 4.4_p5-r1::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.1_rc4::gentoo dev-lang/python: 2.7.12::gentoo, 3.4.5::gentoo, 3.5.2::gentoo dev-util/ccache: 3.3.3::gentoo dev-util/cmake: 3.7.1::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.23.1::gentoo sys-apps/sandbox: 2.10-r3::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.27::gentoo sys-devel/gcc: 5.4.0-r2::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r2::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.9::gentoo (virtual/os-headers) sys-libs/glibc: 2.23-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://pi.kopylovs.net/gentoo-portage priority: -1000 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA google-chrome Nero-EULA-US RAR skype-4.0.0.7-copyright TeamViewer" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirror.isoc.org.il/pub/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 apng audit berkdb bluetooth branding bzip2 cairo cdda cdr cgmanager cli consolekit cracklib crypt cryptsetup cups curl cxx dbus device-mapper dos dri dts dvd dvdr emboss emerald encode examples exif experimental fam firefox flac fortran fuse games gcj gd gdbm geoip gif glamor gnome-keyring go googledrive gpg gpm gssapi gtk html http iconv icu idn introspection ipv6 iscsi java jpeg kerberos lcms ldap libkms libnotify mad mbox mdadm minizip mmx mmxext mng modules mount mp3 mp4 mpeg mpx mrim multilib mysql mysqli ncurses nls nptl nscd offensive ogg openexr opengl openmp openntpd pam pango pcre pdf pdfimport perl plymouth png policykit postfix postgres ppds pulseaudio python qrcode qt3support qt4 qt5 quickstarter readline sasl sdl seccomp session slp smi spell sqlite sse sse2 ssl startup-notification svg symlink sync-plugin-portage systemd tcpd threads tiff tk tools truetype udev udisks unicode upower usb usbredir vlc vorbis wayland wifi wininst wxwidgets x264 xa xattr xcb xkb xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell wiki-publisher scripting-javascript" LINGUAS="en he ru en_US he_IL ru_RU" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21 ruby22 ruby23 ruby24" USERLAND="GNU" VIDEO_CARDS="vmware" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Created attachment 459006 [details] build.log
To save others from downloading the build.log and less -R'ing or ansifiltering it, the error is apparently here with gcc-5.4.0-r2: In file included from as-tag.c:41:0: as-tag-private.h: In function ‘_as_tag_hash’: as-tag-private.h:81:32: warning: conversion to ‘unsigned int’ from ‘size_t {aka long unsigned int}’ may alter its value [-Wconversion] register unsigned int hval = len; ^ as-tag-private.h: At top level: as-tag-private.h:218:1: error: conflicting types for ‘_as_tag_from_gperf’ _as_tag_from_gperf (register const char *str, register size_t len) ^ as-tag.c:40:26: note: previous declaration of ‘_as_tag_from_gperf’ was here const struct tag_data *_as_tag_from_gperf (const char *tag, guint etag); ^ make[3]: *** [Makefile:1178: libappstream_glib_la-as-tag.lo] Error 1
I can confirm the issue!
Tacker bug: https://bugs.gentoo.org/show_bug.cgi?id=604878
Confirm
I confirm too.
With gcc--4.9.3 it fails as well: ... In file included from as-tag.c:41:0: as-tag-private.h: In function ‘_as_tag_hash’: as-tag-private.h:81:32: warning: conversion to ‘unsigned int’ from ‘size_t’ may alter its value [-Wconversion] register unsigned int hval = len; ^ as-tag-private.h: At top level: as-tag-private.h:218:1: error: conflicting types for ‘_as_tag_from_gperf’ _as_tag_from_gperf (register const char *str, register size_t len) ^ as-tag.c:40:26: note: previous declaration of ‘_as_tag_from_gperf’ was here const struct tag_data *_as_tag_from_gperf (const char *tag, guint etag); ^ cc1: warning: unrecognized command line option "-Wno-discarded-qualifiers" make[3]: *** [Makefile:1178: libappstream_glib_la-as-tag.lo] Error 1
*** Bug 605846 has been marked as a duplicate of this bug. ***
please retry with 0.6.7
(In reply to Pacho Ramos from comment #9) > please retry with 0.6.7 With 0.6.7 I got the same error.
Same error
Tested: The culprit is gperf-3.1. Above a link was posted about it breaks packages. Downgrading to 3.0.4 fixes the issue.
Can you open a bug report in upstream then? https://github.com/hughsie/appstream-glib/issues Thanks
*** Bug 606822 has been marked as a duplicate of this bug. ***
Created attachment 461118 [details, diff] patch to compile with gcc-6.3.0 and perhaps other gcc versions
Created attachment 461120 [details, diff] modified appstream-glib-0.6.7-gperf.patch minor modification to patch to allow it to work in /etc/portage/patches works with gcc-5.4.0 confirmed
Patch worksforme, gcc 5.4
Patch from comment 16 works for me with GCC 6.3.0.
Does the package opportunistically make use of gperf if it's available? If so, is that desirable, or should there a USE flag, or an unconditional build-time dependency?
the patch wfm
Patch in comment 16 works for me as well. GCC 5.4.0.
I asked upstream to cut a new release with the upstream gperf 3.1 fixes. It should be done later today, then we can just package that instead to keep it simpler.
(not affecting stable and neither a regression)
commit ee3f77c3307b17ab929713ace39f8767f9031959 Author: Mart Raudsepp <leio@gentoo.org> Date: Sat Feb 4 06:13:10 2017 +0200 dev-libs/appstream-glib: bump to 0.6.8, fixes gperf 3.1 compat Gentoo-bug: 604888 I've also added gperf as a required build time dependency (it was optional until this version bump); and added --enable-fonts as 0.6.7 had a bugfix in configure.ac where --enable-firmware was mistakenly re-used for --enable-fonts and the ebuild wasn't adapted to the configure.ac change in the 0.6.7 bump (however --enable-fonts was default anyway, and the required dep was in DEPEND, so there were no issues, just full configure.ac following) Note that Tobias had marked this as a blocker for the stabilization because appstream-glib test suite was segfaulting on alpha and it later turned out to not be gperf caused and it still segfaults on alpha with 0.6.8 (0.6.3 also now, some lower level upgrade done after 0.6.3 stabilization has made it do so); he'll file a separate bug properly and we'll investigate there instead.