Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 218419 - x11-base/x11-drm - current versions don't compile against kernel 2.6.25
Summary: x11-base/x11-drm - current versions don't compile against kernel 2.6.25
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Bryan Stine (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: kernel-2.6.25
  Show dependency tree
 
Reported: 2008-04-19 14:35 UTC by Antti Mäkelä
Modified: 2012-01-04 06:18 UTC (History)
11 users (show)

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


Attachments
Patch to fix x11-drm compiling on >= 2.6.25 kernels. Made for 20070314, but should work with others too. (drm.patch,467 bytes, patch)
2008-04-20 07:32 UTC, Antti Mäkelä
Details | Diff
x11-drm patches including 003_all_unmap_page_from_agp.patch (x11-drm-20070314-gentoo-0.1.tar.bz2,1.20 KB, application/octet-stream)
2008-05-07 21:14 UTC, Andrés Becerra Sandoval
Details
x11-drm patches including 003_all_unmap_page_from_agp.patch (x11-drm-20071019-gentoo-0.1.tar.bz2,1.20 KB, application/octet-stream)
2008-05-12 14:56 UTC, Andrés Becerra Sandoval
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Antti Mäkelä 2008-04-19 14:35:58 UTC
Changelogs for kernel has the following item included:

      agp: remove flush_agp_mappings calls from new flush handling code

Unfortunately, this seems to break X11-drm (at least the ones in portage). I tested both 20070314 and 20071019. Both fail with following (against gentoo-sources 2.6.25-r1):

e...
sh ../scripts/create_linux_pci_lists.sh < ../shared-core/drm_pciids.txt
make -C /usr/src/linux  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[1]: Entering directory `/usr/src/linux-2.6.25-gentoo-r1'
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_auth.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bufs.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_context.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_dma.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_drawable.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_drv.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_fops.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ioctl.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_irq.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_lock.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_memory.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_proc.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_stub.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_sysfs.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_pci.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_agpsupport.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_scatter.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_memory_debug.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/ati_pcigart.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_sman.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_hashtab.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_mm.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_object.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_compat.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_fence.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bo.o
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_bo_move.o
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.c: In function 'drm_set_caching':
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.c:135: error: implicit declaration of function 'flush_agp_mappings'
make[2]: *** [/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_ttm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25-gentoo-r1'
make: *** [modules] Error 2
 * Portage could not build the DRM modules. If you see an ACCESS DENIED error,
 * this could mean that you were using an unsupported kernel build system.
 * Only 2.6 kernels at least as new as 2.6.6 are supported.
 *
 * ERROR: x11-base/x11-drm-20071019 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3754:  Called src_compile_os
 *             environment, line 3788:  Called src_compile_linux
 *             environment, line 3777:  Called die_error
 *             environment, line 1145:  Called die
 * The specific snippet of code:
 *       die "Unable to build DRM modules."
 *  The die message:
 *   Unable to build DRM modules.
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/x11-base/x11-drm-20071019/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-base/x11-drm-20071019/temp/environment'.
 *

# emerge info
*** Deprecated use of action 'info', use '--info' instead
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r2 i686)
=================================================================
System uname: 2.6.24-gentoo-r2 i686 Intel(R) Pentium(R) M processor 2.00GHz
Timestamp of tree: Sat, 19 Apr 2008 13:00:02 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.4
dev-lang/python:     2.4.4-r9
dev-python/pycrypto: 2.0.1-r6
dev-util/confcache:  0.4.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 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"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O3 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium-m -O3 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ds.thn.htu.se/linux/gentoo http://ftp.linux.ee/pub/gentoo/distfiles/ http://gentoo.tiscali.nl/gentoo/"
LANG="C"
LDFLAGS="-Wl,-O1"
LINGUAS="en fi"
MAKEOPTS="-j4"
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acpi adns aiglx alsa amr amrnb amrwb arts asf async audiofile automount berkdb bluetooth browserplugin bzip2 cairo caps cdparanoia cdr chardet connectionstatus cracklib crypt css cups curl dbus dga divx divx4linux dmx dri dts dvd dvdr dvdread emboss enca encode evo exif fam ffmpeg firefox flac foomaticdb fortran gdbm gif gimp glibc-omitfp glitz glut gmedia gmp gphoto2 gpm gstreamer gtk hal hdaps history i8x0 iconv idn ieee1394 imagemagick imlib ipv6 irda irmc java jpeg jpeg2k justify kde kdeenablefinal kdehiddenvisibility kqemu lame lcms ldap mad madwifi midi mikmod mjpeg mmap mmx mmxext mng mozbranding mp3 mpeg mplayer msn mudflap ncurses netmeeting nls nptl nptlonly nsplugin offensive ogg oggvorbis opengl openmp pam pcmcia pcre pdf perl pic png pnp ppds pppd python qt3 qt3support qt4 quicktime readline real realmedia reflection rtc samba sdl snmp sound spell sse sse2 ssl subtitles svg swat sysfs syslog tcltk tcpd tga theora tiff truetype usb userlocales vcd visualization vorbis wifi win32codecs wireshark wma wmf wmp x264 x86 xcomposite xine xinerama xml xml2 xorg xscreensaver xv xvid xvmc yahoo 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 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" CAMERAS="canon ptp2" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en fi" USERLAND="GNU" VIDEO_CARDS="i810"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Antti Mäkelä 2008-04-20 07:31:53 UTC
The post at 

http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg34107.html

Seems to have a fix for x11-drm packages.

Using the information there I created a patch for 20070314 (since 20071009 seems to break my i915). 
Comment 2 Antti Mäkelä 2008-04-20 07:32:36 UTC
Created attachment 150347 [details, diff]
Patch to fix x11-drm compiling on >= 2.6.25 kernels. Made for 20070314, but should work with others too.
Comment 3 Andrés Becerra Sandoval 2008-04-22 15:14:26 UTC
(In reply to comment #2)
> Created an attachment (id=150347) [edit]
> Patch to fix x11-drm compiling on >= 2.6.25 kernels. Made for 20070314, but
> should work with others too.
> 

I have successfully tested the patch with gentoo-sources-2.6.25-r1 on a ~x86 system.

I renamed drm.patch to 003_all_unmap_page_from_agp.patch, and I did put this file inside x11-drm-20070314-gentoo-0.1.tar.bz2. 

DRI is working all right now!
Comment 4 Stefano Takekawa 2008-05-02 10:52:47 UTC
Is it possible to add this piece of work to portage tree? It appears still not present at my rsync last night (at least for x11-drm-20071019).
Comment 5 James L. Hammons 2008-05-06 21:07:55 UTC
Confirm the 003_all_unmap_page_from_agp.patch works here on ~x86. I would add the patch and recommend a bump of the ebuild to x11-drm-20071019-r1 so it doesn't slip through the cracks. :-)

This is on kernel 2.6.25-gentoo-r1.
Comment 6 Hugo Mildenberger 2008-05-07 13:36:06 UTC
(In reply to comment #5)
I have the same problem here while trying to restore my system to a consistent Gentoo state, coming down from xorg's master tree. Where can I get  x11-drm-20071019-r1? It's not already in the portage tree, as I see currently view it after having synced today.
Comment 7 Andrés Becerra Sandoval 2008-05-07 21:14:25 UTC
Created attachment 152377 [details]
x11-drm patches including 003_all_unmap_page_from_agp.patch
Comment 8 Andrés Becerra Sandoval 2008-05-07 21:17:29 UTC
Comment on attachment 152377 [details]
x11-drm patches including 003_all_unmap_page_from_agp.patch

As the problem persists in x11-drm-20070314 I am attaching the tarball for the patches including the one that solves the compilation problem.
The same can be applied to version 20071019
Comment 9 Andrés Becerra Sandoval 2008-05-12 14:56:35 UTC
Created attachment 152951 [details]
x11-drm patches including 003_all_unmap_page_from_agp.patch

This is the patches tarball for x11-drm-20071019. 

The compilation of x11-drm-20071019 succeds, but there is a new problem in the install stage, I get a sandbox violation:

make -C /usr/src/linux  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules_install
make[1]: se ingresa al directorio `/usr/src/linux-2.6.25-gentoo-r2'
make[1]: atención: el servidor de tareas no está disponible: se utilizará -j1. Añada `+' a la regla padre del make.
ACCESS DENIED  mkdir:     /lib/modules/2.6.25-gentoo-r2/extra
mkdir: no se puede crear el directorio «/lib/modules/2.6.25-gentoo-r2/extra»: Permiso denegado
make[1]: *** [_emodinst_] Error 1
make[1]: se sale del directorio `/usr/src/linux-2.6.25-gentoo-r2'
make: *** [install] Error 2

--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/var/log/sandbox/sandbox-16892.log"

mkdir:     /lib/modules/2.6.25-gentoo-r2/extra
--------------------------------------------------------------------------------

Some traslations from spanish:

se ingresa al directorio -> entering directory
no se puede crear el directorio -> directory can not be created
Permiso denegado -> Access denied
Comment 10 Daniel Drake (RETIRED) gentoo-dev 2008-06-29 21:46:38 UTC
friendly reminder; we'll probably push for 2.6.25 stable within a week or so, it would be great to see this fixed
Comment 11 Christian Faulhammer (RETIRED) gentoo-dev 2008-07-11 06:58:29 UTC
There has been a version bump, please try again.
Comment 12 Sergiy Borodych 2008-07-11 12:01:11 UTC
I try today with 2.6.25-gentoo-r6 and x11-drm-20071019
compiled fine and working ;)

I sitting on 2.6.24-gentoo-r8 before
Comment 13 Sven 2008-07-11 12:16:14 UTC
I see the following warnings:

WARNING: //lib/modules/2.6.25.10/x11-drm/i810.ko needs unknown symbol drm_get_dev
WARNING: //lib/modules/2.6.25.10/x11-drm/i810.ko needs unknown symbol drm_cleanup_pci 


Well, i only need the i915 module - but the above sounds like i810 wouldn't load.
Comment 14 Bryan Stine (RETIRED) gentoo-dev 2008-09-13 01:21:16 UTC
Brought 20060608 up to speed, but with a caveat.

You must have CONFIG_UNUSED_SYMBOLS=y in the kernel. This will have the kernel export some unused/obsolete symbols. The symbol init_mm, specifically, is needed for x11-drm.

I've added an appropriate check for that config option in the ebuild. Unfortunately, if you don't have it, you'll have to rebuild the kernel for it.

Thanks.