Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 604888 - <=dev-libs/appstream-glib-0.6.7 incompatible with >=dev-util/gperf-3.1
Summary: <=dev-libs/appstream-glib-0.6.7 incompatible with >=dev-util/gperf-3.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://github.com/hughsie/appstream-...
Whiteboard:
Keywords:
: 605846 606822 (view as bug list)
Depends on:
Blocks: gperf-3.1
  Show dependency tree
 
Reported: 2017-01-07 07:30 UTC by Leonid Kopylov
Modified: 2017-02-04 04:23 UTC (History)
19 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,108.38 KB, text/plain)
2017-01-07 07:30 UTC, Leonid Kopylov
Details
patch to compile with gcc-6.3.0 and perhaps other gcc versions (appstream-glib-0.6.7-gperf.patch,464 bytes, patch)
2017-01-23 20:33 UTC, Helmut Jarausch
Details | Diff
modified appstream-glib-0.6.7-gperf.patch (appstream-glib-0.6.7-gperf.patch,468 bytes, patch)
2017-01-23 22:08 UTC, Derk W te Bokkel
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2017-01-07 07:30:09 UTC
# 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
Comment 1 Leonid Kopylov 2017-01-07 07:30:34 UTC
Created attachment 459006 [details]
build.log
Comment 2 Mart Raudsepp gentoo-dev 2017-01-09 22:43:47 UTC
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
Comment 3 Flo Gravo 2017-01-11 12:00:53 UTC
I can confirm the issue!
Comment 4 Flo Gravo 2017-01-11 12:04:46 UTC
Tacker bug: https://bugs.gentoo.org/show_bug.cgi?id=604878
Comment 5 Jura 2017-01-12 09:06:53 UTC
Confirm
Comment 6 Juergen Rose 2017-01-15 05:37:28 UTC
I confirm too.
Comment 7 Juergen Rose 2017-01-15 05:56:19 UTC
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
Comment 8 Mart Raudsepp gentoo-dev 2017-01-16 10:06:55 UTC
*** Bug 605846 has been marked as a duplicate of this bug. ***
Comment 9 Pacho Ramos gentoo-dev 2017-01-22 13:00:41 UTC
please retry with 0.6.7
Comment 10 jorgicio 2017-01-22 15:29:14 UTC
(In reply to Pacho Ramos from comment #9)
> please retry with 0.6.7

With 0.6.7 I got the same error.
Comment 11 Leonid Kopylov 2017-01-22 15:32:19 UTC
Same error
Comment 12 jorgicio 2017-01-22 15:35:33 UTC
Tested: The culprit is gperf-3.1. Above a link was posted about it breaks packages. Downgrading to 3.0.4 fixes the issue.
Comment 13 Pacho Ramos gentoo-dev 2017-01-22 15:39:09 UTC
Can you open a bug report in upstream then?
https://github.com/hughsie/appstream-glib/issues

Thanks
Comment 14 Mike Auty (RETIRED) gentoo-dev 2017-01-23 09:22:38 UTC
*** Bug 606822 has been marked as a duplicate of this bug. ***
Comment 15 Helmut Jarausch 2017-01-23 20:33:15 UTC
Created attachment 461118 [details, diff]
patch to compile with gcc-6.3.0 and perhaps other gcc versions
Comment 16 Derk W te Bokkel 2017-01-23 22:08:00 UTC
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
Comment 17 Geoff Leach 2017-01-25 09:19:33 UTC
Patch worksforme, gcc 5.4
Comment 18 Francesco Turco 2017-01-25 09:23:27 UTC
Patch from comment 16 works for me with GCC 6.3.0.
Comment 19 Martin von Gagern 2017-01-25 16:20:03 UTC
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?
Comment 20 Sergey Ilinykh 2017-01-26 16:56:13 UTC
the patch wfm
Comment 21 Matthew Marchese Gentoo Infrastructure gentoo-dev 2017-01-28 21:08:57 UTC
Patch in comment 16 works for me as well. GCC 5.4.0.
Comment 22 Mart Raudsepp gentoo-dev 2017-02-02 09:41:41 UTC
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.
Comment 23 Pacho Ramos gentoo-dev 2017-02-03 12:13:23 UTC
(not affecting stable and neither a regression)
Comment 24 Mart Raudsepp gentoo-dev 2017-02-04 04:23:02 UTC
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.