Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 209184 - app-misc/lirc-0.8.3pre1 doesn't compile with 2.6.17 kernel
Summary: app-misc/lirc-0.8.3pre1 doesn't compile with 2.6.17 kernel
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
Depends on:
Reported: 2008-02-06 21:54 UTC by Scott Lipcon
Modified: 2008-02-06 22:21 UTC (History)
0 users

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


Note You need to log in before you can comment on or make changes to this bug.
Description Scott Lipcon 2008-02-06 21:54:10 UTC
lirc-0.8.3pre1.ebuild has a dependency on virtual/linux-sources, but there is no version specified.  Even if there were, I'm not sure it would work right.

I have installed the latest gentoo-sources kernel source, but haven't yet compiled & rebooted.   I'm running 2.6.17-gentoo-r8. 

When I try to emerge lirc to 0.8.3pre1, I get the following:

/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.c:45:27: error: linux/uaccess.h: No such file or directory
make[5]: *** [/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.o] Error 1
make[4]: *** [_module_/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_dev] Error 2
make[4]: Leaving directory `/usr/src/linux-2.6.17-gentoo-r8'
make[3]: *** [lirc_dev.o] Error 2
make[3]: Leaving directory `/var/tmp/portage/app-misc/lirc-0.8.3_pre1/work/lirc-0.8.3pre1/drivers/lirc_dev'
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
 * ERROR: app-misc/lirc-0.8.3_pre1 failed.
 * Call stack:
 *, line 1701:  Called dyn_compile
 *, line 1039:  Called qa_call 'src_compile'
 *, line   44:  Called src_compile
 *, line 1383:  Called linux-mod_src_compile
 *   linux-mod.eclass, line  519:  Called die
 * The specific snippet of code:
 *                      emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \
 *                                ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \
 *                              || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."
 *  The die message:
 *   Unable to make   all.
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-misc:lirc-0.8.3_pre1:20080206-214457.log'.

And its right - /usr/src/linux/include/linux/uaccess.h doesn't exist (/usr/src/linux points to /usr/src/linux-2.6.17-gentoo-r8.   /usr/src/linux-2.6.23-gentoo-r6/inclued/linux/uaccess.h does exist.

Somehow, the ebuild needs to have a minimum build version, and it needs to make sure its actually booted in to the kernel its going to build against.

Reproducible: Always

Steps to Reproduce:
1. install an older kernel (as I said, I'm running 2.6.17 - I'm not sure when linux/uaccess.h was added)
2. link /usr/src/linux to the older kernel
3.  build lirc.

Actual Results:  
See portage error above

Expected Results:  
It should either compile, or should detect the failure cleanly and give a useful error message, ie "Need to compile/run against 2.6.XX or later."
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2008-02-06 22:02:17 UTC
As you noted, such dependencies do not work at all... We also really don't support 2.6.17 kernels, doesn't even exist in the tree, sorry.
Comment 2 Scott Lipcon 2008-02-06 22:18:23 UTC
gentoo-sources-2.6.16-r13.ebuild still exists, and I guarantee that has the same problem.   linux/uaccess.h was added in 2.6.18.

It just seems like something that should die more gracefully 
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2008-02-06 22:21:32 UTC
Yeah, install some of the old lirc versions if you feel like running legacy kernels.