Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to build some drivers for a TV tuner and I am getting this error when I build:

make -s -C /lib/modules/3.2.0-23-generic/build SUBDIRS=/home/jtp/IT9135_SRC modules
In file included from /home/jtp/IT9135_SRC/it9135-core.c:21:0:
/home/jtp/IT9135_SRC/it9135.h:11:28: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.
make[2]: *** [/home/jtp/IT9135_SRC/it9135-core.o] Error 1
make[1]: *** [_module_/home/jtp/IT9135_SRC] Error 2
make: *** [default] Error 2

What am I missing?

share|improve this question

<linux/smp_lock.h> is the header file for the "Big Kernel Lock", which no longer exists as of 2.6.39. The author of this driver needs to do some work to modernize it.

Also, I see that newer kernels have a dvb-usb-it913x module included. Maybe you can stop using the old out-of-tree driver and use that instead?

share|improve this answer

if "/lib/modules/...../build/linux/smp_lock.h" is not exists, you can compile with only dummy.

nano /lib/modules/...../build/linux/smp_lock.h

and write

// this is dummy!

then ctrl + X and press Y and try to compile.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.