Bug 185170 - app-emulation/kqemu-1.3.0-pre11 won't compile with kernel 2.6.22
Bug#: 185170 Product:  Gentoo Linux Version: 2007.0 Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: lu_zero@gentoo.org Reported By: humprhey@yahoo.es
Component: Unspecified
URL: 
Summary: app-emulation/kqemu-1.3.0-pre11 won't compile with kernel 2.6.22
Keywords:  
Status Whiteboard: 
Opened: 2007-07-13 07:48 0000
Description:   Opened: 2007-07-13 07:48 0000
localhost ~ # emerge -1 kqemu
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) app-emulation/kqemu-1.3.0_pre11 to /
 * kqemu-1.3.0pre11.tar.gz RMD160 ;-) ...                                      
                                                                          [ ok
]
 * kqemu-1.3.0pre11.tar.gz SHA1 ;-) ...                                        
                                                                          [ ok
]
 * kqemu-1.3.0pre11.tar.gz SHA256 ;-) ...                                      
                                                                          [ ok
]
 * kqemu-1.3.0pre11.tar.gz size ;-) ...                                        
                                                                          [ ok
]
 * checking ebuild checksums ;-) ...                                           
                                                                          [ ok
]
 * checking auxfile checksums ;-) ...                                          
                                                                          [ ok
]
 * checking miscfile checksums ;-) ...                                         
                                                                          [ ok
]
 * checking kqemu-1.3.0pre11.tar.gz ;-) ...                                    
                                                                          [ ok
]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/2.6.22-gentoo/build
 * Found sources for kernel version:
 *     2.6.22-gentoo
>>> Unpacking source...
>>> Unpacking kqemu-1.3.0pre11.tar.gz to /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11 ...
Source path      
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11
C compiler        gcc
Host C compiler   gcc
make              make
host CPU          i386

kernel sources    /usr/src/linux
kbuild type       2.6
make -C common all
make[1]: se ingresa al directorio
`/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/common'
gcc -Wall -O2 -Werror -g -D__KERNEL__ -I.. -o genoffsets genoffsets.c
./genoffsets > monitor_def.h
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/nexus_asm.o i386/nexus_asm.S
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/monitor_asm.o i386/monitor_asm.S
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o monitor.o monitor.c
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o monitor-utils.o monitor-utils.c
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o interp.o interp.c
ld -T i386/monitor.ld -o monitor-image.out i386/nexus_asm.o i386/monitor_asm.o
monitor.o monitor-utils.o interp.o
objcopy -O binary monitor-image.out monitor-image.bin
gcc -Wall -O2 -Werror -g -o genmon genmon.c
./genmon < monitor-image.bin > monitor-image.h
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror  -D__KERNEL__
-nostdinc -iwithprefix include -I. -I.. -c -o kernel.o kernel.c
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/kernel_asm.o i386/kernel_asm.S
ld -r -o ../kqemu-mod-i386.o kernel.o i386/kernel_asm.o
make[1]: se sale del directorio
`/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/common'
make -C /usr/src/linux M=`pwd` modules
make[1]: se ingresa al directorio `/usr/src/linux-2.6.22-gentoo'
  CC [M] 
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.o
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:
En la función ‘kqemu_lock_user_page’:
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:81:
error: puntero deferenciado a tipo de dato incompleto
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:
En la función ‘kqemu_schedule’:
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:194:
aviso: declaración implícita de la función ‘need_resched’
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:195:
aviso: declaración implícita de la función ‘schedule’
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:197:
aviso: declaración implícita de la función ‘signal_pending’
make[2]: ***
[/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.o]
Error 1
make[1]: ***
[_module_/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11]
Error 2
make[1]: se sale del directorio `/usr/src/linux-2.6.22-gentoo'
make: *** [kqemu.ko] Error 2
>>> Source compiled.
>>> Test phase [not enabled]: app-emulation/kqemu-1.3.0_pre11

>>> Install kqemu-1.3.0_pre11 into /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/image/ category app-emulation
 * Installing kqemu module
install: no se puede efectuar `stat' sobre «kqemu.ko»: No existe el fichero o
el directorio
 *
 * ERROR: app-emulation/kqemu-1.3.0_pre11 failed.
 * Call stack:
 *   ebuild.sh, line 1647:   Called dyn_install
 *   ebuild.sh, line 1082:   Called qa_call 'src_install'
 *   ebuild.sh, line 44:   Called src_install
 *   kqemu-1.3.0_pre11.ebuild, line 49:   Called linux-mod_src_install
 *   linux-mod.eclass, line 546:   Called die
 *
 * doins kqemu.ko failed
 * 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/app-emulation/kqemu-1.3.0_pre11/temp/build.log'.
 *

------- Comment #1 From Darksidex 2007-07-13 07:49:18 0000 -------
localhost ~ # emerge --info
Portage 2.1.3_rc7 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.5-r4,
2.6.22-gentoo i686)
=================================================================
System uname: 2.6.22-gentoo i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Gentoo Base System release 1.12.10
Timestamp of tree: Tue, 10 Jul 2007 13:30:10 +0000
ccache version 2.4 [enabled]
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -mtune=pentium4 -O3 -pipe -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -fomit-frame-pointer"
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/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild
/etc/terminfo"
CXXFLAGS="-march=pentium4 -mtune=pentium4 -O3 -pipe -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms
strict unmerge-orphans"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="es_ES.utf8"
LC_ALL="es_ES.utf8"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
LINGUAS="es es_ES"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude=/distfiles --exclude=/local --exclude=/packages
--filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X X509 a52 aac aalib acl acpi alsa audiofile avi bitmap-fonts bl
bootsplash bzip2 cairo cdr cdrom chroot cracklib crypt css ctype cups
custom-cflags dba dbus directfb dpms dri dts dv dvd dvdr dvdread encode
ethereal evo exif expat fam fame fat fbcon ffmpeg firefox flac flash fltk
font-server fontconfig foomaticdb force-cgi-redirect fortran gb gd gdbm
gecko-sdk gif gimp gimpprint glitz glut glx gmp gpm grammar gstreamer guile hal
hbci howl howl-compat hpn iconv idn imlib ipv6 isdnlog jabber joystick jp2 jpeg
jpeg2k kde kerberos lame lcms libcaca libg++ libnotify libwww lm_sensors mad
matroska memlimit midi mikmod mjpeg mmx mng mnogosearch mono motif mozsvg mp3
mp4live mpeg mpeg2 mplayer mudflap musicbrainz nas nautilus ncurses network nls
nptl nptlonly nsplugin ntfs nvidia ofx ogg oggvorbis openal opengl openmp
openssh openssl pam pcre pdf pdflib perl pic png posix pppd python qt qt3
qt3support qt4 quicktime rar readline real reflection remote rtc samba sdl
session sftp simplexml slang soap sockets sox speex spell spl sql sqlite
sqlite3 sse sse2 ssl startup-notification stream subp subtitles svg svga svgz
szip tagwriting tcltk tcpd theora thesaurus tiff tokenizer truetype
truetype-fonts type1-fonts udev unicode v4l v4l2 vcd vfat videos vidix
visualization vorbis win32codecs wma wma123 wmf wv x11vnc x264 x86 xanim
xcomposite xfs xine xml xml2 xorg xpm xprint xscreensaver xsl xv xvid xvmc yv12
zlib" ALSA_CARDS="emu10k1 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" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz
cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_ES"
USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #2 From Jakub Moc (RETIRED) 2007-07-13 08:03:50 0000 -------
Please, set your locales to C when reporting bugs.

------- Comment #3 From Darksidex 2007-07-13 08:16:04 0000 -------
Sorry, I didn't realized of that.

localhost ~ # emerge -1 kqemu
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) app-emulation/kqemu-1.3.0_pre11 to /
 * kqemu-1.3.0pre11.tar.gz RMD160 ;-) ...                                 [ ok
]
 * kqemu-1.3.0pre11.tar.gz SHA1 ;-) ...                                   [ ok
]
 * kqemu-1.3.0pre11.tar.gz SHA256 ;-) ...                                 [ ok
]
 * kqemu-1.3.0pre11.tar.gz size ;-) ...                                   [ ok
]
 * checking ebuild checksums ;-) ...                                      [ ok
]
 * checking auxfile checksums ;-) ...                                     [ ok
]
 * checking miscfile checksums ;-) ...                                    [ ok
]
 * checking kqemu-1.3.0pre11.tar.gz ;-) ...                               [ ok
]
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/2.6.22-gentoo/build
 * Found sources for kernel version:
 *     2.6.22-gentoo
>>> Unpacking source...
>>> Unpacking kqemu-1.3.0pre11.tar.gz to /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11 ...
Source path      
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11
C compiler        gcc
Host C compiler   gcc
make              make
host CPU          i386

kernel sources    /usr/src/linux
kbuild type       2.6
make -C common all
make[1]: Entering directory
`/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/common'
gcc -Wall -O2 -Werror -g -D__KERNEL__ -I.. -o genoffsets genoffsets.c
./genoffsets > monitor_def.h
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/nexus_asm.o i386/nexus_asm.S
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/monitor_asm.o i386/monitor_asm.S
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o monitor.o monitor.c
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o monitor-utils.o monitor-utils.c
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror 
-fno-stack-protector    -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -c
-o interp.o interp.c
ld -T i386/monitor.ld -o monitor-image.out i386/nexus_asm.o i386/monitor_asm.o
monitor.o monitor-utils.o interp.o
objcopy -O binary monitor-image.out monitor-image.bin
gcc -Wall -O2 -Werror -g -o genmon genmon.c
./genmon < monitor-image.bin > monitor-image.h
gcc -Wall -O2 -fomit-frame-pointer -fno-strict-aliasing -Werror  -D__KERNEL__
-nostdinc -iwithprefix include -I. -I.. -c -o kernel.o kernel.c
gcc -D__KERNEL__ -nostdinc -iwithprefix include -I. -I.. -D__ASSEMBLY__ -c -o
i386/kernel_asm.o i386/kernel_asm.S
ld -r -o ../kqemu-mod-i386.o kernel.o i386/kernel_asm.o
make[1]: Leaving directory
`/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/common'
make -C /usr/src/linux M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-2.6.22-gentoo'
  CC [M] 
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.o
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:
In function 'kqemu_lock_user_page':
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:81:
error: dereferencing pointer to incomplete type
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:
In function 'kqemu_schedule':
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:194:
warning: implicit declaration of function 'need_resched'
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:195:
warning: implicit declaration of function 'schedule'
/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.c:197:
warning: implicit declaration of function 'signal_pending'
make[2]: ***
[/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11/kqemu-linux.o]
Error 1
make[1]: ***
[_module_/var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/work/kqemu-1.3.0pre11]
Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22-gentoo'
make: *** [kqemu.ko] Error 2
>>> Source compiled.
>>> Test phase [not enabled]: app-emulation/kqemu-1.3.0_pre11

>>> Install kqemu-1.3.0_pre11 into /var/tmp/portage/app-emulation/kqemu-1.3.0_pre11/image/ category app-emulation
 * Installing kqemu module
install: cannot stat `kqemu.ko': No such file or directory
 *
 * ERROR: app-emulation/kqemu-1.3.0_pre11 failed.
 * Call stack:
 *   ebuild.sh, line 1647:   Called dyn_install
 *   ebuild.sh, line 1082:   Called qa_call 'src_install'
 *   ebuild.sh, line 44:   Called src_install
 *   kqemu-1.3.0_pre11.ebuild, line 49:   Called linux-mod_src_install
 *   linux-mod.eclass, line 546:   Called die
 *
 * doins kqemu.ko failed
 * 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/app-emulation/kqemu-1.3.0_pre11/temp/build.log'.
 *

------- Comment #4 From Praetor 2007-07-15 17:24:47 0000 -------
Works for me now using:

# FEATURES="-distcc -ccache" emerge kqemu

------- Comment #5 From Darksidex 2007-07-15 18:27:08 0000 -------
(In reply to comment #4)
> Works for me now using:
> 
> # FEATURES="-distcc -ccache" emerge kqemu
> 

For me it doesn't work :-( Problem still continues

------- Comment #6 From Vladimir Kirillov 2007-07-16 20:31:27 0000 -------
same problem, same kernel, glibc2.6

------- Comment #7 From Dominik Paulus 2007-07-24 16:41:23 0000 -------
I found the following patch using google:
http://www.nabble.com/Bug-434031:-Patch-for-building-kqemu-on-2.6.22-t4123270.html

------- Comment #8 From Darksidex 2007-07-25 12:11:05 0000 -------
Created an attachment (id=125966) [details]
New ebuild to support the patch

Replace your kqemu-1.3.0_pre11.ebuild with this one, and move to files
directory the patch.

Then:
# ebuild kqemu-1.3.0_pre11.ebuild digest
and you can emerge it without problems

------- Comment #9 From Darksidex 2007-07-25 12:12:33 0000 -------
Created an attachment (id=125967) [details]
patch to compile kqemu with 2.6.22 kernels

Place this patch to /usr/portage/app-emulation/kqemu/files

------- Comment #10 From Daniel Drake 2007-07-27 02:39:15 0000 -------
Based on errors shown here, patch looks correct and is safe to unconditionally
apply.

------- Comment #11 From Luca Barbato 2007-07-27 18:47:46 0000 -------
committed