Kernel compilation issues

Hello experts,

I get the following error when I compile the Android source code.

 
Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[4]: *** [silentoldconfig] Error 1
make[3]: *** [silentoldconfig] Error 2
Install: out/host/linux-x86/lib/libsqlite_jni.so
make[2]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/anees/EC40_A8130S/LINUX/android/kernel'
make: *** [out/target/product/SH80F/obj/KERNEL_OBJ/arch/arm/boot/Image] Error 2
make: *** Waiting for unfinished jobs....
cp: cannot stat `LINUX/android/out/target/product/SH80F/appsboot.mbn': No such file or directory
error : appsboot.mbn creation is failed.
Done

Time duration: 6 mins
Press ENTER to exit...

Open in new window


Can someone kindly let me know, how I can resolve this isse?

Any help in this regard which will guide me to the correct solution would be well appreciated with points.

Regards,
Sree
Sreejith22Asked:
Who is Participating?
 
Hugh McCurdyConnect With a Mentor Commented:
Do you have the Java Development Kit installed?  Perhaps reinstalling it might help.

At the shell try

javac  -version

Then the same command on a working computer.

If javac is missing, that's a problem.  If the versions don't match, that might be a problem.
0
 
Hugh McCurdyCommented:
If you used the -j option on make, try running make without -j.

It could actually be overheating (don't laugh, happened to me on an old notebook -- solved by directing a fan at the box).  This is super rare.

More likely, the make file isn't right or you are missing files.  I would try (and have tried) installing the kernel tree again and compiling it in "out of the box" mode.  If that works, I'd modify the configuration as needed (perhaps taking small steps) and try again.
0
 
Sreejith22Author Commented:
Hi,

I copied the aource directory which works perfectly in one of my colleagues machine to mine, still I get the same issue

error : appsboot.mbn creation is failed.
Done

Time duration: 6 mins
Press ENTER to exit...

Attached here is the file which I use for compilation.

I use "./build_Gingerbread.sh" to begin compilation.

Any help which would provide me a solution would be much appreciated.
build-Gingerbread.sh
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
HappyCactusCommented:
Try restarting from a clean / distclean source branch. It seems like a dangling file problem - the auto.conf dependency has broken.

0
 
Hugh McCurdyCommented:
Does include/config/auto.conf already exist?  

Make either sees the file it wants or tries to make it.  If it doesn't have a rule to make it, it says that there's no rule instead of saying "can't find..."  The problem could be that the file can't be found.  

Anyway, when I said "out of the box mode" I didn't mean to copy it from someone else's computer.  You might not get everything you need.  What I do is I rename the folder where I'm having trouble, ie to linux-2.6.44.5-bad and then get a new copy of the kernel from kernel.org and unzip it, which creates new folders as it goes.  Then see if it compiles.  Then I make changes.

One thing to determine is to make sure that you don't have a problem elsewhere in your computer, outside the source tree.  This doesn't seem likely and it isn't likely.  But it is something and if it isn't obvious, time to look for what isn't obvious.
0
 
Sreejith22Author Commented:
This is what happened when I tried with a fresh source which I downloaded. In other machines, the same downloaded source gets compiled perfectly. Is this due to any machine related or dependency issues?

 
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/SimCardAuthenticationManagerLib_intermediates/javalib.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar'.  Stop.
make: *** Waiting for unfinished jobs....
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/telephony/java/com/android/internal/telephony/EventLogTags.java <= frameworks/base/telephony/java/com/android/internal/telephony/EventLogTags.logtags
cp: cannot stat `LINUX/android/out/target/product/SH80F/appsboot.mbn': No such file or directory
error : appsboot.mbn creation is failed.
Binaries newer
Release_2011_09_21_1257 created
Done


Time duration: 2 mins
Press ENTER to exit...

Open in new window

0
 
HappyCactusCommented:
Maybe you are missing some tool. Are all required packages installed?
Check carefully what is installed in the "working" machine and what is missing in yours. Maybe something related to java (maybe some java compiler o packager?)

0
 
Sreejith22Author Commented:
Inside the source folder from which I give the compilation command, when I type javac  -version, I get

 
anees@anees-desktop:~/Gingerbread$ javac -version
Error occurred during initialization of VM
java.lang.Error: Properties init: Could not determine current working directory.
	at java.lang.System.initProperties(Native Method)
	at java.lang.System.initializeSystemClass(System.java:1069)

Open in new window


Outside the source folder:

 
anees@anees-desktop:~$ javac -version
javac 1.6.0_20

Open in new window


In the machine in which compilation is perfect, inside source folder:

 
anees@Abhishek-desktop:~/Gingerbread$ javac -version
javac 1.6.0_20

Open in new window


Is there anything obvious you can see?
0
 
HappyCactusCommented:
Check the permissions of the sources tree. Set it 0666 for files and 0777 for directories. It seems that javac runs as "other".

0
 
Sreejith22Author Commented:
would be great if you can kindly provide the commands for the same. sorry, I am a newbie to Linux commands.

The only one I use for changing the folder permission is chmod -R 777 foldername
0
 
HappyCactusConnect With a Mentor Commented:
first, check the parameters with ls -l. Check owners and groups.
if you do not have any particular security requirements, do this:

find ./ -type f -exec chmod 666 \{\} \;
find ./ -type d -exec chmod 777 \{\} \;

Open in new window


man find for details.

0
 
Sreejith22Author Commented:
solved myself. was missing an 'Out' folder which had to be present while doing compilation.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.