Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 254898 - dev-utils/cmake-2.6.2-r1 fails to install QT GUI with USE=qt4
Summary: dev-utils/cmake-2.6.2-r1 fails to install QT GUI with USE=qt4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-13 22:43 UTC by Nathan Caldwell
Modified: 2009-02-03 21:56 UTC (History)
1 user (show)

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


Attachments
patch to remove local variable declarations. (cmake-gui.patch,596 bytes, patch)
2009-01-17 18:01 UTC, James Wells
Details | Diff
Patch for ebuild cmake-2.6.2-r1.ebuild (cmake-qt-gui.patch,442 bytes, patch)
2009-01-24 21:40 UTC, Jean-Marc Hengen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Caldwell 2009-01-13 22:43:22 UTC
As the title says, the CMake QT GUI isn't installed when USE=qt4 is enabled.

$ emerge --info
Portage 2.2_rc21 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r1, 2.6.28-gentoo x86_64)
=================================================================                                             
System uname: Linux-2.6.28-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9300_@_2.50GHz-with-glibc2.2.5          
Timestamp of tree: Tue, 13 Jan 2009 14:40:01 +0000                                                            
distcc 3.1 x86_64-pc-linux-gnu [disabled]                                                                     
ccache version 2.4 [enabled]                                                                                  
app-shells/bash:     3.2_p48                                                                                  
dev-java/java-config: 1.3.7-r1, 2.1.6-r1                                                                      
dev-lang/python:     2.5.2-r8                                                                                 
dev-util/ccache:     2.4-r8                                                                                   
dev-util/cmake:      2.6.2-r1                                                                                 
sys-apps/baselayout: 2.0.0                                                                                    
sys-apps/openrc:     0.4.1-r1                                                                                 
sys-apps/sandbox:    1.3.2                                                                                    
sys-devel/autoconf:  2.13, 2.63                                                                               
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2                                                
sys-devel/binutils:  2.19                                                                                     
sys-devel/gcc-config: 1.4.0-r4                                                                                
sys-devel/libtool:   2.2.6a                                                                                   
virtual/os-headers:  2.6.28-r1                                                                                
ACCEPT_KEYWORDS="amd64 ~amd64"                                                                                
CBUILD="x86_64-pc-linux-gnu"                                                                                  
CFLAGS="-march=core2 -O3 -pipe"                                                                               
CHOST="x86_64-pc-linux-gnu"                                                                                   
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms split-debug strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://mirror.usu.edu/mirrors/gentoo/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.mirrors.tds.net/gentoo"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/shellbeach"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr amrnb amrwb avahi bash-completion berkdb branding bzip2 cairo cdr cli cracklib crypt dbus dirac dri dts dvb dvd dvdr dvdread emboss encode evo exif fam fbcondecor ffmpeg flac fortran gdbm gif gpm gstreamer gtk hal htmlhandbook iconv ieee1394 inotify ipv6 isdnlog java jpeg kde kerberos libass libnotify libv4l2 lirc lzma lzo mad matroska midi mikmod mmap mmx mmxext mng mp3 mpeg mudflap multilib musicbrainz mythtv ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime rar readline redland reflection samba schroedinger sdl session spell spl sqlite sqlite3 srt sse sse2 sse3 sse4 ssl ssse3 startup-notificationsubversion svg sysfs tcpd theora threads tiff truetype unicode usb v4l2 vnc vorbis x264 xattr xcomposite xml xorg xscreensaver xulrunner xv xvid xvmc zeroconf zip zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspalfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" LIRC_DEVICES="inputlirc" USERLAND="GNU" VIDEO_CARDS="nv nvidia radeon radeonhd fglrx"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 James Wells 2009-01-17 18:01:10 UTC
Created attachment 178804 [details, diff]
patch to remove local variable declarations.

I can confirm the same issue.  It appears to be caused by the use of the local variable declarations.  I have attached a diff.  All I do is comment out the local variable declarations.
Comment 2 Jean-Marc Hengen 2009-01-24 20:01:35 UTC
Needed some time to understand the problem, but it is quite easy. Take a look at:

src_configure() {
    ...

    local qt_arg
    ...
}

src_compile() {
	./bootstrap \
		--system-libs \
		--prefix=/usr \
		--docdir=/share/doc/${PF} \
		--datadir=/share/${PN} \
		--mandir=/share/man \
		"$qt_arg" \
		"$par_arg" || die "./bootstrap failed"

    ...
}

So, what's goes wrong? The local before qt_arg says, qt_arg is only visible in the function, more precise in src_configure. But ./bootstrap with qt_arg is called in src_compile. In the past, this used to be only one function and the error was introduced in 2.6.2, when it was moved to EAPI 2. From the first look, both function needs to be merged in one again, because there's no extra configure script. I will take a look at it and post a patch for the ebuild.
Comment 3 Jean-Marc Hengen 2009-01-24 21:40:48 UTC
Created attachment 179591 [details, diff]
Patch for ebuild cmake-2.6.2-r1.ebuild

I moved the assignment of qt_arg and par_arg back to src_compile. This fixes the issue.
Comment 4 Nathan Caldwell 2009-01-24 22:15:44 UTC
(In reply to comment #2)
> From the first
> look, both function needs to be merged in one again, because there's no extra
> configure script. I will take a look at it and post a patch for the ebuild.
> 
Shouldn't the call to ./bootstrap be moved to src_configure? That's really what it's doing...
Comment 5 Jean-Marc Hengen 2009-01-25 12:23:02 UTC
(In reply to comment #4)
> Shouldn't the call to ./bootstrap be moved to src_configure? That's really what
> it's doing...

camke itself uses cmake to generate a build scripts for itself. ./bootstrap does compile a minimal version of cmake and generates with this minimal cmake all needed build scripts for cmake. Those will be executed by the following emake. So ./bootstrap does both, configure and compile. That's why I left it in src_configure and only moved the pieces of code, which transform the USE and MAKEOPTS to qt_arg and par_arg to src_compile, so both can stay local. I guess, this is more a special case, since normal software doesn't need to bootstrap it's own build script generator.

Comment 6 Tomáš Chvátal (RETIRED) gentoo-dev 2009-02-03 21:56:14 UTC
Thanks, this slipped throught. sorry for that.
Fixed in cvs