Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 640162

Summary: app-emulation/xen-tools-4.9.1 USE=ovmf fails to build with gcc 7.2: VfrUtilityLib.cpp:3287:26: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
Product: Gentoo Linux Reporter: spargeltarzan
Component: Current packagesAssignee: Gentoo Xen Devs <xen>
Status: RESOLVED FIXED    
Severity: normal CC: hydrapolic
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Build Log
Build Log Xen-Tools-4.9.0

Description spargeltarzan 2017-12-07 11:52:01 UTC
app-emulation/xen-tools-4.8.2-r3 fails compilation GCC-7.2 (C++ Pointer/Integer Comparison)

Please see attached log files

Reproducible: Always

Steps to Reproduce:
1. emerge app-emulation/xen-tools
2.
3.
Actual Results:  
Compilation error occurred

Expected Results:  
successful emerge

emerge --info '=app-emulation/xen-tools-4.8.2-r3::gentoo'
Portage 2.3.13 (python 3.5.4-final-0, !../../var/lib/layman/dantrell-gnome/profiles/default/amd64/3.26/extended, gcc-7.2.0, glibc-2.25-r9, 4.12.12-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.12.12-gentoo-x86_64-Intel-R-_Core-TM-_i7-4770K_CPU_@_3.50GHz-with-gentoo-2.4.1
KiB Mem:     7850972 total,   1843176 free
KiB Swap:    8000508 total,   7188988 free
Timestamp of repository gentoo: Wed, 06 Dec 2017 20:00:01 +0000
Head commit of repository gentoo: 9cc857a3c4c8fb3e8b0e64dd290a7f8da47e146d
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.8.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.29::dantrell-gnome
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0::gentoo, 7.2.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 

dantrell-gnome-3-26
    location: /var/lib/layman/dantrell-gnome-3-26
    masters: gentoo
    priority: 100

dantrell-gnome
    location: /var/lib/layman/dantrell-gnome
    masters: gentoo
    priority: 150

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
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/chromium/policies/managed/chrome-gnome-shell.json /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/opt/chrome/policies/managed/chrome-gnome-shell.json /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-b"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict 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="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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 berkdb bluetooth branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr eds elogind encode evo exif fam ffmpeg flac fortran gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 gtkstyle iconv introspection ipv6 jpeg lcms ldap libnotify libsecret mad mng modules mp3 mp4 mpeg multilib nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio readline sdl seccomp session spell sqlite ssh ssl startup-notification svg tcpd tiff tracker truetype udev udisks unicode upower usb vorbis x264 xattr xcb xml xv xvid zlib" ABI_X86="64" 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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="intel radeon radeonsi" 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, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

app-emulation/xen-tools-4.8.2-r3::gentoo was built with the following:
USE="hvm ovmf pam pygrub python qemu qemu-traditional screen sdl -api -custom-cflags -debug -doc -flask (-ocaml) -static-libs -system-qemu -system-seabios" ABI_X86="(64)" PYTHON_TARGETS="python2_7"
CFLAGS="-fno-strict-overflow"
CXXFLAGS="-O2 -march=native -pipe -fno-strict-overflow"
LDFLAGS=""


emerge -pqv '=app-emulation/xen-tools-4.8.2-r3::gentoo'
[ebuild   R   ] app-emulation/xen-tools-4.8.2-r3  USE="hvm ovmf pam pygrub python qemu qemu-traditional screen sdl -api -custom-cflags -debug -doc -flask (-ocaml) -static-libs -system-qemu -system-seabios" PYTHON_TARGETS="python2_7"
Comment 1 spargeltarzan 2017-12-07 11:53:58 UTC
Created attachment 508642 [details]
Build Log
Comment 2 Tomáš Mózes 2017-12-07 19:36:09 UTC
Does it also fail with version 4.9.1?
Comment 3 spargeltarzan 2017-12-07 23:50:03 UTC
Yes, it does. (Version 4.9.0, 4.9.1 not in Portage tree yet)

Same error message. 


emerge --info '=app-emulation/xen-tools-4.9.0::gentoo'
Portage 2.3.13 (python 3.5.4-final-0, !../../var/lib/layman/dantrell-gnome/profiles/default/amd64/3.26/extended, gcc-7.2.0, glibc-2.25-r9, 4.12.12-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.12.12-gentoo-x86_64-Intel-R-_Core-TM-_i7-4770K_CPU_@_3.50GHz-with-gentoo-2.4.1
KiB Mem:     7850972 total,    855232 free
KiB Swap:    8000508 total,   8000508 free
Timestamp of repository gentoo: Wed, 06 Dec 2017 20:00:01 +0000
Head commit of repository gentoo: 9cc857a3c4c8fb3e8b0e64dd290a7f8da47e146d
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.3::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.8.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.29::dantrell-gnome
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0::gentoo, 7.2.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 

dantrell-gnome-3-26
    location: /var/lib/layman/dantrell-gnome-3-26
    masters: gentoo
    priority: 100

dantrell-gnome
    location: /var/lib/layman/dantrell-gnome
    masters: gentoo
    priority: 150

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
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/chromium/policies/managed/chrome-gnome-shell.json /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/opt/chrome/policies/managed/chrome-gnome-shell.json /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-b"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict 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="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
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 berkdb bluetooth branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr eds elogind encode evo exif fam ffmpeg flac fortran gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 gtkstyle iconv introspection ipv6 jpeg lcms ldap libnotify libsecret mad mng modules mp3 mp4 mpeg multilib nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio readline sdl seccomp session spell sqlite ssh ssl startup-notification svg tcpd tiff tracker truetype udev udisks unicode upower usb vorbis x264 xattr xcb xml xv xvid zlib" ABI_X86="64" 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" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="intel radeon radeonsi" 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, INSTALL_MASK, LC_ALL, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


app-emulation/xen-tools-4.9.0 [4.8.2-r3] USE="hvm ovmf pam pygrub python qemu qemu-traditional screen sdl -api -custom-cflags -debug -doc -flask -ocaml -static-libs -system-qemu -system-seabios" PYTHON_TARGETS="python2_7"
Comment 4 spargeltarzan 2017-12-07 23:51:22 UTC
Created attachment 508766 [details]
Build Log Xen-Tools-4.9.0
Comment 5 spargeltarzan 2017-12-07 23:54:48 UTC
Sorry, just saw version 4.9.1 now. Same error message also here
Comment 6 Tomáš Mózes 2017-12-08 06:08:00 UTC
There is a patch for it:
https://github.com/tianocore/edk2/commit/d37fa01fbbe2cf0cd8b49069a71706a33cb4a53e.patch

But it does not seem to build with it. After refreshing the ovmf patches to the latest git master from https://github.com/tianocore/edk2/ it builds fine, but I don't use it.

Can you please test it?
1) create a local overlay (or use an existing) and patch the current ebuild for xen-tools-4.9.1 (name it for example xen-tools-4.9.1-r1.ebuild):

# diff -u /usr/portage/app-emulation/xen-tools/xen-tools-4.9.1.ebuild xen-tools-4.9.1.ebuild
--- /usr/portage/app-emulation/xen-tools/xen-tools-4.9.1-r1.ebuild 2017-12-05 03:39:13.000000000 +0100
+++ xen-tools-4.9.1.ebuild      2017-12-08 07:02:44.144291548 +0100
@@ -26,11 +26,11 @@
        # xen-tools's gentoo patches version which apply to this specific ebuild
        GENTOO_GPV=0
        # xen-tools ovmf's patches
-       OVMF_VER=2
+       OVMF_VER=

        SEABIOS_VER=1.10.0
        # OVMF upstream 52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d
-       OVMF_PV=20151110
+       OVMF_PV=20171208

        [[ -n ${UPSTREAM_VER} ]] && \
                UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"

2)
Place this file https://github.com/hydrapolic/gentoo-dist/raw/master/xen/ovmf-20171208.tar.bz2 into /usr/portage/distfiles.

3)
ebuild xen-tools-4.9.1-r1.ebuild manifest

4)
USE=ovmf emerge -v1 =app-emulation/xen-tools-4.9.1-r1
Comment 7 spargeltarzan 2017-12-08 18:32:03 UTC
I did the steps you mentioned, but I am not successful doing ebuild xen-tools-4.9.1-r1.ebuild manifest.

ebuild xen-tools-4.9.1-r1r.ebuild manifest
!!! Repository 'x-xen-overlay' is missing masters attribute in '/usr/local/portage/xen-overlay/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
ebuild: /usr/local/portage/xen-overlay/category/xen-tools/xen-tools-4.9.1-r1r.ebuild: category/xen-tools-4.9.1-r1r: does not follow correct package syntax

Also when I place my .ebuild in /usr/portage/app-emulation/xen-tools/, the "does not follow correct package syntax occurs

Here my diff:

diff -u /usr/portage/app-emulation/xen-tools/xen-tools-4.9.1.ebuild /usr/local/portage/xen-overlay/category/xen-tools/xen-tools-4.9.1-r1r.ebuild 
--- /usr/portage/app-emulation/xen-tools/xen-tools-4.9.1.ebuild	2017-12-05 03:39:13.000000000 +0100
+++ /usr/local/portage/xen-overlay/category/xen-tools/xen-tools-4.9.1-r1r.ebuild	2017-12-08 19:14:54.447168895 +0100
@@ -26,11 +26,11 @@
 	# xen-tools's gentoo patches version which apply to this specific ebuild
 	GENTOO_GPV=0
 	# xen-tools ovmf's patches
-	OVMF_VER=2
+	OVMF_VER=
 
 	SEABIOS_VER=1.10.0
 	# OVMF upstream 52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d
-	OVMF_PV=20151110
+	OVMF_PV=20171208
 
 	[[ -n ${UPSTREAM_VER} ]] && \
 		UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"

Please advice
Comment 8 spargeltarzan 2017-12-08 18:54:56 UTC
I have realised I cannot name an ebuild *-r1r.ebuild, renamed to convention *r1.ebuild and now I successfully built xen-tools-4.9.1-r1.

Also no dependency conflict with xen 4.9.1
Comment 9 Tomáš Mózes 2017-12-09 06:08:50 UTC
So does it fix your issue? Does ovmf work after that?
Comment 10 macduke 2017-12-10 13:39:50 UTC
Hallo,

the patch worked for me.

Thank you.
Comment 11 Yixun Lan archtester gentoo-dev 2017-12-31 13:45:46 UTC
this is fixed at xen-tools-4.9.1-r1.

I'm closing this as fixed, please re-open if you still see problem

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57e910ccaa98ba21cfc65419508e3695828f5b28