Building your own ROM

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
So I decided that I wanted to try my hand at the next step up in making a custom ROM, and that is going from modifying already built zip files to compiling the source code straight on my computer.

I followed the steps in post 3 of this thread, but I didn't get a zip file in out/target/product/thunderc I only got an assortment of files that look like they are my ROM...but not zipped.

I've attached a screenshot to illustrate.
 

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
Did you have any errors after make bacon?

Not that I know of, but I should really pay better attention to the screen haha. Do the errors all get listed after make bacon is completely finished, or do they Just pop up as make bacon is running? Just trying to get a handle on if I have to watch the screen the whole time lol

I should also include this doesn't have any modifications yet. I was simply compiling after finishing syncing the repo to see if it all worked.

EDIT: Just ran it again and up I got 3 errors. Or one. I'm not sure.

Here's the end of my make bacon.

Code:
target Strip: libstagefrighthw (out/target/product/thunderc/obj/lib/libstagefrighthw.so)
target Strip: libcamera_client (out/target/product/thunderc/obj/lib/libcamera_client.so)
target Strip: bootanimation (out/target/product/thunderc/obj/EXECUTABLES/bootanimation_intermediates/bootanimation)
target SharedLib: libcamera (out/target/product/thunderc/obj/SHARED_LIBRARIES/libcamera_intermediates/LINKED/libcamera.so)
target Strip: screenshot (out/target/product/thunderc/obj/EXECUTABLES/screenshot_intermediates/screenshot)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors
target Strip: libsurfaceflinger (out/target/product/thunderc/obj/lib/libsurfaceflinger.so)
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar] Error 41
make: *** Waiting for unfinished jobs....
 
Last edited:

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
We can't see your errors, there are up further. Copy and paste the whole log on pastebin.com and post the link here.
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
I'm betting it's the omap libraries. I just got finished building after syncing with IHO+CM, and the build would error out with undefined omap classes. I did a quick google search, and found this post in an asian language:
Richard's Blog - ITeye
It shows you need to add the following line to /build/core/pathmap.mk
Code:
project build/
diff --git a/core/pathmap.mk b/core/pathmap.mk
index 6cd3b8f..68e61f9 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -89,6 +89,7 @@ FRAMEWORKS_BASE_SUBDIRS := \
 	    vpn \
 	    keystore \
 	    voip \
+	    omapmmlib \
 	 )
(you add the line that starts with +, removing the + of course ;) )

This seems to fix the build errors, testing on my phone now.
 

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
We can't see your errors, there are up further. Copy and paste the whole log on pastebin.com and post the link here.

Where is the log file? lol I honestly just copied and pasted from the terminal window...but I will try JerryScript's possible fix to see if that is what it is. If it is, then woohoo! I built my first android system lol
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
When you build, and there are errors, the error output will have a pointer icon beneath the character that begins the error, example:
Code:
    int Stuff = "Some text";
                    ^
This example is showing there is an error begining at the quotation mark (you can't set an integer to a string)

These errors are sometimes high up in the output, since the build system is sometimes working on multiple packages simultaneously. When your build errors out, scroll up to the first instance of a line such as I've shown above. There you will find the clues as to what the problem is. ;)
 

pbailey212

Well-known member
Mar 20, 2011
765
219
0
Visit site
Its not necessarily building an android system, blarf did that for us. You are just compiling from his source. There is still a sense of satisfaction when you finally got your own. Zip file you created
 

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
Its not necessarily building an android system, blarf did that for us. You are just compiling from his source. There is still a sense of satisfaction when you finally got your own. Zip file you created

Well yes, creating my own zip. I should say that instead, but it's a big step up from just modifying an existing zip
 

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
Okay, just ran it again lol

Here's the log: first build - Pastebin.com

However I believe it is the omap library's JerryScript is talking about, as after scrolling through all that, I found two error references to omap library.

the first and second
Code:
frameworks/base/core/java/android/widget/VideoView.java:46: package com.ti.omap.omap_mm_library does not exist
import com.ti.omap.omap_mm_library.OmapMMLibrary;
                                  ^
frameworks/base/core/java/android/widget/VideoView.java:62: cannot find symbol
symbol  : class OmapMMLibrary
location: class android.widget.VideoView
    private OmapMMLibrary mOmapMMHandle = null;
            ^

third error
Code:
frameworks/base/core/java/android/widget/VideoView.java:196: cannot find symbol
symbol  : class OmapMMLibrary
location: class android.widget.VideoView
            mOmapMMHandle = new OmapMMLibrary();
                                ^

I'll try that fix now and see if it works then

EDIT: Yep that fixed it. It went through and compiled everything then made my zip, I flashed it to my phone and it worked! Obviously it's got some unnecessary stuff on it since it's pure IHO/CM7.1 but now is the time to tinker with it and start adding and deleting stuff :D
 
Last edited:

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
Glad you got it working! Welcome to the addiction! ;)

More like obsession haha

Reminds me of this animated gif my programming professor put up on the first day of class. It depicts a stick figure sitting at a computer typing away, and then his keystrokes become furious and he smashes his hands on the keyboard and then his hands start to disappear (it was kinda graphic for a stick figure lol)
 

thekraven

Well-known member
Nov 10, 2010
1,407
1,148
0
Visit site
I'm betting it's the omap libraries. I just got finished building after syncing with IHO+CM, and the build would error out with undefined omap classes. I did a quick google search, and found this post in an asian language:
Richard's Blog - ITeye
It shows you need to add the following line to /build/core/pathmap.mk
Code:
project build/
diff --git a/core/pathmap.mk b/core/pathmap.mk
index 6cd3b8f..68e61f9 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -89,6 +89,7 @@ FRAMEWORKS_BASE_SUBDIRS := \
         vpn \
         keystore \
         voip \
+        omapmmlib \
      )
(you add the line that starts with +, removing the + of course ;) )

This seems to fix the build errors, testing on my phone now.

Does this fix allow this surfaceflinger commit or do we still need to revert? https://github.com/CyanogenMod/andr...dbd3e5191f7336e47736ef04#commitcomment-698298
 

mrg666

Well-known member
Jul 16, 2011
730
1,067
0
Visit site

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
To fix the sound problem in movie recording was a permission issue, grab this file to fix it: https://github.com/BobZhome/android_device_lge_thunderc/raw/gingerbread/files/ueventd.thunderc.rc
Also, you can grab the new kernel here: Kernel_v3.3.zip
And to added custom carrier label to your builds, grab these two cherry-picks:
Code:
git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_frameworks_base refs/changes/14/7314/2 && git cherry-pick FETCH_HEAD
git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_packages_apps_CMParts refs/changes/13/7313/3 && git cherry-pick FETCH_HEAD
 

mrg666

Well-known member
Jul 16, 2011
730
1,067
0
Visit site
To fix the sound problem in movie recording was a permission issue, grab this file to fix it: https://github.com/BobZhome/android_device_lge_thunderc/raw/gingerbread/files/ueventd.thunderc.rc

Are you referring to this problem? A wrong file permission would consistently, always disable the sound. But this problem happens inconsistently and triggered by another reason IMHO. Thanks, I will check anyway.

By the way, could you please briefly tell what is different in v3.3 kernel?
 

Trending Posts

Forum statistics

Threads
942,409
Messages
6,913,963
Members
3,158,402
Latest member
MickTavia