Created attachment 385016 [details] build log Package was built with USE="qt4" but linked to Qt5. Portage 2.2.10 (hardened/linux/amd64, gcc-4.8.3, glibc-2.19-r1, 3.12.21-gentoo-r1 x86_64) ================================================================= System uname: Linux-3.12.21-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7-3632QM_CPU_@_2.20GHz-with-gentoo-2.2 KiB Mem: 8060068 total, 4582608 free KiB Swap: 0 total, 0 free Timestamp of tree: Thu, 18 Sep 2014 09:45:02 +0000 ld GNU ld (GNU Binutils) 2.23.2 app-shells/bash: 4.2_p45 dev-java/java-config: 2.2.0 dev-lang/python: 2.7.7, 3.2.5-r6, 3.3.5-r1, 3.4.1 dev-util/cmake: 3.0.2 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.6.3, 4.7.3-r1, 4.8.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 3.82-r4 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo sunrise x-portage kde qt Installed sets: @kde-frameworks ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -frecord-gcc-switches" 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/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe -frecord-gcc-switches" DISTDIR="/usr/portage/distfiles" FCFLAGS="-march=native -O2 -pipe -frecord-gcc-switches" FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-elog split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -O2 -pipe -frecord-gcc-switches" GENTOO_MIRRORS="ftp://mirror.internode.on.net/pub/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,--hash-style=gnu -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" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/sunrise /usr/local/portage /home/michael/dev/gentoo/kde /home/michael/dev/gentoo/qt" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="X acl acpi alsa amd64 berkdb bindist bzip2 cairo cdda cli cracklib crypt cxx dbus device-mapper dri dvd fam gdbm gudev hardened hwdb iconv icu inotify ipv6 jpeg justify kde lastfm libnotify mmx modules multilib ncurses nls nptl ofa offensive ogg opengl openmp pam pax_kernel pcre phonon png qt3support readline semantic-desktop session spell sse sse2 ssl symlink tcpd theora unicode urandom vorbis xtpax 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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="keyboard synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="intel" 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: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
I'll force a Qt 4 build in a week or so if there's no objections.
(In reply to Michael Palimaka (kensington) from comment #1) > I'll force a Qt 4 build in a week or so if there's no objections. No objections from me if I don't get to it first. I'd appreciate the help.
There is option to force qt4 in Apps/CmakeLists.txt: # try to use QT5 if possible otherwise stick to QT4 set (FORCE_QT4 OFF CACHE BOOL "Use Qt4 even if Qt5 was found") It should be enough to pass '-DFORCE_QT4=on' option for 'qt4' use flag and create new use flag 'qt5' for which this variable won't be set. Of course these 2 use flags should be mutually exlusive. [1] http://openmesh.org/svnrepo/OpenMesh/tags/OpenMesh-3.2/src/OpenMesh/Apps/CMakeLists.txt
--- openmesh-3.2.ebuild 2014-08-26 01:14:55.000000000 +0200 +++ - 2014-10-23 14:48:39.845042498 +0200 @@ -16,11 +16,16 @@ LICENSE="LGPL-3-with-linking-exception" SLOT="0" KEYWORDS="~amd64 ~ia64 ~x86" -IUSE="qt4 static-libs" +IUSE="qt4 qt5 static-libs" + +REQUIRED_USE="?? ( qt4 qt5 )" RDEPEND="qt4? ( dev-qt/qtgui:4 - dev-qt/qtopengl:4 - media-libs/freeglut )" + dev-qt/qtopengl:4 + media-libs/freeglut ) + qt5? ( dev-qt/qtgui:5 + dev-qt/qtopengl:5 + media-libs/freeglut )" DEPEND="${RDEPEND}" src_prepare() { @@ -42,7 +47,15 @@ } src_configure() { - mycmakeargs="$(cmake-utils_use_build "qt4" "APPS")" + local mycmakeargs=( + "$(cmake-utils_use_build "qt4" "APPS")" + "$(cmake-utils_use_build "qt5" "APPS")" + ) + + if use qt4 ; then + mycmakeargs+=( -DFORCE_QT4=on ) + fi + cmake-utils_src_configure }
--- openmesh-3.2.ebuild 2014-08-26 01:14:55.000000000 +0200 +++ - 2014-10-23 15:11:59.199595052 +0200 @@ -16,11 +16,16 @@ LICENSE="LGPL-3-with-linking-exception" SLOT="0" KEYWORDS="~amd64 ~ia64 ~x86" -IUSE="qt4 static-libs" +IUSE="qt4 qt5 static-libs" + +REQUIRED_USE="?? ( qt4 qt5 )" RDEPEND="qt4? ( dev-qt/qtgui:4 - dev-qt/qtopengl:4 - media-libs/freeglut )" + dev-qt/qtopengl:4 + media-libs/freeglut ) + qt5? ( dev-qt/qtgui:5 + dev-qt/qtopengl:5 + media-libs/freeglut )" DEPEND="${RDEPEND}" src_prepare() { @@ -42,7 +47,12 @@ } src_configure() { - mycmakeargs="$(cmake-utils_use_build "qt4" "APPS")" + local mycmakeargs=( + "$(cmake-utils_use qt4 FORCE_QT4)" + "$(cmake-utils_use_build qt4 APPS)" + "$(cmake-utils_use_build qt5 APPS)" + ) + cmake-utils_src_configure }
--- openmesh-3.2.ebuild 2014-08-26 01:14:55.000000000 +0200 +++ - 2014-10-23 20:15:27.874370231 +0200 @@ -16,11 +16,16 @@ LICENSE="LGPL-3-with-linking-exception" SLOT="0" KEYWORDS="~amd64 ~ia64 ~x86" -IUSE="qt4 static-libs" +IUSE="qt4 qt5 static-libs" + +REQUIRED_USE="?? ( qt4 qt5 )" RDEPEND="qt4? ( dev-qt/qtgui:4 - dev-qt/qtopengl:4 - media-libs/freeglut )" + dev-qt/qtopengl:4 + media-libs/freeglut ) + qt5? ( dev-qt/qtgui:5 + dev-qt/qtopengl:5 + media-libs/freeglut )" DEPEND="${RDEPEND}" src_prepare() { @@ -42,7 +47,16 @@ } src_configure() { - mycmakeargs="$(cmake-utils_use_build "qt4" "APPS")" + + local mycmakeargs i + for i in qt4 qt5 ; do + if use ${i} ; then + mycmakeargs+=( -DBUILD_APPS=ON ) + fi + done + + mycmakeargs+=( $(cmake-utils_use qt4 FORCE_QT4) ) + cmake-utils_src_configure }
Would someone with both qt4 and qt5 installed mind verifying that the change I just pushed actually works? + 23 Oct 2014; Justin Bronder <jsbronder@gentoo.org> openmesh-3.2.ebuild: + Prefer qt5 but force qt4 if only the qt4 USE flag is set. #523124
Tested with both Qt4 and Qt5 installed: USE="qt4 qt5" no -DFORCE_QT4 passed, build succeeds USE="qt4 -qt5" build fails, -DFORCE_QT4 passed instead of -DFORCE_QT4=ON With only Qt5 installed: USE="-qt4 qt5" and USE="-qt4 -qt5" builds succeed (-DFORCE_QT4=OFF passed).
--- openmesh-3.2.ebuild 2014-10-23 23:01:12.000000000 +0200 +++ - 2014-10-24 12:46:38.695905095 +0200 @@ -53,7 +53,7 @@ fi if use qt4 && ! use qt5; then - mycmakeargs="${mycmakeargs} -DFORCE_QT4" + mycmakeargs="${mycmakeargs} -DFORCE_QT4=ON" fi cmake-utils_src_configure
(In reply to Alpha Bravo from comment #8) > With only Qt5 installed: > USE="-qt4 qt5" and USE="-qt4 -qt5" builds succeed (-DFORCE_QT4=OFF passed). That's not correct, should be: USE="-qt4 qt5" and USE="-qt4 -qt5" builds succeed (no -DFORCE_QT4 passed). Furthermore BUILD_APPS defaults to true (see CMakeLists.txt): if ( NOT DEFINED BUILD_APPS ) set( BUILD_APPS true CACHE BOOL "Enable or disable building of apps" ) So we don't have the behaviour of the old ebuild anymore, which afaict passed -DBUILD_APPS=OFF when built with USE="-qt4 -qt5"
--- openmesh-3.2.ebuild 2014-10-23 23:01:12.000000000 +0200 +++ - 2014-10-24 13:21:57.167216139 +0200 @@ -48,12 +48,12 @@ src_configure() { mycmakeargs="" - if use qt4 || use qt5; then - mycmakeargs="${mycmakeargs} -DBUILD_APPS=ON" + if ! use qt4 && ! use qt5; then + mycmakeargs="${mycmakeargs} -DBUILD_APPS=OFF" fi if use qt4 && ! use qt5; then - mycmakeargs="${mycmakeargs} -DFORCE_QT4" + mycmakeargs="${mycmakeargs} -DFORCE_QT4=ON" fi cmake-utils_src_configure
With the last patch applied building with USE="qt4 -qt5" succeeds, and apparently links to Qt4, afaict.
+ 24 Oct 2014; Justin Bronder <jsbronder@gentoo.org> openmesh-3.2.ebuild: + Proper qt4 and app handling, #523124. Thanks to Alpha Bravo
(In reply to Alpha Bravo from comment #11) > --- openmesh-3.2.ebuild 2014-10-23 23:01:12.000000000 +0200 > +++ - 2014-10-24 13:21:57.167216139 +0200 > @@ -48,12 +48,12 @@ > src_configure() { > mycmakeargs="" > > - if use qt4 || use qt5; then > - mycmakeargs="${mycmakeargs} -DBUILD_APPS=ON" Please note while this still works, it's deprecated and array style is preferred, for example: local mycmakeargs= mycmakeargs+=( -DBUILD_APPS=ON )