• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Discussion - Developers _ONLY_] Building ICS from source (Isaac's github).

For some reason it feels like ICS is smaller than gingerbread because im already at 72% after an hour or two. I dont think he has pushed all the changes, unless my Internet isn't as clogged as normal. I guess people dont watch netflix on Tuesdays :D

EDIT: im at about 900mb so far for the ICS so far.
Im using
Code:
repo sync -j16


I'm at several GB... I can't afford to do this all over again. And now it is throwing errors.

Edit/Update: Well, it is trying to sync.
Code:
fatal: Unable to look up github.com (port 9418) (Name or service not known)
That's all I have been getting for the past 10 minutes.

Editx2: I'm calling it quits for the night. I can't seem to do anything now. I just keep getting the same error:
Code:
fatal: Unable to look up github.com (port 9418) (Name or service not known)
 
I tried building ICS 2 days ago and it says there's a file already specified by build core. I changed the files in "audio" in the main source, can't really remember what it was called exactly. Anyway, that got it to start building but near the end of the process, it fails. I tried but I can't find the cause of it.
 
I tried building ICS 2 days ago and it says there's a file already specified by build core. I changed the files in "audio" in the main source, can't really remember what it was called exactly. Anyway, that got it to start building but near the end of the process, it fails. I tried but I can't find the cause of it.

Okay thanks. this means he hasnt uploaded his cherry picks to github yet.
Well im at 96% 1.5gb so I will try to build and see what happens.
 
'repo sync -j16' seems unrealistically high, why do people use that value? It seems during the sync the actual data transfer is the slow part, so a -j2 (2 threads) would be enough, 1 for processing, 1 to start the next transfer. Probably less chance of getting repo errors.
 
'repo sync -j16' seems unrealistically high, why do people use that value? It seems during the sync the actual data transfer is the slow part, so a -j2 (2 threads) would be enough, 1 for processing, 1 to start the next transfer. Probably less chance of getting repo errors.
Well, it is what Isaac posted in his guide, and if you don't know what it means, you just follow those instructions to a "t". But yes -j2 or -j4 would be much better. I have done just fine with -j4.
 
Well, it is what Isaac posted in his guide, and if you don't know what it means, you just follow those instructions to a "t". But yes -j2 or -j4 would be much better. I have done just fine with -j4.

'repo sync -j16' seems unrealistically high, why do people use that value? It seems during the sync the actual data transfer is the slow part, so a -j2 (2 threads) would be enough, 1 for processing, 1 to start the next transfer. Probably less chance of getting repo errors.

Tried that, didn't do me a bit of good. :(
 
Well, it is what Isaac posted in his guide, and if you don't know what it means, you just follow those instructions to a "t". But yes -j2 or -j4 would be much better. I have done just fine with -j4.
I have never received a problem with using 16 threads. repo is highly unoptimized so basically its downloading 16 things at once. I have never received an error myself although I run a 6 core AMD cpu so maybe thats the difference. Also anything above 10 threads and it saves me about an hour because it uses all of my bandwidth. Thats the whole point. Also normally I use -j24 but because people have been getting errors I have lowered it some although like I said I have never encountered a problem and I have repo synced at least a dozen times from diff peoples githubs. Its not following instructions to a "T" its just what the rest of us use. All the -j[#] is just telling how many threads you want repo to use. Thats it, so its like running repo with 16 workers. and your Cpu cores are those workers so if you have a Dual core you have 2 workers and if you have a quad core you have 4 workers. But because repo cant utilize those workers we double stack them. So -j16 is just 4x4 so for me its fine a dual core would be fine with -j6.
 
No... I really don't want to do another round of 10GB worth of data.

But I guess that is my only option. How would you go about doing this?

10gb HOLY COW can anybody else confirm this?

My unclean GB directory is only like 4.9gb
That would mean ICS is double
 
No... I really don't want to do another round of 10GB worth of data.

But I guess that is my only option. How would you go about doing this?

I had a hang when trying to sync to CM7, killed it then just repo synched where it left off with fewer threads. Then it completed (haven't tried building yet). I think repo is smart enough to know where to continue. Worth a try and if it complains about file corruption then erase & try again.
 
No... I really don't want to do another round of 10GB worth of data.

But I guess that is my only option. How would you go about doing this?

What I do when i get an error is delete the files ~/bin and ~/android/system

Not sure if this is the same as you guys', but works for me! Then remake the files (mkdir) and start again from there
 
I have never received a problem with using 16 threads. repo is highly unoptimized so basically its downloading 16 things at once. I have never received an error myself although I run a 6 core AMD cpu so maybe thats the difference. Also anything above 10 threads and it saves me about an hour because it uses all of my bandwidth. Thats the whole point. Also normally I use -j24 but because people have been getting errors I have lowered it some although like I said I have never encountered a problem and I have repo synced at least a dozen times from diff peoples githubs. Its not following instructions to a "T" its just what the rest of us use. All the -j[#] is just telling how many threads you want repo to use. Thats it, so its like running repo with 16 workers. and your Cpu cores are those workers so if you have a Dual core you have 2 workers and if you have a quad core you have 4 workers. But because repo cant utilize those workers we double stack them. So -j16 is just 4x4 so for me its fine a dual core would be fine with -j6.

I had a hang when trying to sync to CM7, killed it then just repo synched where it left off with fewer threads. Then it completed (haven't tried building yet). I think repo is smart enough to know where to continue. Worth a try and if it complains about file corruption then erase & try again.

I have heard that there have been a lot of issues and errors when people try to use that many threads at once. So if cutting it down and letting it take longer lets it build correctly (which is what happens in my experience), then I would suggest it. I was not implying that you don't know what you are doing, but some people doing this don't and are just copy/pasting.
 
These files are located in the home folder right? I have two folders, Android and bin.
Bin has the file repo in it, then android has the "system" folder....

I tired to start over. Still having the same issues.
 
Those are the folders you want to delete, yes.

Code:
sean@Ubuntu-Vbox:~/android/system$ repo sync -j16
fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
Fetching projects:  29% (69/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/libpng.git'
Fetching projects:  39% (93/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
Fetching projects:  59% (140/237)  fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/libpng.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
fatal: Unable to look up github.com (port 9418) (Name or service not known)
error: Cannot fetch CyanogenMod/android_dalvik
error: Cannot fetch CyanogenMod/android_external_libpng
error: Cannot fetch platform/external/ping6
^Z
[2]+  Stopped                 repo sync -j16
That is what a typical run looks like, after I have stopped it, and started completely over.

Here's another one:
Code:
sean@Ubuntu-Vbox:~/android/system$ repo sync -j16
fatal: Unable to look up github.com (port 9418) (Name or service not known)
fatal: Not a git repository: '/home/sean/.repo/projects/bootable/bootloader/legacy.git'
fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
Fetching projects:  39% (93/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
Fetching projects:  59% (140/237)  fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
fatal: Not a git repository: '/home/sean/.repo/projects/bootable/bootloader/legacy.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
error: Cannot fetch CyanogenMod/android_bootable_bootloader_legacy
error: Cannot fetch CyanogenMod/android_dalvik
error: Cannot fetch platform/external/ping6
fatal: Unable to look up github.com (port 9418) (Name or service not known)
fatal: Unable to look up github.com (port 9418) (Name or service not known)
error: Cannot fetch CyanogenMod/android_hardware_broadcom_wlan
error: The requested URL returned error: 403 while accessing https://android.googlesource.com/platform/frameworks/support/info/refs

fatal: HTTP request failed
 
Smh at myself. I tried building gingerbread yesterday and ran into an error so i decided to delete all files and try ics once again (I seen a fix to my main error from previous tries) and once i was SO close to being finished, I ran out of disk space. My stupid self forgot to delete files from the trash, so it crashed my terminal (after waiting patiently for about 1 hour) and now I'm having to start ALL over. Guys, learn from my mistakes ;)
 
Code:
sean@Ubuntu-Vbox:~/android/system$ repo sync -j16
fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
Fetching projects:  29% (69/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/libpng.git'
Fetching projects:  39% (93/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
Fetching projects:  59% (140/237)  fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/libpng.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
fatal: Unable to look up github.com (port 9418) (Name or service not known)
error: Cannot fetch CyanogenMod/android_dalvik
error: Cannot fetch CyanogenMod/android_external_libpng
error: Cannot fetch platform/external/ping6
^Z
[2]+  Stopped                 repo sync -j16
That is what a typical run looks like, after I have stopped it, and started completely over.

Here's another one:
Code:
sean@Ubuntu-Vbox:~/android/system$ repo sync -j16
fatal: Unable to look up github.com (port 9418) (Name or service not known)
fatal: Not a git repository: '/home/sean/.repo/projects/bootable/bootloader/legacy.git'
fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
Fetching projects:  39% (93/237)  fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
Fetching projects:  59% (140/237)  fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'
fatal: Not a git repository: '/home/sean/.repo/projects/bootable/bootloader/legacy.git'
fatal: Not a git repository: '/home/sean/.repo/projects/external/ping6.git'
error: Cannot fetch CyanogenMod/android_bootable_bootloader_legacy
error: Cannot fetch CyanogenMod/android_dalvik
error: Cannot fetch platform/external/ping6
fatal: Unable to look up github.com (port 9418) (Name or service not known)
fatal: Unable to look up github.com (port 9418) (Name or service not known)
error: Cannot fetch CyanogenMod/android_hardware_broadcom_wlan
error: The requested URL returned error: 403 while accessing https://android.googlesource.com/platform/frameworks/support/info/refs

fatal: HTTP request failed

I'm sorry, but let me clarify:
-you got the error
-you went and deleted ~/bin and ~/android/system
-deleted ^ those files permanently from the trash (optional)
-went back into terminal
-typed: mkdir -p ~/android/system && mkdir -p ~/bin
-typed: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
-typed: chmod a+x ~/bin/repo
-rebooted
-started terminal again
-typed: cd ~/android/system
-typed: repo init -u git://github.com/ikarosdev/android.git -b ics
-set up name and email
-typed: repo sync -j16
? If not, follow ALL above
 
I'm sorry, but let me clarify:
-you got the error
-you went and deleted ~/bin and ~/android/system
-deleted ^ those files permanently from the trash (optional)
-went back into terminal
-typed: mkdir -p ~/android/system && mkdir -p ~/bin
-typed: curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
-typed: chmod a+x ~/bin/repo
-rebooted
-started terminal again
-typed: cd ~/android/system
-typed: repo init -u git://github.com/ikarosdev/android.git -b ics
-set up name and email
-typed: repo sync -j16
? If not, follow ALL above

Don't be, I know it seems odd, but yes. I followed this to a T.
 
This is one of the reasons I haven't tried to build it yet myself. The other being that I have a lot of stuff to do and can't afford the time to try and troubleshoot that much (or try to get help myself, I am not a pro at this by any means). I would see if someone else here can help you, if not wait till Isaac can do his post on all of this like he said he was planning on doing.

Basically be patient, it'll get worked out. You are doing what I would do, and at the moment I don't know what else to tell you. :(

It is quite possible that not everything is has been pushed to his github yet, I don't know. It looks like most of it is there, but I am only guessing. You might need to pull stuff from Cyanogenmod as well? It's probably best to wait for some better direction than I can give.
 
Its all there except he hasnt updated his cherry picks so you will be fighting alot of errors that he already solved.

ISAAC: if you are reading this please upload all of your changes to github. lol thanks :D

I have fully synced but upon building I get this error
Code:
build/core/base_rules.mk:166: *** hardware/qcom/media/audio/msm7x30: MODULE.TARGET.SHARED_LIBRARIES.audio.primary.triumph already defined by build/core.
When solved it throws another error. I can brute force solve most problems but thats not gonna work for ICS so im just gonna wait for isaac to finish updating his changes because he hasnt updated it since the 4th and Im sure thee has been aot of changes since then.
 
Don't be, I know it seems odd, but yes. I followed this to a T.

I think either you didn't do this:

-typed: cd ~/android/system
-typed: repo init -u git://github.com/ikarosdev/android.git -b ics

OR you did it in the wrong directory. Notice in your error log:

fatal: Not a git repository: '/home/sean/.repo/projects/bootable/bootloader/legacy.git'
fatal: Not a git repository: '/home/sean/.repo/projects/dalvik.git'

It is talking about /home/sean/.repo/...

That .repo directory should be /home/sean/android/system/.repo/...

Edit: OR, you have residual .repo directories laying around when you may have mistakenly done a "repo init" in the wrong directories.

If you look in the file manager and hit CTRL+H on your keyboard, you can see all of the hidden files/folders (basically any file/folder that begins with a dot such as .repo). Or, you can type ls -a in the terminal to show the hidden files also. I would get rid of any unneeded .repo directories, especially in your home folder /home/sean/.repo since I assume you won't really be doing any syncing or version control directly in the /home/sean/ folder.
 
Back
Top Bottom