Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 200508 - app-misc/lirc will not compile with 2.6.24 kernels
Summary: app-misc/lirc will not compile with 2.6.24 kernels
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High minor (vote)
Assignee: Television related Applications in Gentoo's Portage
URL: http://www.nabble.com/LIRC-will-not-c...
Whiteboard:
Keywords:
Depends on:
Blocks: kernel-2.6.24
  Show dependency tree
 
Reported: 2007-11-27 13:06 UTC by Miguel Marte
Modified: 2009-02-24 23:28 UTC (History)
1 user (show)

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


Attachments
Patch for lirc with 2.6.24 series kernel (lirc-0.8.3_pre1-kernel-2.6.24.diff,2.03 KB, patch)
2007-11-27 16:50 UTC, Miguel Marte
Details | Diff
error log after 'emerge lirc' (lirc-0.8.3_pre1-kernel-2.6.24.diff-6577.out,7.13 KB, text/plain)
2009-02-24 23:27 UTC, Stefan Bergler
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Miguel Marte 2007-11-27 13:06:29 UTC
Since the removal DECLARE_MUTEX_LOCKED, lirc will no longer compile.  There is a patch already in the linked page.  I tested it out, works with out a problem.

Reproducible: Always

Steps to Reproduce:
install kernel >=2.6.24-rc1
emerge lirc
Actual Results:  
lirc will fail to compile


As stated, i have tested the patch in http://www.nabble.com/LIRC-will-not-compile-with-2.6.24-rc1-t4741488.html.
The patch works and no regressions found.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-11-27 13:34:52 UTC
Attach the patch here, please; don't refer to third-party links.
Comment 2 Miguel Marte 2007-11-27 16:50:51 UTC
Created attachment 137129 [details, diff]
Patch for lirc with 2.6.24 series kernel

Here is the patch.  Credit goes to Allan Stirling.
Comment 3 Lasse Riittola 2007-12-14 19:59:10 UTC
With 2.6.24-rc3 onwards the deprecated SA_INTERRUPT and SA_SHIRQ appear to have
been dropped too and would need to be patch also.

/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: 'SA_INTERRUPT' undeclared (first use in this function)
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: (Each undeclared identifier is reported only once
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: for each function it appears in.)
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: 'SA_SHIRQ' undeclared (first use in this function)
distcc[29559] ERROR: compile /var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c on localhost failed

uname -a
Linux 2.6.24-rc5 #1 SMP Fri Dec 14 20:56:48 EET 2007 x86_64 Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz GenuineIntel GNU/Linux

emerge --info
Portage 2.1.4_rc10 (default-linux/amd64/2006.1/no-multilib, gcc-4.2.2, glibc-2.7-r1, 2.6.24-rc5 x86_64)
=================================================================
System uname: 2.6.24-rc5 x86_64 Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz
Timestamp of tree: Fri, 14 Dec 2007 16:16:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.3
dev-lang/python:     2.4.4-r4, 2.5.1-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.10-r5
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.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-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/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distcc distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ "
LINGUAS="en fi"
MAKEOPTS="-j3"
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/portage/local/layman/gentoo-de /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac ac3 alsa amd64 apache2 avi berkdb bitmap-fonts cdda cdr cli cracklib crypt ctype cups distcc dolby dri dts dvb dvd dvdr dvdread eit encode ffmpeg fi firefox flac flv fortran gdbm gif gpm gtk hdtv httpd iconv iec958 ipv6 isdnlog java jpeg jpg lirc live mad matroska midi mp3 mp4 mp4live mpeg mpeg2 mpeg4 mplayer mudflap mysql mysqli mythtv ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl php png posix ppds pppd python quicktime readline reflection serial session skins spdif spl ssl stream subtitles tcpd themes theora transcode truetype truetype-fonts type1-fonts unicode v4l2 vdr vdr-subtitles x264 xinerama xml xml2 xmltv xorg xv xvid xvmc zlib" ALSA_CARDS="intel_hda" 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" ELIBC="glibc" INPUT_DEVICES="kbd mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en fi" LIRC_DEVICES="serial" USERLAND="GNU" VIDEO_CARDS="i810 i965 vga vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Lasse Riittola 2007-12-14 20:30:44 UTC
http://people.redhat.com/jwilson/lirc/lirc-build-fixes
seems to have a fix and now it compiles and works fine for me.

--- lirc_serial.c.ORIG  2007-12-14 22:13:40.000000000 +0200
+++ lirc_serial.c       2007-12-14 22:13:47.000000000 +0200
@@ -961,7 +961,7 @@
        do_gettimeofday(&lasttv);
 
        result = request_irq(irq, irq_handler,
-                          SA_INTERRUPT | (share_irq ? SA_SHIRQ:0),
+                          IRQF_DISABLED | (share_irq ? IRQF_SHARED :0),
                           LIRC_DRIVER_NAME, (void *)&hardware);
 
        switch (result) {
Comment 5 Joerg Bornkessel (RETIRED) gentoo-dev 2007-12-26 19:37:10 UTC
fixed in lirc-0.8.3_pre1 by atached lirc-0.8.3_pre1-kernel-2.6.24.diff

thanks to

M.Marte
A.Stirling
T.Kost ( ebuild diff sent by mail 2 me)
L.Riittola
Comment 6 Joerg Bornkessel (RETIRED) gentoo-dev 2007-12-27 00:14:47 UTC
removed workless kernel-2.6.24.diff, 
wont compile with LIRC_DEVICES=serial 
kernel vanilla-2.6.24-rc6

<snipp>
STR(lirc_serial)" -c -o /var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.o /var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:119:2: warning: #warning "Software carrier only affects transmitting"
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:125:2: warning: #warning "Note: using rdtsc instruction"
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c: In function 'set_use_inc':
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: 'SA_INTERRUPT' undeclared (first use in this function)
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: (Each undeclared identifier is reported only once
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: for each function it appears in.)
/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c:964: error: 'SA_SHIRQ' undeclared (first use in this function)
make[5]: *** [/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.o] Error 1
make[4]: *** [_module_/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial] Error 2
make[4]: Leaving directory `/usr/src/linux-2.6.24-rc6'
make[3]: *** [lirc_serial.o] Error 2
make[3]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_serial'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1'
make: *** [all] Error 2
</snapp>
Comment 7 Joerg Bornkessel (RETIRED) gentoo-dev 2007-12-28 14:29:44 UTC
again, added rewroted diff
it compiles now with kernel 2.6.24

found a similar line around SA_INTERRUPT in lirc-sir module

iam fixed it,
it compiles but i dont have the hardware to test it

Please confirm if it works before the bug goes closed...
Comment 8 Stefan Bergler 2009-02-24 23:27:34 UTC
Created attachment 183084 [details]
error log after 'emerge lirc'

'emerge lirc' fails (for linux-2.6.27-gentoo-r8 on amd64). Reason might be that the first two lines of the patch are corrupted (not in "Patch" format).

 * Failed Patch: lirc-0.8.3_pre1-kernel-2.6.24.diff !
 *  ( /usr/portage/app-misc/lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff )
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/app-misc/lirc-0.8.3_pre1/temp/lirc-0.8.3_pre1-kernel-2.6.24.diff-6577.out