When emerging app-cdr/cdemu-0.8 with gentoo-sources-2.6.19-r2 and linux-headers-2.6.17-r2, the cdemu kernel module compiles with a warning about an implicitly defined symbol generic_file_read(). This is a function that was removed from Linux 2.6.17. Although the package emerges fine, the module cannot be inserted because of the missing symbol. The fix is to replace the calls to generic_file_read with do_sync_read ().
Created attachment 104679 [details, diff] Patch for cdemu Note that this is my first patch ever, so if I'm doing anything wrong, please let me know.
Created attachment 109432 [details] Patch and updated ebuild for cdemu-0.8 Updated ebuild including Georgi Chulkov patch First post too. Hope this helps someone.
(In reply to comment #2) > Created an attachment (id=109432) [edit] > Patch and updated ebuild for cdemu-0.8 > > Updated ebuild including Georgi Chulkov patch > > First post too. Hope this helps someone. > amd64 sys-kernel/linux-headers-2.6.17-r1 sys-kernel/gentoo-sources-2.6.19-r5 I just emerged cdemu-0.8 and it doesn't seem like this bug is fixed. When I run 'modprobe cdemu', dmesg still reports this: cdemu: Unknown symbol generic_file_read
Well, it seems one of us will have to provide an updated ebuild with the patch - something I currently don't know how to do. :(
Created attachment 112026 [details] cdemu-0.8-r1.ebuild Patch works, module applies. Test for yourself.
Comment on attachment 112026 [details] cdemu-0.8-r1.ebuild already posted inside the .tar.gz (next time please only post the ebuild and the patch.
Works well here. Thanks. Portage 2.1.2.2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.5-r0, 2.6.19-gentoo-r5 i686) ================================================================= System uname: 2.6.19-gentoo-r5 i686 Intel(R) Celeron(R) CPU 1.80GHz Gentoo Base System release 1.12.9 Timestamp of tree: Sun, 01 Apr 2007 01:30:09 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php4/ext-active/ /etc/php/apache2-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cli-php4/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mtune=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect distcc distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict userfetch userpriv usersandbox" GENTOO_MIRRORS="http://mirror.switch.ch/mirror/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LANG="en_US.utf8" MAKEOPTS="-j4" 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="aac acl acpi alsa apache2 apm audiofile avahi bash-completion berkdb bitmap-fonts bzip2 cdb cdr cli cracklib crypt cups curl dbus dri dvdr dvdread eds emboss encode exif expat fam ffmpeg flac foomaticdb gd gdbm gif gmp gpm gstreamer hal iconv idn imagemagick imap imlib isdnlog jbig jpeg jpeg2k lame lcms libg++ libwww logrotate mad maildir mbox mhash midi mikmod mmap mmx mp3 mpeg ncurses nfs nls nntp nptl nptlonly ogg openexr oss pam pcre perl php png ppds pppd pthreads python quicktime readline reflection samba sasl sdl session slang spell spl sqlite sse sse2 ssl tcl tcpd threads tiff truetype truetype-fonts type1-fonts unicode usb vorbis wmf x264 x86 xattr xml xml2 xorg xv xvid zeroconf 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I also confirm the patch works.
the patch works, but why is the old cdemu build still in portage?? greez bjoern
everything seems to work for me too... maybe it is time to add the cdemu-0.8-r1 masked or not... :-)
patch still didn't work for me: (/var/tmp/portage/app-cdr/cdemu-0.8/temp/build.log) ====================================================== ^[[32;01m*^[[0m Determining the location of the kernel source code ^[[32;01m*^[[0m Found kernel source directory: ^[[32;01m*^[[0m /usr/src/linux ^[[32;01m*^[[0m Found kernel object directory: ^[[32;01m*^[[0m /lib/modules/2.6.22-gentoo-r5/build ^[[32;01m*^[[0m Found sources for kernel version: ^[[32;01m*^[[0m 2.6.22-gentoo-r5 >>> Unpacking source... >>> Unpacking cdemu-0.8.tar.bz2 to /var/tmp/portage/app-cdr/cdemu-0.8/work ^[[32;01m*^[[0m Applying do_sync_read.patch ... ^[[A^[[124C ^[[34;01m[ ^[[32;01mok^[[34;01m ]^[[0m >>> Source unpacked. >>> Compiling source in /var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8 ... ^[[32;01m*^[[0m Preparing cdemu module rm -f .cdemu*.{ko,mod.o,o}.cmd cdemu*.{ko,o,mod.{c,o}} *.pyc core *~ rm -rf .tmp_versions Modules.symvers rm -f docs/cdemu.{dvi,pdf} make[1]: Entering directory `/usr/src/linux-2.6.22-gentoo-r5' CC [M] /var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8/cdemu_core.o CC [M] /var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8/cdemu_mod.o /var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8/cdemu_mod.c: In function 'cdemu_exit': /var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8/cdemu_mod.c:198: error: too many arguments to function 'invalidate_bdev' make[2]: *** [/var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8/cdemu_mod.o] Error 1 make[1]: *** [_module_/var/tmp/portage/app-cdr/cdemu-0.8/work/cdemu-0.8] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.22-gentoo-r5' make: *** [default] Error 2 !!! ERROR: app-cdr/cdemu-0.8 failed. Call stack: ebuild.sh, line 1638: Called dyn_compile ebuild.sh, line 985: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile ebuild.sh, line 1328: Called linux-mod_src_compile linux-mod.eclass, line 516: Called die !!! Unable to make clean default. !!! 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-cdr/cdemu-0.8/temp/build.log'.
This is a new problem introduced by changes in 2.6.22 I think. Apparently the prototype for invalidate_bdev changed, it's probably as easy to fix as the previous problem, but I don't have the skills do to it I think. Let's hope for a volunteer =)
*** Bug 187853 has been marked as a duplicate of this bug. ***
Please bump this to something working or punt the useless junk that hasn't compiled/worked for over a year.
vapier, do you need more time to handle bug 209874 or would you just prefer this gone? it's up to you really.
Mike, People have made a good effort crafting ebuilds for the 1.0.0 bump in bug 198672. It might help. Cheers, Marcelo
Guys, 1.0.0 is now in cvs. I hope it works ok now! *** This bug has been marked as a duplicate of bug 198672 ***