[DEVS ONLY] ics repo

flapjack.fiasco

Well-known member
Sep 13, 2011
776
102
0
Visit site
A question, I built cm9 last night and everything is good, except the home button ain't working. Anyone else have this issue? Used the files tdm posted earlier plus the patches Jerryscript mentioned. Its running the prebuilt gingerkernel included in tdm's files

Btw, it takes like 8 hours to build cm9 on a 2.8ghz Pentium D with 2gb of ram running debian sid

Ouch! It takes me about an hour to build IHO on a Phenom II X4 with 8Gb of RAM.

Sent from my LG-VM670 using Tapatalk
 

sellers86

Well-known member
Jul 21, 2011
1,837
617
0
Visit site
The thread tells how to get setup, and yes, you can use it to build any rom you want.

I like the build server, its extremely fast. there is one problem ive noticed and its that when i try to create a folder and sync to it, it just syncs everything to the main directory. so everything gets mixed up and conflicts together. i think that might be some of the errors im getting. Do you know any way around it LeslieAnn?
 

tdm

Well-known member
Apr 11, 2011
1,409
3,596
0
Visit site
Speaking of which, I was wondering if I could get that fired in my name if I get a successful AOKP build..? :)

I got an AOSP build by tossing in CM9 patches where needed.

I don't see any devices that look similar to thunderc on their pages, so it's likely you'll need most all of the same patches as AOSP.

I can share my diffs against AOSP, unless you're in it for the challenge. ;)
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
I got an AOSP build by tossing in CM9 patches where needed.

I don't see any devices that look similar to thunderc on their pages, so it's likely you'll need most all of the same patches as AOSP.

I can share my diffs against AOSP, unless you're in it for the challenge. ;)

Yeah, I was sure expecting a challenge. Lol but I would definitely like to know the files you used, because a simpler route sounds a lot better at this moment. Is it mainly messing with the default.xml?
 

tdm

Well-known member
Apr 11, 2011
1,409
3,596
0
Visit site
Yeah, I was sure expecting a challenge. Lol but I would definitely like to know the files you used, because a simpler route sounds a lot better at this moment. Is it mainly messing with the default.xml?

No it's rather complex. The two biggest jobs are adding support for the armv6 cpu family and the qcom 50000 gps. Most of the rest of the stuff is pretty straightforward.
 

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
No it's rather complex. The two biggest jobs are adding support for the armv6 cpu family and the qcom 50000 gps. Most of the rest of the stuff is pretty straightforward.

Does you post in the building ics from source have anything to do with it?

lupohirp replied to my PM and said that he used webrtc from mikegapinski.

That seems to work, so now I have a cm9 tree that compiles clean from scratch! :D It is about four weeks old, which is just a couple days away from when lupohirp released his ROM. So maybe that was a good time to do a pull. In any event, I'm not even going to dream about syncing the tree to current until I can make some solid progress. :p

Here's the magic diff in case anyone wants it but doesn't feel like cloning mikegapinski's repo to get it:

Code:
diff --git a/src/common_audio/signal_processing_library/main/interface/spl_inl.h
index 8716ca9..6e20df6 100644
--- a/src/common_audio/signal_processing_library/main/interface/spl_inl.h
+++ b/src/common_audio/signal_processing_library/main/interface/spl_inl.h
@@ -19,10 +19,19 @@
 
 #ifdef WEBRTC_ANDROID
 
+__asm (
+   // On Android gcc compiler, the clz instruction is not supported with a
+   // target smaller than armv7, despite it being legal for armv5+.
+"   .arch armv7-a\n"
+//"   clz     %0, %1  \n"
+//"=r"    (leading_zeroes)
+//"r"     (data)
+);
+
 WEBRTC_INLINE WebRtc_Word32 WEBRTC_SPL_MUL(WebRtc_Word32 a, WebRtc_Word32 b)
 {
     WebRtc_Word32 tmp;
-    __asm__("mul %0, %1, %2":"=r"(tmp):"r"(a), "r"(b));
+    __asm__("smmul %0, %1, %2":"=r"(tmp):"r"(a), "r"(b)); //changed mul to smmu
     return tmp;
 }
 
@@ -66,7 +75,7 @@ WEBRTC_INLINE WebRtc_Word16 WebRtcSpl_AddSatW16(WebRtc_Word16 
 {
     WebRtc_Word32 s_sum;
 
-    __asm__("qadd16 %0, %1, %2":"=r"(s_sum):"r"(a), "r"(b));
+    __asm__("qadd %0, %1, %2":"=r"(s_sum):"r"(a), "r"(b));
 
     return (WebRtc_Word16) s_sum;
 }
@@ -86,7 +95,7 @@ WEBRTC_INLINE WebRtc_Word16 WebRtcSpl_SubSatW16(WebRtc_Word16 
 {
     WebRtc_Word32 s_sub;
 
-    __asm__("qsub16 %0, %1, %2":"=r"(s_sub):"r"(var1), "r"(var2));
+    __asm__("qsub %0, %1, %2":"=r"(s_sub):"r"(var1), "r"(var2));
 
     return (WebRtc_Word16)s_sub;
 }
How would I go about adding in the qcom 50000 gps?
 

LeslieAnn

Android Developer
Feb 8, 2011
2,895
1,720
0
Visit site
Speaking of which, I was wondering if I could get that fired in my name if I get a successful AOKP build..? :)
I have no idea what you mean.

I like the build server, its extremely fast. there is one problem ive noticed and its that when i try to create a folder and sync to it, it just syncs everything to the main directory. so everything gets mixed up and conflicts together. i think that might be some of the errors im getting. Do you know any way around it LeslieAnn?
TDM or someone else would be waaaaay more knowledgeable.

If you have a Windows problem or a network with issues, I can handle pretty much anything. On Mac I can do some pretty intense stuff, I can even help with BEOS and a few other oddballs that sprang up over the years, but, while I can use Linux and follow a guide, too much beyond that I'm pretty much a noob. Don't get me wrong, I can manage a Linux box or server, but it's a lot different than this sort of thing.
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
When you make the folder, you should use the -p flag to be sure it's public. Then cd into it before running repo init and repo sync. ;)
 

tdm

Well-known member
Apr 11, 2011
1,409
3,596
0
Visit site
Does you post in the building ics from source have anything to do with it?

Yes, that's one of the changes you'll need.


How would I go about adding in the qcom 50000 gps?

Crib the changes from CM9.

Below is my "repo status" after an AOSP 4.0 build. The files marked "--" are new (copied from CM9). The files marked "-m" have been edited. There are five changes, really:

* Add support for armv6 in the build.
* Add support for armv6 in dalvik.
* Add support for qcom 50000 gps.
* Fix webrtc compile.
* Fix hardware/msm7k compile.

The top three items are just copying files over and you have the patch for the fourth. So your mission, should you choose to accept it, is to do the last item. ;)

Oh, and there's one line that needs to be deleted from one of the overlay xml files in my alpha7 tarball because it's CM9 specific. The build error will point you straight to it.

Code:
project build/                                  (*** NO BRANCH ***)
 --     core/combo/arch/arm/armv6-vfp.mk
 --     core/combo/arch/arm/armv6j.mk
project dalvik/                                 (*** NO BRANCH ***)
 --     vm/compiler/codegen/arm/armv6-vfp/ArchVariant.cpp
 --     vm/compiler/codegen/arm/armv6-vfp/ArchVariant.h
 --     vm/compiler/codegen/arm/armv6-vfp/CallingConvention.S
 --     vm/compiler/codegen/arm/armv6-vfp/Codegen.cpp
 --     vm/compiler/codegen/arm/armv6j/ArchVariant.cpp
 --     vm/compiler/codegen/arm/armv6j/ArchVariant.h
 --     vm/compiler/codegen/arm/armv6j/CallingConvention.S
 --     vm/compiler/codegen/arm/armv6j/Codegen.cpp
 --     vm/compiler/template/armv6-vfp/TEMPLATE_ADD_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_ADD_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_CMPG_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_CMPG_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_CMPL_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_CMPL_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_DIV_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_DIV_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_DOUBLE_TO_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_DOUBLE_TO_INT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_FLOAT_TO_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_FLOAT_TO_INT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_INT_TO_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_INT_TO_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_MEM_OP_DECODE.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_MUL_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_MUL_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_RESTORE_STATE.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_SAVE_STATE.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_SQRT_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_SUB_DOUBLE_VFP.S
 --     vm/compiler/template/armv6-vfp/TEMPLATE_SUB_FLOAT_VFP.S
 --     vm/compiler/template/armv6-vfp/TemplateOpList.h
 --     vm/compiler/template/armv6-vfp/fbinop.S
 --     vm/compiler/template/armv6-vfp/fbinopWide.S
 --     vm/compiler/template/armv6-vfp/funop.S
 --     vm/compiler/template/armv6-vfp/funopNarrower.S
 --     vm/compiler/template/armv6-vfp/funopWider.S
 --     vm/compiler/template/armv6-vfp/platform.S
 --     vm/compiler/template/armv6j/TEMPLATE_CMPG_DOUBLE.S
 --     vm/compiler/template/armv6j/TEMPLATE_CMPG_FLOAT.S
 --     vm/compiler/template/armv6j/TEMPLATE_CMPL_DOUBLE.S
 --     vm/compiler/template/armv6j/TEMPLATE_CMPL_FLOAT.S
 --     vm/compiler/template/armv6j/TEMPLATE_CMP_LONG.S
 --     vm/compiler/template/armv6j/TEMPLATE_INTERPRET.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_CHAIN.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_CHAIN_PROF.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_NATIVE.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_NATIVE_PROF.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_NO_OPT.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_NO_OPT_PROF.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN.S
 --     vm/compiler/template/armv6j/TEMPLATE_INVOKE_METHOD_PREDICTED_CHAIN_PROF.
 --     vm/compiler/template/armv6j/TEMPLATE_MEM_OP_DECODE.S
 --     vm/compiler/template/armv6j/TEMPLATE_MONITOR_ENTER.S
 --     vm/compiler/template/armv6j/TEMPLATE_MONITOR_ENTER_DEBUG.S
 --     vm/compiler/template/armv6j/TEMPLATE_MUL_LONG.S
 --     vm/compiler/template/armv6j/TEMPLATE_PERIODIC_PROFILING.S
 --     vm/compiler/template/armv6j/TEMPLATE_RESTORE_STATE.S
 --     vm/compiler/template/armv6j/TEMPLATE_RETURN.S
 --     vm/compiler/template/armv6j/TEMPLATE_RETURN_PROF.S
 --     vm/compiler/template/armv6j/TEMPLATE_SAVE_STATE.S
 --     vm/compiler/template/armv6j/TEMPLATE_SHL_LONG.S
 --     vm/compiler/template/armv6j/TEMPLATE_SHR_LONG.S
 --     vm/compiler/template/armv6j/TEMPLATE_STRING_COMPARETO.S
 --     vm/compiler/template/armv6j/TEMPLATE_STRING_INDEXOF.S
 --     vm/compiler/template/armv6j/TEMPLATE_THROW_EXCEPTION_COMMON.S
 --     vm/compiler/template/armv6j/TEMPLATE_USHR_LONG.S
 --     vm/compiler/template/armv6j/TemplateOpList.h
 --     vm/compiler/template/armv6j/footer.S
 --     vm/compiler/template/armv6j/header.S
 --     vm/compiler/template/armv6j/platform.S
 --     vm/compiler/template/config-armv6-vfp
 --     vm/compiler/template/config-armv6j
 --     vm/compiler/template/out/CompilerTemplateAsm-armv6-vfp.S
 --     vm/compiler/template/out/CompilerTemplateAsm-armv6j.S
 --     vm/mterp/config-armv6-vfp
 --     vm/mterp/config-armv6j
 --     vm/mterp/out/InterpAsm-armv6-vfp.S
 --     vm/mterp/out/InterpAsm-armv6j.S
 --     vm/mterp/out/InterpC-armv6-vfp.cpp
 --     vm/mterp/out/InterpC-armv6j.cpp
project external/webrtc/                        (*** NO BRANCH ***)
 -m     src/common_audio/signal_processing_library/main/interface/spl_inl.h
project hardware/msm7k/                         (*** NO BRANCH ***)
 -m     Android.mk
 -m     liblights/Android.mk
project hardware/qcom/gps/                      (*** NO BRANCH ***)
 -m     loc_api/libloc_api-rpc/Android.mk
 --     loc_api/libloc_api-rpc/gen-50000/loc_api.xdr
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_cb.xdr
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_cb_svc.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_cb_xdr.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_clnt.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_common.xdr
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_common_xdr.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_fixup.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_rpc_glue.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_sync_call.c
 --     loc_api/libloc_api-rpc/gen-50000/loc_api_xdr.c
 --     loc_api/libloc_api-rpc/inc-50000/debug.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api_cb.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api_common.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api_fixup.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api_rpc_glue.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_api_sync_call.h
 --     loc_api/libloc_api-rpc/inc-50000/loc_apicb_appinit.h
 --     loc_api/libloc_api-rpc/inc/loc_api_sync_call.h
 --     loc_api/libloc_api-rpc/src/loc_api_sync_call.c
 -m     loc_api/libloc_api/Android.mk
 

LeslieAnn

Android Developer
Feb 8, 2011
2,895
1,720
0
Visit site
You don't need to be successful in building a rom, just someone who is contributing in a significant way to show you won't be a waste of resources.

So yes, you qualify. :)
 
  • Like
Reactions: rukin5197

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
Alright well I'd like to give it a shot :D . Do I just PM you a username and password? I'll have to get around to do it a little later, I'm leaving for school in about 15 minutes.
 

Invincible Madness

Well-known member
Jul 1, 2011
499
85
0
Visit site
I reinstalled Linux with SunJava and 8gb swap. Started reposync with IHO Gb branch and getting this error.

Code:
vamshi@ubuntu:~/android/system$ repo sync -j2
Fetching projects:   3% (7/204)  remote: Counting objects: 1841, done.
remote: Compressing objects: 100% (823/823), done.
Fetching projects:   4% (9/204)  Receiving objects:  17% (322/1841), 1.18 MiB | Fetching projects:   5% (11/204)  Receiving objects:  17% (330/1841), 1.63 MiB |Fetching projects:   6% (13/204)  Receiving objects:  17% (331/1841), 1.80 MiB |Fetching projects:   7% (15/204)  Receiving objects:  17% (331/1841), 1.99 MiB |Fetching projects:   8% (17/204)  Receiving objects:  17% (331/1841), 2.05 MiB |Fetching projects:   9% (19/204)  Receiving objects:  17% (331/1841), 2.08 MiB |Fetching projects:  10% (21/204)  Receiving objects:  17% (331/1841), 2.43 MiB |Fetching projects:  11% (23/204)  Receiving objects:  17% (331/1841), 2.51 MiB |remote: Counting objects: 48491, done.
remote: Compressing objects: 100% (13958/13958), done.
remote: Total 48491 (delta 34679), reused 47989 (delta 34177)
Receiving objects: 100% (48491/48491), 78.37 MiB | 350 KiB/s, done.
Resolving deltas: 100% (34679/34679), done.MiB | 449 KiB/s   
From http://github.com/CyanogenMod/android_external_chromium 
 * [new branch]      gb-release-7.2 -> github/gb-release-7.2
 * [new branch]      gingerbread -> github/gingerbread
 * [new branch]      gingerbread-release -> github/gingerbread-release
 * [new branch]      ics        -> github/ics
 * [new tag]         cm-7.1.0   -> cm-7.1.0
Fetching projects:  12% (25/204)  Receiving objects:  82% (1518/1841), 89.52 MiBFetching projects:  13% (27/204)  Receiving objects:  82% (1518/1841), 90.10 MiBFetching projects:  14% (29/204)  Receiving objects:  82% (1518/1841), 90.37 MiBFetching projects:  15% (31/204)  Receiving objects:  86% (1590/1841), 90.78 MiBFetching projects:  16% (33/204)  Receiving objects:  86% (1591/1841), 90.96 MiBFetching projects:  17% (35/204)  Receiving objects:  86% (1599/1841), 91.10 MiBFetching projects:  18% (37/204)  Receiving objects:  87% (1605/1841), 91.21 MiBFetching projects:  19% (39/204)  Receiving objects:  87% (1605/1841), 91.29 MiBFetching projects:  20% (41/204)  Receiving objects:  87% (1605/1841), 91.43 MiBFetching projects:  21% (43/204)  Receiving objects:  87% (1605/1841), 91.50 MiBFetching projects:  22% (45/204)  Receiving objects:  87% (1605/1841), 91.59 MiBFetching projects:  23% (47/204)  error: RPC failed; result=18, HTTP code = 200
Fetching projects:  24% (49/204)  remote: Counting objects: 15250, done.
remote: Compressing objects: 100% (3526/3526), done.
error: RPC failed; result=18, HTTP code = 200iB | 99 KiB/s

I press control Z to stop and repo sync again, but stops here all the time. I almost repeated 5-6 times.
Should I keep trying or something else?

EDIT: Trying repo sync (no j2) now upon gannon's advice.
 
Last edited:

rukin5197

Well-known member
May 26, 2011
1,105
628
0
Visit site
I reinstalled Linux with SunJava and 8gb swap. Started reposync with IHO Gb branch and getting this error.

Code:
vamshi@ubuntu:~/android/system$ repo sync -j2
Fetching projects:   3% (7/204)  remote: Counting objects: 1841, done.
remote: Compressing objects: 100% (823/823), done.
Fetching projects:   4% (9/204)  Receiving objects:  17% (322/1841), 1.18 MiB | Fetching projects:   5% (11/204)  Receiving objects:  17% (330/1841), 1.63 MiB |Fetching projects:   6% (13/204)  Receiving objects:  17% (331/1841), 1.80 MiB |Fetching projects:   7% (15/204)  Receiving objects:  17% (331/1841), 1.99 MiB |Fetching projects:   8% (17/204)  Receiving objects:  17% (331/1841), 2.05 MiB |Fetching projects:   9% (19/204)  Receiving objects:  17% (331/1841), 2.08 MiB |Fetching projects:  10% (21/204)  Receiving objects:  17% (331/1841), 2.43 MiB |Fetching projects:  11% (23/204)  Receiving objects:  17% (331/1841), 2.51 MiB |remote: Counting objects: 48491, done.
remote: Compressing objects: 100% (13958/13958), done.
remote: Total 48491 (delta 34679), reused 47989 (delta 34177)
Receiving objects: 100% (48491/48491), 78.37 MiB | 350 KiB/s, done.
Resolving deltas: 100% (34679/34679), done.MiB | 449 KiB/s   
From http://github.com/CyanogenMod/android_external_chromium 
 * [new branch]      gb-release-7.2 -> github/gb-release-7.2
 * [new branch]      gingerbread -> github/gingerbread
 * [new branch]      gingerbread-release -> github/gingerbread-release
 * [new branch]      ics        -> github/ics
 * [new tag]         cm-7.1.0   -> cm-7.1.0
Fetching projects:  12% (25/204)  Receiving objects:  82% (1518/1841), 89.52 MiBFetching projects:  13% (27/204)  Receiving objects:  82% (1518/1841), 90.10 MiBFetching projects:  14% (29/204)  Receiving objects:  82% (1518/1841), 90.37 MiBFetching projects:  15% (31/204)  Receiving objects:  86% (1590/1841), 90.78 MiBFetching projects:  16% (33/204)  Receiving objects:  86% (1591/1841), 90.96 MiBFetching projects:  17% (35/204)  Receiving objects:  86% (1599/1841), 91.10 MiBFetching projects:  18% (37/204)  Receiving objects:  87% (1605/1841), 91.21 MiBFetching projects:  19% (39/204)  Receiving objects:  87% (1605/1841), 91.29 MiBFetching projects:  20% (41/204)  Receiving objects:  87% (1605/1841), 91.43 MiBFetching projects:  21% (43/204)  Receiving objects:  87% (1605/1841), 91.50 MiBFetching projects:  22% (45/204)  Receiving objects:  87% (1605/1841), 91.59 MiBFetching projects:  23% (47/204)  error: RPC failed; result=18, HTTP code = 200
Fetching projects:  24% (49/204)  remote: Counting objects: 15250, done.
remote: Compressing objects: 100% (3526/3526), done.
error: RPC failed; result=18, HTTP code = 200iB | 99 KiB/s

I press control Z to stop and repo sync again, but stops here all the time. I almost repeated 5-6 times.
Should I keep trying or something else?
Whenever I get repo sync errors I like to experiment with different cores. So try doing
Code:
repo sync
instead of
Code:
repo sync -j2
 
  • Like
Reactions: Invincible Madness

Forum statistics

Threads
943,173
Messages
6,917,633
Members
3,158,861
Latest member
dumpsterrentals38