Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 516470 - =media-libs/mesa-10.2.2 requires libudev to build, which isn't available on non-udev installs.
Summary: =media-libs/mesa-10.2.2 requires libudev to build, which isn't available on n...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 513736
  Show dependency tree
 
Reported: 2014-07-05 22:37 UTC by Joshua Kinard
Modified: 2014-12-03 09:58 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Kinard gentoo-dev 2014-07-05 22:37:43 UTC
Per comment #11 on bug #504356, mesa upstream appears to have forced libudev as a requirement for 10.2.x on Linux systems for DRI (non-Linux systems do not need it).  Since I am running with mdev on a few of my installs, this results in a build failure, and may need additional patching to resolve:

checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... no
checking for LIBDRM... yes
checking for LIBUDEV... no
checking for GLPROTO... yes
checking for DRI2PROTO... yes
checking for XF86VIDMODE... yes
checking for DRIGL... yes
configure: error: libudev-dev required for building DRI

!!! Please attach the following file when seeking support:
!!! /ramfs/portage/media-libs/mesa-10.2.2/work/Mesa-10.2.2-abi_x86_64.amd64/config.log
 * ERROR: media-libs/mesa-10.2.2::gentoo failed (configure phase):
 *   econf failed
 *
 * Call stack:
 *          ebuild.sh, line   93:  Called src_configure
 *        environment, line 4897:  Called multilib-minimal_src_configure
 *        environment, line 3215:  Called multilib_parallel_foreach_abi 'multilib-minimal_abi_src_configure'
 *        environment, line 3505:  Called multibuild_parallel_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 3108:  Called multibuild_foreach_variant '_multibuild_parallel' '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 3051:  Called _multibuild_run '_multibuild_parallel' '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 3049:  Called _multibuild_parallel '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *        environment, line 3099:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *        environment, line  774:  Called multilib-minimal_abi_src_configure
 *        environment, line 3209:  Called multilib_src_configure
 *        environment, line 3679:  Called econf '--enable-dri' '--enable-glx' '--enable-shared-glapi' '--enable-texture-float' '--disable-debug' '--disable-dri3' '--enable-egl' '--disable-gbm' '--disable-gles1' '--disable-gles2' '--enable-glx-tls' '--disable-osmesa' '--disable-asm' '--enable-llvm-shared-libs' '--with-dri-drivers=,swrast' '--with-gallium-drivers=,swrast' 'PYTHON2=/usr/bin/python2.7' '--with-egl-platforms=x11' '--enable-gallium-llvm' '--disable-openvg' '--disable-gallium-egl' '--disable-omx' '--disable-r600-llvm-compiler' '--disable-vdpau' '--disable-xa' '--disable-xvmc' '--disable-glx-rts'
 *   phase-helpers.sh, line  584:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *
Comment 1 Joshua Kinard gentoo-dev 2014-07-05 22:38:54 UTC
# emerge --info
Portage 2.2.10 (hardened/linux/amd64, gcc-4.9.0, glibc-2.19-r1, 3.14.4 x86_64)
=================================================================
System uname: Linux-3.14.4-x86_64-Intel-R-_Core-TM-_i7_CPU_960_@_3.20GHz-with-gentoo-2.2
KiB Mem:    16522568 total,   8754076 free
KiB Swap:    4209024 total,   4190212 free
Timestamp of tree: Sat, 05 Jul 2014 19:30:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 3.1.9 [disabled]
app-shells/bash:          4.2_p47
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.7, 3.2.5-r4, 3.3.5, 3.4.0
dev-util/ccache:          3.1.9-r3
dev-util/cmake:           2.8.12.2-r1
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.4_p6-r1, 1.5-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.6, 1.12.6, 1.13.4, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.7.4, 4.8.2, 4.9.0
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.15 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo local
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=corei7 -mtune=corei7  -mfpmath=sse -msse -msse2 -mssse3 -msse4.1 -msse4.2  -mcx16 -msahf -mcrc32 -maccumulate-outgoing-args  -fforce-addr -fmodulo-sched -fivopts  -ftree-loop-im -ftree-loop-linear -ftree-loop-ivcanon  -fgcse-after-reload -fgcse-lm -fgcse-sm -fgcse-las  -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block  -ftree-vectorize -flto=8 -fuse-linker-plugin"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/init.d /etc/pam.d /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="-O2 -march=corei7 -mtune=corei7  -mfpmath=sse -msse -msse2 -mssse3 -msse4.1 -msse4.2  -mcx16 -msahf -mcrc32 -maccumulate-outgoing-args  -fforce-addr -fmodulo-sched -fivopts  -ftree-loop-im -ftree-loop-linear -ftree-loop-ivcanon  -fgcse-after-reload -fgcse-lm -fgcse-sm -fgcse-las  -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block  -ftree-vectorize -flto=8 -fuse-linker-plugin"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sfperms sign unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
INSTALL_MASK="/usr/lib/systemd /etc/systemd"
LANG="en_US.iso885915"
LDFLAGS="-O2 -march=corei7 -mtune=corei7  -mfpmath=sse -msse -msse2 -mssse3 -msse4.1 -msse4.2  -mcx16 -msahf -mcrc32 -maccumulate-outgoing-args  -fforce-addr -fmodulo-sched -fivopts  -ftree-loop-im -ftree-loop-linear -ftree-loop-ivcanon  -fgcse-after-reload -fgcse-lm -fgcse-sm -fgcse-las  -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block  -ftree-vectorize -flto=8 -fuse-linker-plugin -Wl,-z,now -Wl,-z,relro"
MAKEOPTS="-j9"
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="/ramfs"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local"
USE="amd64 apache2 berkdb bzip2 cli cracklib curl cxx dbus dri encode gd gdbm graphite hardened inotify ipv6 justify ldap lto mmx modules multilib ncurses nptl nptlonly offensive openmp pam pax_kernel pcre pic readline real rtc session sqlite sse sse2 ssl tcpd unicode urandom xml 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="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 cgi cgid 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 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" INPUT_DEVICES="keyboard mouse evdev" 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" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="vesa vga fbdev" 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, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2014-07-06 19:43:19 UTC
Some observations:

* Upstream forces udev only on Linux. This is because they do not want to support udev-less configurations on Linux.
* We could simply disable the configure.ac check and issue a warning to the user that mesa might not work properly (e.g. not find the correct driver filename automatically).
* Most stuff apparently works without udev, DRI3 being one exception.
Comment 3 Joshua Kinard gentoo-dev 2014-07-06 20:25:13 UTC
I have to wonder how mesa is dealt with in embedded situations where they use mdev.  I'm on the buildroot ML, but I don't recall if anything mesa-related involving udev has gone by.

I did find this, though:
https://bugs.freedesktop.org/show_bug.cgi?id=75212

Per comment #6, would it make sense to have a separate libudev package from udev or eudev to provide the udev support that mesa is looking for?
Comment 4 Pacho Ramos gentoo-dev 2014-11-15 09:08:06 UTC
(In reply to Joshua Kinard from comment #3)
[...]
> Per comment #6, would it make sense to have a separate libudev package from
> udev or eudev to provide the udev support that mesa is looking for?

Isn't possible to install udev package even only for using libudev from it and people finally booting using mdev?
Comment 5 Matt Turner gentoo-dev 2014-11-19 22:08:32 UTC
I've recommended to _AxS_ that we use the --enable-sysfs flag, which lets the loader query stuff in /sys rather than using libudev.
Comment 6 Ian Stakenvicius (RETIRED) gentoo-dev 2014-11-25 20:12:33 UTC
+  25 Nov 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
+  +files/mesa-10.2-sysfs-instead-of-libudev.patch, mesa-10.2.8.ebuild,
+  mesa-10.3.0.ebuild, mesa-10.3.1.ebuild, mesa-10.3.4.ebuild, metadata.xml:
+  Added sysfs use flag to allow libudev to be optional on linux, backported to
+  10.2.8 for stabilization
+
Comment 7 Nikoli 2014-11-26 08:40:34 UTC
I think 'udev' is better name for USE flags:
1) nothing in tree has 'sysfs'
2) a lot packages have 'udev' USE flags
3) it controls udev dep in mesa ebuilds