Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 599228 - media-video/makemkv-1.10.3 needs -std=c++11 for QT-5.7
Summary: media-video/makemkv-1.10.3 needs -std=c++11 for QT-5.7
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: James Le Cuirot
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-08 18:37 UTC by Chris Smith
Modified: 2016-12-17 23:48 UTC (History)
4 users (show)

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


Attachments
build log (media-video:makemkv-1.10.2:20161108-182306.log.bz2,17.55 KB, application/x-bzip)
2016-11-08 18:37 UTC, Chris Smith
Details
patch for ebuild (file_599228.txt,476 bytes, patch)
2016-12-17 12:17 UTC, Michael Weber (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Smith 2016-11-08 18:37:40 UTC
Created attachment 452740 [details]
build log

/usr/include/qt5/QtWidgets/qaction.h: At global scope:
/usr/include/qt5/QtWidgets/qaction.h:93:40: error: ‘nullptr’ was not declared in this scope
     explicit QAction(QObject *parent = nullptr);
                                        ^
/usr/include/qt5/QtWidgets/qaction.h:94:61: error: ‘nullptr’ was not declared in this scope
     explicit QAction(const QString &text, QObject *parent = nullptr);
                                                             ^
/usr/include/qt5/QtWidgets/qaction.h:95:80: error: ‘nullptr’ was not declared in this scope
     explicit QAction(const QIcon &icon, const QString &text, QObject *parent = nullptr);
                                                                                ^
make: *** [Makefile:77: out/makemkv.full] Error 1
 * ERROR: media-video/makemkv-1.10.2::gentoo failed (compile phase):
 *   emake failed
Comment 1 Chris Smith 2016-11-08 18:38:16 UTC
emerge --info '=media-video/makemkv-1.10.2::gentoo'
Portage 2.3.2 (python 2.7.12-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.4.0, glibc-2.23-r2, 4.7.10-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.7.10-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.3
KiB Mem:    32896408 total,   2682768 free
KiB Swap:    6291452 total,   6291452 free
Timestamp of repository gentoo: Tue, 08 Nov 2016 17:15:01 +0000
sh bash 4.4-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.4-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.0-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo, 3.5.2::gentoo
dev-util/cmake:           3.6.3::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.22.3::gentoo
sys-apps/sandbox:         2.10-r2::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.26.1::gentoo
sys-devel/gcc:            5.4.0::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.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync11.us.gentoo.org/gentoo-portage
    priority: -1000

tcgOverlay
    location: /usr/local/portage
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
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://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="V=1 -j1"
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 aalib acl acpi aes alsa amd64 amr apache2 audiofile avahi avx bash-completion berkdb bluray branding btrfs bzip2 cairo caps cdaudio cdda cddb cdparanoia cdr cdrdao chm cleartype cli corefonts cracklib crypt cups curl cxx dbus declarative designer-plugin djvu dri dssi dts dv dvb dvd dvdr ebook emboss encode exif fam fdk ffmpeg firefox flac fortran gdbm gif glamor gmp google gphoto2 gpm gstreamer gtk gtk3 iconv icu ieee1394 imagemagick imap imlib introspection ipv6 jack java jpeg jpeg2k kde kipi kpathsea ladspa lame lash lcms libffi libnotify lv2 lzma mad marble midi mmap mmx mmxext mng modules mozilla mp3 mp4 mpeg mtp musicbrainz ncurses network nls nodrm nptl nsplugin nvidia ofx ogg opencl openexr opengl openmp opus pam pango pcre pdf phonon plasma png policykit popcnt ppds pulseaudio qml qt3support qt4 qt5 readline rtmp sasl scanner sdl seccomp semantic-desktop session slp smp sndfile spell sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification subversion svg systemd theora threads tiff tk transparency truetype type1 udev udisks unicode unwind upower usb v4l vaapi vcd vdpau vim-syntax vorbis vpx vst wav wavpack wayland widgets wmf wxwidgets x264 x265 xattr xcb xcomposite xine xinerama xkb xml xscreensaver xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="hda-intel hdsp hpet hrtimer rtctimer seqdummy virmidi" 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="author braindump flow karbon kexi krita sheets stage words" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx 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 pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_US en" NGINX_MODULES_HTTP="autoindex fancyindex fastcgi gzip" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby20 ruby21 ruby22 ruby23" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau intel modesetting" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Chris Smith 2016-11-08 18:39:20 UTC
emerge -pqv '=media-video/makemkv-1.10.2::gentoo'
[ebuild     U ] media-video/makemkv-1.10.2 [1.10.1] USE="qt5 -libav -multilib -qt4"
Comment 3 James Le Cuirot gentoo-dev 2016-11-08 21:54:27 UTC
What is your Qt version?
Comment 4 Chris Smith 2016-11-08 22:32:22 UTC
(In reply to James Le Cuirot from comment #3)
> What is your Qt version?

qtcore-5.7.0
Comment 5 Michael Palimaka (kensington) gentoo-dev 2016-11-19 09:01:01 UTC
This appears to be bug #591524 back again.
Comment 6 James Le Cuirot gentoo-dev 2016-12-13 23:04:16 UTC
Please retest with 1.10.3. If it still doesn't work, you're either going to have to wait for upstream or provide a patch yourself. I'm afraid I don't have the time to fix this.
Comment 7 Chris Smith 2016-12-15 00:11:30 UTC
(In reply to James Le Cuirot from comment #6)
> Please retest with 1.10.3. If it still doesn't work, you're either going to
> have to wait for upstream or provide a patch yourself. I'm afraid I don't
> have the time to fix this.

Still borked, does not compile with qt5.
Comment 8 Michael Weber (RETIRED) gentoo-dev 2016-12-17 12:17:08 UTC
Created attachment 456476 [details, diff]
patch for ebuild

Hi,

well, Qt-5.7 needs -std=c++11, inherit flag-o-matic is still there, but unused.
And they use GCC to compile against C++ of QT-5?!?

Anyway, if you append-cxxflags -std=c++11 and add CXXFLAGS to make GCC=... it compiles, despite gcc correctly complaining c++11 is an C++ standard and not a C one.
Comment 9 Michael Weber (RETIRED) gentoo-dev 2016-12-17 12:40:37 UTC
(In reply to Michael Weber from comment #8)
> well, Qt-5.7 needs -std=c++11, inherit flag-o-matic is still there, 
and it doesn't hurt 5.6 ;-)
Comment 10 James Le Cuirot gentoo-dev 2016-12-17 23:48:56 UTC
(In reply to Michael Weber from comment #8)
> well, Qt-5.7 needs -std=c++11, inherit flag-o-matic is still there, but
> unused.

flag-o-matic is used for replace-flags.

----

commit 2d2e27068addf11b3a4f60265a031686383fd741
Author: James Le Cuirot <chewi@gentoo.org>
Date:   Sat Dec 17 23:42:32 2016 +0000

    media-video/makemkv: Fix building against Qt 5.7, closes bug #599228
    
    The -std=c++11 flag is needed for building against Qt 5.7. Trouble is
    that upstream builds with CC rather than CXX. This only exhibits a
    warning but if you try to force CXX, it fails to build the C parts,
    which probably explains why upstream did this in the first place. I
    thought -x none might work but it breaks unless you put it before
    every C file. Possibly a GCC bug? Ideally upstream would just use
    automake and avoid this whole mess. The easiest way out is to only
    apply CXX and -std=c++11 to the makemkv binary, which doesn't have any
    C sources.
    
    The new patch also respects LDFLAGS. CFLAGS (not CXXFLAGS) is already
    respected by upstream now so src_compile is no longer needed.
    
    Some of the src_install stuff has also been dropped in favour of
    default as we now want upstream behaviour.