Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 297094 - x11-drivers/xf86-video-virtualbox-3.1.0 should depend on media-libs/mesa
Summary: x11-drivers/xf86-video-virtualbox-3.1.0 should depend on media-libs/mesa
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Patrick Lauer
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-15 19:59 UTC by Raffaello D. Di Napoli
Modified: 2010-06-08 19:33 UTC (History)
2 users (show)

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


Attachments
Build log with (tons of) evidence (xf86-video-virtualbox-3.1.0-build.log,99.14 KB, text/plain)
2009-12-15 20:20 UTC, Raffaello D. Di Napoli
Details
Patch for xf86-video-virtualbox-3.1.2 to pull in mesa (RDEPEND-on-mesa.patch,427 bytes, patch)
2010-01-14 14:26 UTC, Raffaello D. Di Napoli
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Raffaello D. Di Napoli 2009-12-15 19:59:20 UTC
Hi all,
x11-drivers/xf86-video-virtualbox-3.1.0 depends on media-libs/mesa, but does not declare so.

Trying to emerge xf86-video-virtualbox without having mesa installed, results in hundreds of compilation errors from missing definitions.
Emerging mesa brings in the necessary include/GL/* files, so, at least at build time, mesa is a dependency.


I’m still emerging stuff in this new VM, and it’ll be a while before I’ll be able to run X.org and see whether the missing dependency is actually hiding something else (such as requiring other ebuilds to USE opengl, or whatever).


Reproducible: Always

Steps to Reproduce:
1. Make sure you don’t have mesa installed, as in my case.
2. FEATURES=-distcc emerge -v1 xf86-video-virtualbox
(I use distcc, which fails kmake builds, so here it’s disabled)

Actual Results:  
Compilation stage fails with lots of “undefined identifier” from the absence of any OpenGL-related files:

[...]/VirtualBox-3.1.0_OSE/src/VBox/GuestHost/OpenGL/include/chromium.h:41:19: error: GL/gl.h: No such file or directory
[...]/VirtualBox-3.1.0_OSE/src/VBox/GuestHost/OpenGL/include/chromium.h:44:20: error: GL/glu.h: No such file or directory
[...]/VirtualBox-3.1.0_OSE/src/VBox/GuestHost/OpenGL/include/chromium.h:52:20: error: GL/glx.h: No such file or directory


Expected Results:  
Build should succeed.

emerge --info
Portage 2.1.6.13 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r8-i686-Intel-R-_Core-TM-2_Duo_CPU_T5550_@_1.83GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 15 Dec 2009 10:00:01 +0000
distcc 3.1 i686-pc-linux-gnu [enabled]
app-shells/bash:     4.0_p35
dev-lang/python:     2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distcc distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="it"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync.exclude"
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://rsync.gentoo.org/gentoo-portage"
USE="X acl avahi branding bzip2 cli cxx dbus dri gnome gtk iconv jpeg libnotify minimal mmx modules mudflap ncurses networkmanager nls nptl nptlonly offensive pcre pppd reflection session spl sse ssl svg sysfs tcpd unicode webkit x86 xattr xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 ladspa lfloat 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="keyboard mouse virtualbox" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="virtualbox"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY
Comment 1 Raffaello D. Di Napoli 2009-12-15 20:20:33 UTC
Created attachment 213132 [details]
Build log with (tons of) evidence
Comment 2 Patrick Lauer gentoo-dev 2010-01-04 18:19:21 UTC
[binary  N    ] x11-libs/libXdamage-1.1.2  USE="-debug"
[ebuild  N    ] media-libs/mesa-7.7-r1  USE="gallium nptl xcb -debug -motif -pic (-selinux)" VIDEO_CARDS="-intel -mach64 -mga -none -nouveau -r128 -radeon -radeonhd -savage -sis (-sunffb) -svga -tdfx -via" 0 kB
[ebuild  N    ] x11-base/xorg-server-1.7.3.902  USE="ipv6 nptl xorg -debug -dmx -hal -kdrive -minimal -sdl -tslib" 0 kB
[binary  N    ] x11-drivers/xf86-input-keyboard-1.4.0  USE="-debug"
[ebuild  N    ] x11-drivers/xf86-input-evdev-2.3.2  USE="-debug" 0 kB
[binary  N    ] x11-drivers/xf86-input-mouse-1.5.0  USE="-debug"
[binary  N    ] x11-drivers/xf86-video-virtualbox-3.1.0  USE="dri -debug"
[binary  N    ] x11-base/xorg-drivers-1.7  INPUT_DEVICES="evdev keyboard mouse -acecad -aiptek -joystick -synaptics -tslib -virtualbox -vmmouse -void -wacom" VIDEO_CARDS="-apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx (-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport) -nv -nvidia -r128 -radeon -radeonhd -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"


Cannot reproduce - mesa gets pulled in here
Comment 3 Raffaello D. Di Napoli 2010-01-14 14:22:37 UTC
(In reply to comment #2)
> [ebuild  N    ] media-libs/mesa-7.7-r1  USE="gallium nptl xcb -debug -motif
> -pic (-selinux)" VIDEO_CARDS="-intel -mach64 -mga -none -nouveau -r128 -radeon
> -radeonhd -savage -sis (-sunffb) -svga -tdfx -via" 0 kB
> [ebuild  N    ] x11-base/xorg-server-1.7.3.902  USE="ipv6 nptl xorg -debug
> -dmx -hal -kdrive -minimal -sdl -tslib" 0 kB

> Cannot reproduce - mesa gets pulled in here

Mmm, yes, but I have +minimal, while you don’t.
Checking with equery on the host computer (which is rather empty, too), I can see this does make a difference:

x11-base/xorg-server-1.6.5-r1 (!minimal? >=media-libs/mesa-7.3_rc1[nptl=])

So, in my VirtualBox guest Gentoo, xorg-server does not depend on mesa because of USE=minimal, and nothing else is there to bring it in, hence my problems compiling.

I’d say, either xf86-video-virtualbox depends on mesa directly, or it depends on xorg-server[!minimal].
Comment 4 Raffaello D. Di Napoli 2010-01-14 14:26:24 UTC
Created attachment 216505 [details, diff]
Patch for xf86-video-virtualbox-3.1.2 to pull in mesa

This patch causes xf86-video-virtualbox-3.1.2 to depend explicitly on mesa if xorg-server was build with USE=minimal.
Comment 5 Raffaello D. Di Napoli 2010-01-14 14:32:04 UTC
Before the patch, “emerge --depclean -av” would ask to remove mesa, since I had previously temporarily emerged it with --one-shot, just to build xf86-video-virtualbox.

After patching and re-emerging xf86-video-virtualbox, mesa is no longer a candidate for --depclean.
Comment 6 Raffaello D. Di Napoli 2010-01-14 18:21:59 UTC
Nevermind, that doesn’t fix it.
I mean, it does compile okay, but it won’t succeed loading the driver, because it will keep needing DRI to be loaded (even with USE=-dri), but xorg-server built with USE=minimal won’t create /usr/lib/opengl/xorg-x11/extensions/libdri.so .

I believe that, short of playing with the Makefile and the ebuild, the ebuild should RDEPEND on x11-base/xorg-server[-minimal] (as opposed to the current x11-base/xorg-server).
Comment 7 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2010-06-08 19:33:51 UTC
+  08 Jun 2010; Lars Wendler <polynomial-c@gentoo.org>
+  xf86-video-virtualbox-3.1.8-r1.ebuild, xf86-video-virtualbox-3.2.2.ebuild,
+  xf86-video-virtualbox-3.2.4.ebuild:
+  xf86-video-virtualbox needs libdri.so so it won't work with minimal
+  xorg-server. Thanks to Raffaello D. Di Napoli for reporting (bug #297094).
+