Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 445800 - AUTOTOOLS_BUILD_DIR and CMAKE_BUILD_DIR broken in cmake-utils.eclass and autotools-utils.eclass
Summary: AUTOTOOLS_BUILD_DIR and CMAKE_BUILD_DIR broken in cmake-utils.eclass and auto...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Michał Górny
Depends on:
Reported: 2012-12-03 14:05 UTC by Liongene
Modified: 2012-12-09 08:20 UTC (History)
3 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Liongene 2012-12-03 14:05:37 UTC
If an ebuild configures and compiles several versions of particular executables/libraries, it does it in different directories and subsequently installs each variant in the system. The recent changes in both automake and cmake eclasses break these ebuilds in such a way that although all versions will be built, but only the most recently built will be installed since everything is being built in the same directory. Sometimes the build may fail before the installation step (pykde4 case). If such an erroneous build is successful (e.g., fftw), it is possible that dependent programs (e.g., ambertools or gromacs) fail to build correctly.

The simplest solution is to change AUTOTOOLS_BUILD_DIR and CMAKE_BUILD_DIR to BUILD_DIR in all ebuilds that need it. The developer team may of course choose a different solution since I don't have the full picture of how it all works.

Reproducible: Always

Steps to Reproduce:
1. emerge fftw:3.0 # only the most recently built version will be installed
2. layman -a science
3. emerge =sci-chemistry/ambertools-12 # pkg-config fftw3 --libs fails due to the bug in p.1
1. emerge pykde4
Actual Results:  
Build errors and/or only one of several versions of the software/libraries (e.g., single precision instead of single and double precision) is installed which causes build failures of programs that depend on this package.

Expected Results:  
Successful builds of these and dependent packages.

emerge --info
Portage (default/linux/amd64/10.0/desktop/kde, gcc-4.6.3, glibc-2.15-r3, 3.5.7-gentoo x86_64)
System uname: Linux-3.5.7-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_Q_720_@_1.60GHz-with-gentoo-2.1
Timestamp of tree: Mon, 03 Dec 2012 00:45:01 +0000
ld GNU ld (GNU Binutils) 2.22
ccache version 3.1.8 [disabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/ccache:          3.1.8
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.6
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4, 4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo science roslin dberkholz multimedia sunrise x-portage
ACCEPT_LICENSE="* -@EULA dlj-1.1 skype-eula Q3AEULA AdobeFlash-10.3 Oracle-BCLA-JavaSE skype- Intel-SDP"
CFLAGS="-march=native -mtune=native -O2 -pipe -fomit-frame-pointer "
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/polkit-1/actions /var/lib/hsqldb"
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.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -mtune=native -O2 -pipe -fomit-frame-pointer "
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl en"
MAKEOPTS="-j8 -s"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/roslin /var/lib/layman/dberkholz /var/lib/layman/multimedia /var/lib/layman/sunrise /home/leo/portage"
SYNC=" rsync:// "
USE="X a52 aac aacs acl acpi alsa amd64 apache2 apbs asf audiofile autotools bash-completion bcmath bluetooth bluray branding bzip2 cairo caps cdda cdr chm clamav clamdtop cli cmake consolekit cracklib crypt css cuda cups cxx dbus declarative dhcp directfb djvu dri dts dvb dvd dvdr ebook emboss encode exif fam fat fbcon fbcondecor ffmpeg fftw firefox flac float fontconfig fortran ftp gadu gd gdbm gif git gmxmopac7 gpm gstreamer gtk gtk3 hardened httpd iconv icu id3tag imagemagick ipv6 java javascript jpeg justify kde kipi lapack laptop latex lcms ldap libnotify libv4l2 mad matroska midi mmx mng modules monolithic-build motif mp3 mp4 mpeg mpi msms mtp mudflap multilib mysql ncurses nls nptl nsplugin ntfs numpy offensive ogg opencl opengl openmp optimized-qmake pam pango pcre pdf phonon php plasma plotutils png policykit povray ppds pppd python python2 qt3support qt4 quicktime readline reiserfs samba sdl secure-delete semantic-desktop sensord session skins smp spell sse sse2 sse3 sse4 sse4_1 ssl ssse3 startup-notification subversion svg symlink tachyon tcl tcpd teamarena templates threads tiff timidity tk truetype udev udisks unicode upower usb v4l valgrind vcd vlc vmd vorbis webkit wifi winbind wma-fixed wmf wxwidgets x264 xattr xcb xcomposite xine xinerama xml xscreensaver xv xvid zeroconf zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" 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 ubx" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl en" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia" 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"
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-12-08 08:34:42 UTC
I don't know who assigned the bug like this but the eclasses should be already fixed for a few days now, and the remaining ebuilds (which were too hacky to work) were fixed.
Comment 2 Liongene 2012-12-08 22:25:23 UTC
The bug in eclasses themselves was fixed faster than it was assigned. I noticed that currently the affected ebuilds I know of work fine. If the variable names were not fixed by now, a warning is issued while emerging the package. I understand that the support for the old-style variables is temporary and will be removed when all affected ebuilds in the official portage tree are adjusted to the new order. But your plans may be different. If you are convinced this bug should be marked as fixed, please close it.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2012-12-09 08:20:33 UTC
Ok then. The compatibility code will be retained for a longer while as it does not hurt. Overlays should catch up as well.