Solved

Kernel compilation issues

Posted on 2011-09-20
12
977 Views
Last Modified: 2012-05-12
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
0
Comment
Question by:Sreejith22
  • 5
  • 4
  • 3
12 Comments
 
LVL 13

Expert Comment

by:Hugh McCurdy
ID: 36566818
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
 

Author Comment

by:Sreejith22
ID: 36572451
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
 
LVL 12

Expert Comment

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

0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 13

Expert Comment

by:Hugh McCurdy
ID: 36572785
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
 

Author Comment

by:Sreejith22
ID: 36572958
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
 
LVL 12

Expert Comment

by:HappyCactus
ID: 36572993
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
 
LVL 13

Accepted Solution

by:
Hugh McCurdy earned 125 total points
ID: 36573079
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
 

Author Comment

by:Sreejith22
ID: 36578826
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
 
LVL 12

Expert Comment

by:HappyCactus
ID: 36578854
Check the permissions of the sources tree. Set it 0666 for files and 0777 for directories. It seems that javac runs as "other".

0
 

Author Comment

by:Sreejith22
ID: 36579270
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
 
LVL 12

Assisted Solution

by:HappyCactus
HappyCactus earned 125 total points
ID: 36579282
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
 

Author Comment

by:Sreejith22
ID: 36940622
solved myself. was missing an 'Out' folder which had to be present while doing compilation.
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand opening and reading files in the C programming language.

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question