Wednesday, January 29, 2014

kwcheck: ERROR: cannot find installed JVM

Klocwork 9.2 needs Java 1.6 32 bit

Either you do not have Java in your system or you are having a different version of Java or 64 bit Java.

Note: You can have multiple Java installations in the same time.

Tuesday, January 14, 2014

crypto/signature/ksign-publickey.c:2:17: error: key.h: No such file or directory

Seeing the below error when building 2.6.32-279 kernel from Redhat?

crypto/signature/ksign-publickey.c:2:17: error: key.h: No such file or directory
crypto/signature/ksign-publickey.c: In function 'ksign_init':
crypto/signature/ksign-publickey.c:10: error: 'ksign_def_public_key' undeclared (first use in this function)
crypto/signature/ksign-publickey.c:10: error: (Each undeclared identifier is reported only once
crypto/signature/ksign-publickey.c:10: error: for each function it appears in.)
crypto/signature/ksign-publickey.c:11: error: 'ksign_def_public_key_size' undeclared (first use in this function)
make[2]: *** [crypto/signature/ksign-publickey.o] Error 1
make[1]: *** [crypto/signature] Error 2
make: *** [crypto] Error 2


Then try this:

make menuconfig

Select "Enable loadable module support"
Disable "Module signature verification (EXPERIMENTAL)"

Come back to main menu

Select "Cryptographic API"
Scroll down and Disable "In-kernel signature checker (EXPERIMENTAL)"

Save and Exit

Now build your kernel with the modified .config file

kernel: [driver_name]: no symbol version for module_layout

insmod fails with "kernel: [driver_name]: no symbol version for module_layout" message in dmesg?

Make sure you are compiling the driver using the exact same kernel. If yes there is something wrong with Module.symvers file in your kernel directory. Try cleaning the kernel and building once again and then build your driver.

Monday, January 13, 2014

Makefile:[Line Number]: *** missing separator. Stop.

Are you seeing the error in a line similar to the below one in your Makefile?

some_target:
     things to do


If yes make sure the line 'things to do' starts with a tab. I.e. the white spaces should not be space it has to be a 'tab'.

target: dependencies
[tab] system command