In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:45:17: error: drm.h: no such file or directory In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:285: error: expected declaration specifiers or ‘...’ before ‘drm_clip_rect_t’ /usr/include/GL/internal/dri_interface.h:287: error: expected declaration specifiers or ‘...’ before ‘drm_clip_rect_t’ /usr/include/GL/internal/dri_interface.h:341: error: expected declaration specifiers or ‘...’ before ‘drm_clip_rect_t’ /usr/include/GL/internal/dri_interface.h:603: error: expected declaration specifiers or ‘...’ before ‘drm_drawable_t’ /usr/include/GL/internal/dri_interface.h:611: error: expected declaration specifiers or ‘...’ before ‘drm_context_t’ make[1]: *** [glxdriswrast.lo] Error 1 Reproducible: Always Steps to Reproduce: 1. USE="-dri nptl" ACCEPT_KEYWORDS="~x86" emerge -av xorg-server 2. 3. emerge --info Portage 2.1.4.4 (default/linux/x86/2008.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.24-gentoo-r8 i686) ================================================================= System uname: 2.6.24-gentoo-r8 i686 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz Timestamp of tree: Sat, 06 Sep 2008 09:34:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r14 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" 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" ANT_HOME="/usr/share/ant" 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" ARCH="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CCACHE_SIZE="2G" CFLAGS="-march=native -O2 -pipe" CHOST="i686-pc-linux-gnu" CLASSPATH="." CLEAN_DELAY="5" COLORFGBG="15;default" COLORTERM="rxvt" CONFIG_PROTECT="" CONFIG_PROTECT_MASK="/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/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CONSOLE="/dev/console" CVS_RSH="ssh" CXXFLAGS="-march=native -O2 -pipe" DESKTOP="Enlightenment-0.17.0" DESKTOP_STARTUP_ID="E_START|12" DISPLAY=":0.0" DISTDIR="/usr/portage/distfiles" E17_WANT_AUTOMAKE="1.9" EDITOR="/usr/bin/vim" EINFO_LOG="/etc/init.d/xdm" ELIBC="glibc" EMERGE_DEFAULT_OPTS="-v" EMERGE_WARNING_DELAY="10" E_CONF_PROFILE="default" E_IPC_SOCKET="/tmp/enlightenment-marcin/disp-:0.0-17016" E_RESTART="1" E_START="/usr/bin/enlightenment_start" E_START_TIME="1220696596.0" FEATURES="ccache collision-protect distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 ${URI} -P ${DISTDIR}" GCC_SPECS="" GDK_USE_XFT="1" GENERATION="2" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl/" GUILE_LOAD_PATH="/usr/share/guile/1.8" HOME="/home/marcin" HTTP_PROXY="http://127.0.0.1:8118/" INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.1/info" INIT_VERSION="sysvinit-2.86" INPUT_DEVICES="keyboard mouse" JAVAC="/etc/java-config-2/current-system-vm/bin/javac" JAVA_HOME="/etc/java-config-2/current-system-vm" JDK_HOME="/etc/java-config-2/current-system-vm" KERNEL="linux" LADSPA_PATH="/usr/lib/ladspa" LANG="pl_PL.UTF-8" LANGUAGE="pl_PL.UTF-8" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LC_ALL="pl_PL.UTF-8" LC_MESSAGES="pl_PL.UTF-8" LDFLAGS="-Wl,-O1" LDPATH="/usr/local/lib://usr//lib/opengl/xorg-x11/lib:/usr/i686-pc-linux-gnu/lib:/usr/lib/gcc/i686-pc-linux-gnu/4.3.1:/usr/lib/nspr:/usr/lib/nss:/opt/sun-jdk-1.4.2.17/jre/lib/i386/:/opt/sun-jdk-1.4.2.17/jre/lib/i386/native_threads/:/opt/sun-jdk-1.4.2.17/jre/lib/i386/classic/:/opt/sun-jdk-1.4.2.17/jre/lib/i386/server/:/usr/games/lib:/usr/lib/libstdc++-v3/" LESS="-R -M --shift 5" LESSOPEN="|lesspipe.sh %s" LINGUAS="pl" LOGNAME="marcin" LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:" MAIL="/var/mail/marcin" MAKEOPTS="-j5" MANPAGER="vimmanpager" MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.3.1/man:/opt/sun-jdk-1.4.2.17/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/" NIE=" -gnome -kde -esd -arts -qt3 -xine -xmms -qt -qt4 -xscreensaver -oss -fbcon" OPENGL_PROFILE="nvidia" PAGER="/usr/bin/less" PANTS="ON" PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:/opt/sun-jdk-1.4.2.17/bin:/opt/sun-jdk-1.4.2.17/jre/bin:/opt/sun-jdk-1.4.2.17/jre/javaws:/usr/games/bin" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="ppc s390 amd64 x86 ppc64 x86-fbsd m68k arm sparc sh mips ia64 alpha hppa sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib/portage/bin" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_IUSE="^(alpha|alsa_cards_aoa|alsa_cards_aoa-fabric-layout|alsa_cards_aoa-onyx|alsa_cards_aoa-soundbus|alsa_cards_aoa-soundbus-i2s|alsa_cards_aoa-tas|alsa_cards_aoa-toonie|alsa_cards_armaaci|alsa_cards_at91-soc|alsa_cards_at91-soc-eti-b1-wm8731|alsa_cards_au1x00|alsa_cards_harmony|alsa_cards_powermac|alsa_cards_pxa2xx-i2sound|alsa_cards_pxa2xx-soc|alsa_cards_pxa2xx-soc-corgi|alsa_cards_pxa2xx-soc-poodle|alsa_cards_pxa2xx-soc-spitz|alsa_cards_pxa2xx-soc-tosa|alsa_cards_sa11xx-uda1341ts|alsa_cards_sun-amd7930|alsa_cards_sun-cs4231|alsa_cards_sun-dbri|altivec|amd64|aqua|arm|bmp|bmpx|bootstrap|build|coreaudio|crosscompile_opts_.*|elibc_.*|elibc_Darwin|elibc_DragonFly|elibc_FreeBSD|elibc_NetBSD|elibc_OpenBSD|elibc_glibc|elibc_uclibc|emul-linux-x86|hppa|ia64|ibm|infopipe|kernel_.*|kernel_Darwin|kernel_FreeBSD|kernel_linux|m68k|mips|mplayer-bin|multilib|n32|n64|pam_console|pbbuttonsd|ppc|ppc64|ppcsha1|s390|selinux|sh|sparc|sparc-fbsd|uclibc|ultra1|userland_.*|userland_BSD|userland_Darwin|userland_GNU|video_cards_impact|video_cards_newport|video_cards_sunbw2|video_cards_suncg14|video_cards_suncg3|video_cards_suncg6|video_cards_sunffb|video_cards_sunleo|video_cards_suntcx|vis|x86|x86-fbsd|xmms)$" PORTAGE_NICENESS="15" PORTAGE_PYM_PATH="/usr/lib/portage/pym" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/banned_branches" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="3" PORTAGE_TMPDIR="/var/tmp" PORTAGE_USE="elibc_glibc kernel_linux userland_GNU x86" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/enlightenment /usr/local/portage/layman/sunrise /usr/local/portage/addons" PRELINK_PATH_MASK="/usr/lib/klibc" PREVLEVEL="N" PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] " PWD="/home/marcin" PYTHONPATH="/usr/lib/portage/pym" RC_SERVICE="/etc/init.d/xdm" RC_SVCNAME="xdm" RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O ${DISTDIR}/${FILE} ${URI}" ROOT="/" ROOTPATH="/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:/opt/sun-jdk-1.4.2.17/bin:/opt/sun-jdk-1.4.2.17/jre/bin:/opt/sun-jdk-1.4.2.17/jre/javaws" RPMDIR="/usr/portage/rpm" RUNLEVEL="S" SGML_CATALOG_FILES="/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook.cat:/etc/sgml/sgml-lite.cat:/etc/sgml/xml-docbook-4.4.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/sgml-ent.cat" SHELL="/bin/bash" SHLVL="4" SVCNAME="xdm" SYNC="rsync://rsync.gentoo.org/gentoo-portage" TAK="X mmx sse sse2 gtk2 gtk nls mp3 theora alsa spell slang pdf ogg vorbis png jpeg musepack vim mplayer mpeg vim-syntax xv acpi apm bash-completion cdr dvd java 7zip avi imlib truetype nsplugin gnutls dbus cdr dvd dvdr wifi libnotify opengl threads svg cairo nptl hal xulrunner fam flac" TERM="rxvt" USE="7zip X acl acpi alsa apm avi bash-completion berkdb bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr fam flac fortran gdbm gnutls gpm gtk gtk2 hal iconv imlib ipv6 isdnlog java jpeg libnotify midi mmx mp3 mpeg mplayer mudflap musepack ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png pppd python readline reflection session slang spell spl sse sse2 ssl svg sysfs tcpd theora threads truetype unicode vim vim-syntax vorbis wifi x86 xorg xulrunner xv 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" USERLAND="GNU" VIDEO_CARDS="nvidia nv" USER="marcin" USERLAND="GNU" USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS USERLAND VIDEO_CARDS" USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d" VIDEO_CARDS="nvidia nv" VMHANDLE="sun-jdk-1.4" WINDOWID="14680186" XAUTHORITY="/home/marcin/.Xauthority" _="/usr/bin/emerge" http_proxy="http://127.0.0.1:8118/"
I can confirm this. Portage 2.2_rc8 (default/linux/x86/2008.0/desktop, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.27-rc5-zen1 i686) ================================================================= System uname: Linux-2.6.27-rc5-zen1-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-glibc2.0 Timestamp of tree: Sat, 06 Sep 2008 12:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6-r1 dev-lang/python: 2.5.2-r7 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r3 sys-devel/autoconf: 2.13, 2.62-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.26 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=native -fno-ident -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=native -fno-ident -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu" LINGUAS="en" MAKEOPTS="-j3" 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/layman/devnull /usr/local/portage/layman/mpd /usr/local/portage/layman/foobar /usr/local/portage/layman/zen-overlay" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X a52 aac alsa bash-completion berkdb branding bzip2 cairo cdparanoia cdr cli cracklib crypt cups dts dvd dvdr dvdread emboss encode fam firefox fortran gdbm gif gpm gstreamer gtk iconv isdnlog jpeg libnotify logrotate mad midi mikmod mmx mmxext mp3 mpeg mudflap ncurses newspr nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png pppd python quicktime readline reflection sdl session smp spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode urandom usb userlocales vcd vim vim-syntax vorbis win32codecs x264 x86 xcomposite xml xorg xv xvid zlib zsh-completion" 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
What version of libdrm do you have? That is the package that ought to contain /usr/include/drm/drm.h Also, please attach a full build log.
edit /usr/include/GL/internal/dri_interface.h and search for #include <drm.h>,change it to #include <drm/drm.h>
^ this worked for me thx
I can confirm bug and solution proposed by yegle.
Solution proposed by yegle works. Thanks
It's probably supposed to get a header path from pkg-config of some dri/drm-related package that isn't installed. Could someone paste the compiler line that fails, not just the error messages afterwards?
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus -I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -I/usr/include/pixman-1 -I../include -I../include -I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi -I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb -DXFree86Server -D__GLX_ALIGN64 -march=opteron -mtune=opteron -O2 -finline-functions -pipe -MT glxdriswrast.lo -MD -MP -MF .deps/glxdriswrast.Tpo -c glxdriswrast.c -fPIC -DPIC -o .libs/glxdriswrast.o In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:45:17: error: drm.h: No such file or directory In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:285: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:287: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:341: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:603: error: expected declaration specifiers or '...' before 'drm_drawable_t' /usr/include/GL/internal/dri_interface.h:611: error: expected declaration specifiers or '...' before 'drm_context_t' make[1]: *** [glxdriswrast.lo] Error 1 make[1]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.5.0/work/xorg-server-1.5.0/glx' make: *** [all-recursive] Error 1
Created attachment 164969 [details, diff] mesa-7.1-gl-pkgconfig-fix.diff You were right Donnie. I looked into the three pkg-config files provided by mesa and after I did the change to /usr/lib/pkgconfig/gl.pc shown in the attached patch, xorg-server-1.5.0 compiled flawlessly. So mesa's gl.pc is to blame here or rather the build script which fails to create a complete gl.pc file.
Created attachment 164970 [details, diff] mesa-7.1.ebuild.diff To be more precise, xorg-server's build system calls "pkg-config --cflags gl" which returns an empty string instead of "-I/usr/include/drm". The attached ebuild diff should take care of the problem but I'm not sure if this is a feasible solution.
Why was this bug closed? Until the ebuild is somehow patched, there's no reason to close this. Thanks
I can confirm this bug and the last solution provided by 'Lars (Polynomial-C)'.
As I said previously, after applying the last solution from 'Lars (Polynomial-C)' my xorg-server compiles and runs correctly. However I noticed I have this in my /var/log/Xorg.0.log: ... (II) "dri" will be loaded by default. ... (II) LoadModule: "dri" (WW) Warning, couldn't open module dri (II) UnloadModule: "dri" (EE) Failed to load module "dri" (module does not exist, 0) Is that problematic?
(In reply to comment #13) > ... > Is that problematic? I'm getting those dri load-error messages for ages. However it doesn't seem to cause any trouble so I don't care.
Patch and ebuild for mesa-7.1 helped, xorg-server 1.5.0 compiled and is working. But fails again to build with mesa-7.2_rc1 [new USE -ast, so emerge -uDN world want's to rebuild xorg-s]. Any chances for new fixes? In file included from glxdricommon.c:35: /usr/include/GL/internal/dri_interface.h:45:17:In file included from glxdriswrast.c:39: error: /usr/include/GL/internal/dri_interface.h:45:17:drm.h: No such file or directory In file included from glxdricommon.c:35: /usr/include/GL/internal/dri_interface.h:285: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:287: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:341: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:603: error: expected declaration specifiers or '...' before 'drm_drawable_t' /usr/include/GL/internal/dri_interface.h:611: error: expected declaration specifiers or '...' before 'drm_context_t' error: drm.h: No such file or directory
Confirmed. HPPA has dri use.masked, so this bug blocks keywording. After unmasking it (no use on HPPA since no DRI cards are actually supported on the platform) and x11-proto/xf86driproto-2.0.4 was emerged, the xorg-server-1.5 build easily passed the problematic bit.
this still exists with media-libs/mesa-7.2
I just tried to compile x11-base/xorg-server-1.5.1 with media-libs/mesa-7.2. It still fails: In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:45:17: error: drm.h: No such file or directory In file included from glxdriswrast.c:39: /usr/include/GL/internal/dri_interface.h:285: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:287: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:341: error: expected declaration specifiers or '...' before 'drm_clip_rect_t' /usr/include/GL/internal/dri_interface.h:603: error: expected declaration specifiers or '...' before 'drm_drawable_t' /usr/include/GL/internal/dri_interface.h:611: error: expected declaration specifiers or '...' before 'drm_context_t' make[1]: *** [glxdriswrast.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... mv -f .deps/glxext.Tpo .deps/glxext.Plo make[1]: Leaving directory `/var/tmp/portage/x11-base/xorg-server-1.5.1/work/xorg-server-1.5.1/glx' make: *** [all-recursive] Error 1 * * ERROR: x11-base/xorg-server-1.5.1 failed. USE="hal nptl sdl xorg -3dfx -debug -dmx -dri* -ipv6 -kdrive -minimal" INPUT_DEVICES="keyboard mouse synaptics -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev* -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax -penmount -spaceorb -summa -tek4957 -ur98 -vmmouse -void -wacom" VIDEO_CARDS="nv nvidia v4l vesa -apm -ark -ast -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx -geode -glint -i128 -i740 -i810 (-impact) -imstt -mach64 -mga -neomagic (-newport) -nsc -r128 -radeon -radeonhd -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -vermilion -vga -via -vmware -voodoo -xgi"
(In reply to comment #9) > You were right Donnie. I looked into the three pkg-config files provided by > mesa and after I did the change to /usr/lib/pkgconfig/gl.pc shown in the > attached patch, xorg-server-1.5.0 compiled flawlessly. So mesa's gl.pc is to > blame here or rather the build script which fails to create a complete gl.pc > file. This is wrong because mesa doesn't have a hard dep on DRI, and it should definitely be able to build without it. From /usr/include/GL/internal/dri_interface.h on line 43 and onwards: /* Make this something other than __APPLE__ for other arcs with no drm.h */ #ifndef __APPLE__ #include <drm.h> #else typedef unsigned int drm_context_t; typedef unsigned int drm_drawable_t; typedef struct drm_clip_rect drm_clip_rect_t; #endif Basically it's the __APPLE__ that's causing the trouble. But I don't know what's the best way to fix this. Maybe some special #define like MESA_DONT_USE_DRM ? In any case, I think upstream needs to be in the loop about this. It's definitely not a trivial thing to do.
*** Bug 242538 has been marked as a duplicate of this bug. ***
For now, I guess the best "workaround" is to re-enable USE=dri. It won't add extra deps, as both mesa and libdrm were being pulled in anyway. For now, it's the best I can suggest. Thanks
*** Bug 233087 has been marked as a duplicate of this bug. ***
On mips dri flag is masked and because of this bug it's impossible to keyword newer xorg-serer. On the other hand it's impossible to emerge xorg-server-1.4.2 since nptl use flag is masked for x11-base/xorg-server-1.4 and media-libs/mesa-7.0 in base profile, and the following code aborts: if built_with_use media-libs/mesa nptl; then use nptl || die "${diemsg}" else use nptl && die "${diemsg}" fi I'm thinking about masking >mesa-7.0 on mips because of this issue and of course no mips keywords for 7.4... Any other suggestions?
Sure, unmask the dri flag.
Ok, so here's the new solution that I've just committed to the x11 overlay. xorg-server no longer has IUSE=dri. libdrm and mesa are now hard deps, unless USE=minimal is set (in which case there will be no GLX/OpenGL support at all). I did this because in 1.5 and newer, mesa's software renderer is built as a DRI driver. It's no longer a special case. The idea is that everyone will have _at_least_ one DRI driver: swrast. Folks who use OSS drivers will have 2 or more DRI drivers alongside. So basically, libdrm needs to be supported on all arches. That is, the API part of libdrm. Of course, HW drivers will still be arch-dependent. It seems a lot simpler for everyone in the long run :) So I'd really like some review on that last commit I've made in the overlay as this seems to be the cleanest way to fix all those mesa-related build issues. And really, this was the upstream's intention all along. Thanks
*** Bug 248869 has been marked as a duplicate of this bug. ***
I haven't tried the minimal case, but the idea seems fine. Once we get people building embedded systems with 3d, we might need to rethink the implementation, but that can wait till there's demand. (Reason: they want a minimal installation without extra cruft that can still do 3d.)
This problem appears to be solved in x11-base/xorg-server-1.5.3. Please confirm.
1.5.3 contains my plan from comment #25. Closing fixed. Please don't hesitate to open new bugs if you have any issues with 1.5.3. Thanks