Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 232120

Summary: x11-base/x11-drm-20071019 + sys-kernel/gentoo-sources-2.6.26 - error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
Product: Gentoo Linux Reporter: Marco Leogrande <dark.knight.ita>
Component: [OLD] Core systemAssignee: Bryan Stine (RETIRED) <battousai>
Status: RESOLVED FIXED    
Severity: normal CC: bircoph, gentoo, paolo.pedroni, tsdh, x11-drivers
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 237876    
Bug Blocks: 232070    

Description Marco Leogrande 2008-07-17 21:11:11 UTC
x11-base/x11-drm-20071019, which is the latest unmasked version of the package, fails compilation with kernel sys-kernel/gentoo-sources-2.6.26. I have not tried the version 20080710, as it hard masked.

Reproducible: Always

Steps to Reproduce:
1. emerge =sys-kernel/gentoo-sources-2.6.26
2. emerge =x11-base/x11-drm-20071019
Actual Results:  
Compilations fails with:
  CC [M]  /var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.o
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c: In function ‘drm_do_vm_nopage’:
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:152: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:152: error: (Each undeclared identifier is reported only once
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:152: error: for each function it appears in.)
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c: In function ‘drm_do_vm_shm_nopage’:
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:181: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c: In function ‘drm_do_vm_dma_nopage’:
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:296: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c: In function ‘drm_do_vm_sg_nopage’:
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:335: error: ‘NOPAGE_SIGBUS’ undeclared (first use in this function)
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c: At top level:
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:385: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:385: warning: initialization from incompatible pointer type
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:392: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:392: warning: initialization from incompatible pointer type
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:399: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:399: warning: initialization from incompatible pointer type
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:406: error: unknown field ‘nopage’ specified in initializer
/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.c:406: warning: initialization from incompatible pointer type
make[2]: *** [/var/tmp/portage/x11-base/x11-drm-20071019/work/drm/linux-core/drm_vm.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.26-gentoo'
make: *** [modules] Error 2


Expected Results:  
Successful compilation :)

$ emerge --info
Portage 2.2_rc1 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r6 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r6-i686-Intel-R-_Pentium-R-_M_processor_1.60GHz-with-glibc2.0
Timestamp of tree: Thu, 17 Jul 2008 16:46:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r5
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-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
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/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="candy distlocks fixpackages parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.unina.it/pub/linux/distributions/gentoo http://mirror.ovh.net/gentoo-distfiles/"
LANG="it_IT.UTF-8"
LC_ALL="it_IT.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="it en"
MAKEOPTS="-j2"
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/portage/local/layman/sunrise /usr/portage/local/layman/gnome /usr/portage/local/layman/java-overlay /usr/portage/local/layman/science /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acpi alsa amr apache2 avi bash-completion bitmap-fonts bluetooth branding bzip2 cairo cddb cdparanoia cdr cli cracklib crypt ctype cups dbus djvu dri dvd dvdr dvdread dvi emacs encode esd exif fbcon ffmpeg flac fortran ftp gd gdbm gif gimp gimpprint gnome gnome-print gnutls gpm gstreamer gtk gtk2 gtkhtml hal hddtemp iconv ipv6 java javascript jce jikes jpeg libnotify libsamplerate logrotate mad midi mikmod mmx mmxext mng mp3 mpeg msn mudflap mysql mysqli nautilus ncurses nls nodrm nptl nptlonly nsplugin offensive ogg opengl openmp oss pam pch pcre pdf perl php png ppds python quicktime readline real samba sdl session slang sockets socks5 spell spl sse sse2 ssl startup-notification subversion svg symlink syslog tcpd theora threads tiff tokenizer truetype unicode usb v4l v4l2 vcd vorbis wifi win32codecs wmf wxwindows x86 xml xorg xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="intel8x0" 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 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 imagemap 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it en" USERLAND="GNU" VIDEO_CARDS="i810 vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Marco Leogrande 2008-07-17 21:20:14 UTC
I forgot to write explicitly that I have built the kernel before trying to reinstall x11-drm, sorry.
Comment 2 Sergiy Borodych 2008-07-18 13:57:34 UTC
same problem on ~x86
Comment 3 Marco Leogrande 2008-07-26 10:24:57 UTC
This commit
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.25.y.git;a=commit;h=3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99
states that the whole 'nopage' thing has been removed from the kernel.
Before the commit, "include/linux/mm.h" contained both the "NOPAGE_SIGBUS" macro and the "nopage" function pointer (as a field inside the "struct vm_operations_struct").
Lastly, a note in "Documentation/feature-removal-schedule.txt" states that "This interface [vm_ops.nopage] is replaced by vm_ops.fault, but it has been around forever, is used by a lot of drivers, and doesn't cost much to maintain."
Comment 4 Marco Leogrande 2008-07-26 11:18:17 UTC
It seems that the package authors closed the issue with commit
http://gitweb.freedesktop.org/?p=mesa/drm.git;a=commit;h=b44f2da380e78769b58c751e81f376f0fa1f48aa
which dates back to 7 May 2008. The tree is way too different from the state it was in the 20071019 snapshot, so I suppose that a backport of the fixes is impossible.
So, I tried the 20080710 snapshot that is in Portage and it compiles cleanly with gentoo-sources-2.6.26 (I've not installed the package, though, given the warnings in package.mask about modprobe.d).

And sorry for the comment spam
Comment 5 James L. Hammons 2008-08-01 17:40:29 UTC
I can confirm on ~x86 that the 20080710 snapshot in Portage compiles cleanly with gentoo-sources-2.6.26. It's installed on my machine and it works just fine. Please consider unmasking it and putting it into ~x86 at least.
Comment 6 Andrew Savchenko gentoo-dev 2008-08-21 16:25:16 UTC
(In reply to comment #5)

Seconded. x11-drm-20080710 works perfectly on x86 (PentiumII) with gentoo-sources-2.6.26-r1.

Please, unmask this package.
Comment 7 Bryan Stine (RETIRED) gentoo-dev 2008-09-15 04:27:38 UTC
In response to the comments about 20080710, it has been unmasked. To avoid derailing this bug, please post any issues or feedback regarding that version in a new bug or to me personally via email or IRC. Thanks.
Comment 8 Bryan Stine (RETIRED) gentoo-dev 2008-09-16 20:51:42 UTC
x11-drm 20070314 and 20071019 have new patchballs allowing them to build with 2.6.26 (and 2.6.27 for 20070314).
Comment 9 Paolo Pedroni 2008-09-17 10:22:40 UTC
(In reply to comment #8)
> x11-drm 20070314 and 20071019 have new patchballs allowing them to build with
> 2.6.26 (and 2.6.27 for 20070314).
> 

Why not closing the bug, then? ;-)

Comment 10 Sergiy Borodych 2008-09-17 12:46:28 UTC
for me (~x86) works fine 

x11-base/x11-drm-20080710

under
sys-kernel/gentoo-sources-2.6.25-r8
and
sys-kernel/gentoo-sources-2.6.26-r1
Comment 11 Bryan Stine (RETIRED) gentoo-dev 2008-09-17 16:53:37 UTC
Waiting for 20070314 to go stable, for bug #232070.
Comment 12 Bryan Stine (RETIRED) gentoo-dev 2008-11-08 01:05:48 UTC
Bug #232070 is finished. Current stable x11-drm now builds with 2.6.26.