Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 353834 - media-libs/mesa-7.10: fails to build during a fresh install from minimal livecd because dev-libs/libxml2-2.7.7 isn't pulled in
Summary: media-libs/mesa-7.10: fails to build during a fresh install from minimal live...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-06 11:30 UTC by James Dominy
Modified: 2011-02-15 13:13 UTC (History)
1 user (show)

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


Attachments
Build log (media-libs:mesa-7.10:20110206-111754.log,63.38 KB, text/plain)
2011-02-08 07:54 UTC, James Dominy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description James Dominy 2011-02-06 11:30:28 UTC
I'm installing an x86 laptop from scratch from the minimal install CD. During emerge system with my custom USE flags, media-libs/mesa-7.10 fails to build because it cannot find dev-libs/libxml2-2.7.7.

Reproducible: Always

Steps to Reproduce:
1. Install a fresh x86 system as per handbook
2. Set USE flags
3. emerge -uNDav system

Actual Results:  
emerge system fails (even with --keep-going)

Expected Results:  
dev-libs/libxml2 should be a build time dependency of mesa, or if it is already, it should get emerged prior to mesa.

Portage 2.1.9.36 (default/linux/x86/10.0/desktop, gcc-4.4.4, glibc-2.12.2-r0, 2.6.35-gentoo-r10 i686)
=================================================================
System uname: Linux-2.6.35-gentoo-r10-i686-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4000+-with-gentoo-2.0.1
Timestamp of tree: Sat, 05 Feb 2011 11:45:01 +0000
ccache version 3.1.4 [enabled]
app-shells/bash:     4.1_p9
dev-lang/python:     2.6.6-r1, 2.7.1, 3.1.3
dev-util/ccache:     3.1.4
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc:     0.7.0
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.68
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://192.168.37.1/gentoo ftp://ftp.is.co.za/linux/distributions/gentoo"
LANG="en_ZA.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_ZA en_GB en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
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"
SYNC="rsync://192.168.37.1/gentoo-portage"
USE="X a52 aac acl acpi additions ads aio alsa amr ao apache2 ass athena attrib audiofile auto-completion bash-completion bazaar bcmath bdf berkdb blas bluetooth branding bzip2 cairo caps caps-ng cdda cddb cdparanoia cdr cgi cjk cli client colordiff community consolekit context coverart cracklib cramfs creds crypt cscope css cups cvs cxx darcs dbus detex dhcp directfb discard-path djvu dmx dri drm dso dts dvd dvdnav dvdr dvi dvipdfm dxr3 eap-sim eap-tls emerald enca encode exif expat extensions external-ffmpeg extra extras faac faad fame fastcgi fasteap ffmpeg fftw fileinfo firefox flac fontconfig fontforge force-cgi-redirect fortran fpm ftp fuse gadu games gd gdbm gdu gecko gif gimp glibc-omitfp glitz gnuplot gnutls gpg gphoto2 gpm graphics graphite gs gsl gsm gstreamer gtk hash hpn humanities icons iconv id3 id3tag idn imagemagick imap innodb intl ioctl ipc ipod ipv6 jabber jadetex java java6 javascript jingle jit jpeg kpathsea lame lapack latex latex3 lcdfilter lcms ldap libffi libnotify lightning lm_sensors lock logrotate lua luatex lzma lzo mad maildir math matplotlib matroska md5sum mercurial midi mikmod mime mirage mmap mmx mmxext mng modules mozilla mp3 mp4 mpeg mpg123 mplayer mppe-mppc mtp mudflap multitarget multiuser musepack music musicbrainz mysql mysqli ncurses network new-login nls nptl nptlonly nsplugin ntfs ntlm ntp nvidia ocaml offensive ogg omega openal opengl openmp optimization osc osdmenu pam pam_ssh pango pcf pcntl pcre pda pdf pdo perl pg-intdatetime pgf phar php pixmaps plotutils pm-utils pnat png pnm podcast policykit posix postgres ppds pppd proj pstricks python qt3support qt4 raw readline recode reiser4 reiserfs remix rss rtc rtmp samba schroedinger science sdl session sha512 sharedext sharedmem shm slang smbclient smp sockets sound spell sse sse2 ssl startup-notification strong-optimization subversion svg swat sysfs syslog sysvipc t1lib taglib tcpd tex4ht theora thin-splines threads thunar tiff timidity tk truetype twolame type3 udev ukit unicode unsupported urandom usb utils vcd vdpau vhosts vidix vim-syntax voice vorbis vpx wav web webdav webdav-neon webinterface wide-unicode wifi wikipedia wimax win32codecs wininst wma wmf wps wxwidgets x264 x86 xanim xattr xcb xcomposite xetex xindy xinerama xinetd xklavier xml xmlreader xmlrpc xmlwriter xorg xosd xpm xscreensaver xulrunner xv xvid xvmc yahoo youtube zip zlib zoran" ALSA_CARDS="seq-dummy intel-hda-snd" 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" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_ZA en_GB en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" 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, PORTDIR_OVERLAY
Comment 1 Rafał Mużyło 2011-02-06 16:31:16 UTC
Attach full build log.
Comment 2 James Dominy 2011-02-08 07:54:02 UTC
Created attachment 261789 [details]
Build log

Sorry about that, I've attached it now
Comment 3 Rafał Mużyło 2011-02-10 12:18:40 UTC
It seems it's a matter of order: mesa does depend on libxml2[python],
but you've got both python 2.6 and 2.7, so it's likely things will get working again after python-updater and 'eselect python'.

On unrelated note: 'ACCEPT_KEYWORDS="x86 ~amd64"' is just asking for trouble, keep it in one arch.
Comment 4 James Dominy 2011-02-11 11:16:46 UTC
(In reply to comment #3)
> It seems it's a matter of order: mesa does depend on libxml2[python],
> but you've got both python 2.6 and 2.7, so it's likely things will get working
> again after python-updater and 'eselect python'.
> 
> On unrelated note: 'ACCEPT_KEYWORDS="x86 ~amd64"' is just asking for trouble,
> keep it in one arch.
> 

This is a fresh install, any reason I would be getting two versions of python?

re ACCEPT_KEYWORDS: Thanks for spotting that, copied my make.conf over from an amd64 machine and edited. Fixed now.
Comment 5 James Dominy 2011-02-11 11:25:41 UTC
Surely I shouldn't have to run python-updater during a system install, especially if it's needed mid 'emerge system'.

Mind you I think I've figured this out. The stage3 contains python-2.6. When I edited make.conf with ACCEPT_KEYWORDS="~x86" (ignoring the ~amd64 screw up) python-2.7 was installed. But none of the python modules were updated (hence as you say a need for python-updater), although given my USE flags there was a bunch of extra stuff pulled into system, including mesa.

Is there a way to make this sort of ting not require manual intervention. It occurs to me that having portage check python dependencies specially might do the trick, e.g. check not only that they've been emerged, but also that they were emerged into the current version of python. I don't know how hard this would be to implement. 
Comment 6 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-02-11 14:27:58 UTC
It is possible that your amd64 make.conf also set CHOST in a way that would break things.

The stage3 that you used for installation is stable. If you upgrade to unstable python, then running python-updater is needed.
Comment 7 James Dominy 2011-02-15 07:39:02 UTC
re copying the amd64 make.conf, I took the stage 3 make.conf's values and replaced the amd64 make.conf values with them. As you can see in my emerge info, the CHOST value is the standard.

re python updater and upgrading to arch, thanks for the explanation. It makes sense now why it's necessary. I only wonder now if it can't be automatic? Would it be unreasonably difficult to treat certain packages like portage, such the when they are upgraded, the current emerge pause, reloads with new version of portage, and continues. Except instead of reloading portage, python-updater or perl-cleaner could be run, and maybe force an eselect on the user (although this makes the process interactive which may not be desirable)
Comment 8 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-02-15 13:13:51 UTC
Marking as WORKSFORME.

Regarding python-updater, there are already open bugs (e.g. bug 73978) where this is discussed.