[ GUIDE ] How to Setup Ubuntu 13.10 Saucy Salamander to Compile Android ROMs - Android

--- copied with permission from nathanpfry.com ---
--- If you would like a ready-to-go Virtual Machine, check out my post here! ---​
Initializing a fresh Android Build Environment in Ubuntu 13.10 sucks, right? The instructions at the AOSP page are outdated and inaccurate. Near as I can tell, they try to have you install 2 JDKs, the first one not even being the correct link for Saucy Salamander, and the second being OpenJDK. Which might work. But I dunno about all that, I'd rather have Oracle's official stamp when it comes to building for Android.
Currently most of the guides are up to 12.04 LTS, which is fine and dandy, but being on the cutting edge is nice too.
This guide applies to all variations of Ubuntu 13.10 Saucy Salamander 64 bit. Do not use the 32 Bit version. Also, PAY CLOSE ATTENTION when to use "sudo" and when to not. It can make things funky if you do something as root that you shouldn't.
Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.
First, let's set up the correct JDK.
Many of you probably have some kind of wrong Java installed unless you're starting with a fresh Ubuntu base, and even then maybe.
Let's get rid of that. Copy and paste this into a Terminal window:
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
Follow the instructions to remove OpenJDK. If you must keep it, it's possible. But I'm not going to tell you how to do it here. I don't want any chance of confusion or mistake.
Now copy and paste the following into the Terminal:
Code:
sudo add-apt-repository ppa:webupd8team/java
This will add the correct PPA to your system for updated builds of Java 6 JDK that are compatible with 13.10. No more unrecognized Java version errors! And it will update automatically with the rest of your system.
Next, we actually need to install the package. More copy-paste:
Code:
sudo apt-get update && sudo apt-get install oracle-java6-installer
Follow the on-screen instructions. You have to Accept the Licensing Agreement to complete the install. Hopefully no human centipede clauses.
Let's make sure the correct version of Java is activated, run the following Terminal command:
Code:
java -version
You should see something like the following:
Code:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
Ok, back to a fresh Terminal prompt. Time for installing the guts to build stuff in Ubuntu:
Code:
sudo apt-get install git-core lzop ccache gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python gcc g++ cpp gcc-4.8 g++-4.8
When that is done installing, run the following command in your Terminal window:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
That's it on the package side of things.
You guessed it, time for more Terminal. This really is the easiest way, seriously. And it's totally worth it when you're basking in the glory of a bunch of people on XDA.
The binary for a program called "repo" will let you talk to git servers and download all that precious source code. That second part after the && allows it to be executable:
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Use your favorite text editor to open ~/.bashrc
I like nano:
Code:
sudo nano ~/.bashrc
At the very bottom, add the following line:
Code:
export PATH=~/bin:$PATH
Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:
Code:
source ~/.bashrc
In the terminal, navigate to where you would like to store the Android source code. The directions below will make it in your home folder, but if you have limited space, you may want to create it somewhere else. Faster is better, i.e. SSD would be best, USB external is basically unusable. Here we go:
Code:
mkdir ~/android
cd ~/android
Now you're going to initialize the repo. Here's where you decide the flavor of Android you want to build for, ie AOKP, CyanogenMod, AOSP etc. The following, for the purposes of this tutorial, will initialize for AOKP Jellybean MR-2:
Code:
repo init -u git://github.com/AOKP/platform_manifest.git -b jb-mr2
Almost there. Last step, but it's a doozy. You're going to get the source. Prepare yourself, mere mortal. 10+ GB of downloading await you. Don't worry, it's automated. Go to sleep. Eat something. Perhaps you have heard of this new thing the kids are doing called "going outside"? Yeah, I didn't think so. Me neither. The final terminal command, to be run from your android directory:
Code:
repo sync
Check back periodically every hour or so. It really all depends on how fast your internet connection is.
That should be everything. Now you're ready to build Android the right way. Luck!
Feel free to buy me a coconut water (donate) if you like my work. It would be greatly appreciated!​
Please hit the "Thanks" button if this post helped you out!

Thanks for this... It should work on the official final release right?
I tried using a guide for Ubuntu 13.04 and it can't install one of the packages listed and repo init fails...hopefully this will work
Also, anyone know what the repo init command to build PAC rom is?
Sent from my Galaxy Nexus using Tapatalk

hmm...all good except repo doesnt seem to work with
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
but it does with
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
from http://source.android.com/source/downloading.html

I am getting this error:
[email protected]:~/cm10.1$ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
/home/kevin/bin/repo: Zeile 1: Syntaxfehler beim unerwarteten Wort »newline«
/home/kevin/bin/repo: Zeile 1: `<!DOCTYPE html>'
---------- Post added at 05:21 PM ---------- Previous post was at 05:14 PM ----------
Edit: Fixed it myself.

Kevinjoa said:
I am getting this error:
[email protected]:~/cm10.1$ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
/home/kevin/bin/repo: Zeile 1: Syntaxfehler beim unerwarteten Wort »newline«
/home/kevin/bin/repo: Zeile 1: `<!DOCTYPE html>'
---------- Post added at 05:21 PM ---------- Previous post was at 05:14 PM ----------
Edit: Fixed it myself.
Click to expand...
Click to collapse
How do you fixed it? I am getting the same Error here.

chrisi92 said:
How do you fixed it? I am getting the same Error here.
Click to expand...
Click to collapse
metalspring posted the fix above (as did I in another thread yesterday):
Code:
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

Oh sry, i didnt saw it. But thx for the solution
Gesendet von meinem SM-N9005 mit Tapatalk

chrisi92 said:
Oh sry, i didnt saw it. But thx for the solution
Click to expand...
Click to collapse
No problems - good luck with the build.

This is awesome. I was having this same problem and now I will have it fixed. Thanks so much.
Sent from my SPH-D710 using Xparent Skyblue Tapatalk 2

Excellent guide...
Read several guides and got stuck in every guide..
Thank you for this great guide...!!!!

if i wanted to build specific for e4gt(d710) i would replace mr2 with d710?
(repo init -u git://github.com/AOKP/platform_manifest.git -b jb-d710)

twrex82 said:
if i wanted to build specific for e4gt(d710) i would replace mr2 with d710?
(repo init -u git://github.com/AOKP/platform_manifest.git -b jb-d710)
Click to expand...
Click to collapse
instructions are right on the aokp platform manifest page-
Init repo only for a particular device :
$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr2 -g all,-notdefault,<devicename>,<vendorname>
for example, to init only trees needed to build mako :
$ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr2 -g all,-notdefault,mako,lge

out of curiousity, is there a reason why we need to use java 6? instead of 7 or even 8 now?

psycopanther said:
out of curiousity, is there a reason why we need to use java 6? instead of 7 or even 8 now?
Click to expand...
Click to collapse
As far as I know android will only build properly with the java 6 the op says to use... I've never tried anything else but I've heard there are issues for trying to build using anything else
(Feel free to try though, it's easy enough to remove other java versions and go back to java 6)
Edit: it is possible to build with java 7 but you have to use workarounds to fix different issues
http://www.informit.com/articles/article.aspx?p=1966023

I'm looking forward to reading through this once I get my environment set-up again. My previous attempts to build android have all failed

Ok I have problems with this step:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
I get those errors:
Code:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package lib32ncurses5
E: Unable to locate package lib32z1
E: Unable to locate package lib32bz2-1.0
E: Couldn't find any package by regex 'lib32bz2-1.0'
E: Unable to locate package lib32ncurses5-dev
E: Unable to locate package lib32z-dev
E: Unable to locate package lib32readline-gplv2-dev
E: Unable to locate package lib32readline5
E: Unable to locate package lib32readline6
E: Unable to locate package lib32bz2-dev
Please advise me how to reslove this.

You are using Ubuntu 13.10, right? Different versions of Ubuntu have slightly different packages they need
Sent from my Galaxy Nexus using Tapatalk

metalspring said:
You are using Ubuntu 13.10, right? Different versions of Ubuntu have slightly different packages they need
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
Yes I do.

I'm trying to install the 64 bit version 13.10 onto my laptop via Virtualbox. I keep getting the following error message when trying to boot up the iso so that I can install it. As far as I know, I the core i5 processor (3210m) is able to support 64bit software. If I am wrong, or there is something that I am possibly doing wrong, please let me know. Thanks in advance.
edit: of course, I find this after posting my issue (hopefully, it helps anyone else who is having the problem, as well):
http://askubuntu.com/questions/3089...ntu-12-04-on-my-virtualbox-4-2-not-successful

..

Related

[ GUIDE ] How to Configure Ubuntu 12.10 to Build Android (All Variants)

--- copied with permission from nathanpfry.com ---​
Initializing a fresh Android Build Environment in Ubuntu 12.10 64-bit sucks, right? The instructions at the aosp page are outdated at best, wrong at worst. Near as I can tell, they try to have you install 2 JDKs, the first one not even being the correct link for Quantal Quetzal, and the second being OpenJDK. Which _might_ work. But iiiiiiii dunno about all that, I'd rather have Oracle's official stamp when it comes to building for Android.
Currently most of the guides are up to 12.04 LTS, which is fine and dandy, but being on the cutting edge is nice too. Plus, I don't think I've seen anyone aggregate the directions in this order, for the correct official JDK and everything just right for building happiness.
This guide applies to Ubuntu 12.10 Quantal Quetzal 64 bit. It might work for 12.04 too, but *shrug*. Also, PAY CLOSE ATTENTION when to use "sudo" and when to not. It can make things funky if you do something as root that you shouldn't.
Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.
First, let's set up the correct JDK.
Most of you, if not all, probably have some kind of wrong Java installed. Sad panda.
Let's get rid of that. Copy and paste this into a Terminal window:
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
Banish the OpenJDK! If you must keep it, it's possible. But I'm not going to tell you how to do it. I don't want any chance of confusion or mistake.
Back to the Terminal. Copypasta the following:
Code:
sudo add-apt-repository ppa:webupd8team/java
This will add the correct PPA to your system for updated builds of Java 6 JDK that are compatible with 12.10. No more unrecognized Java version errors! Yay! And it's self updating, so you don't have to redownload binaries everytime they release a new version.
Next, we actually need to install the package. More copypasta:
Code:
sudo apt-get update && sudo apt-get install oracle-java6-installer
Follow the onscreen instructions. You have to Accept the Licensing Agreement or whatever. Hopefully no human centipede clauses. Once that is completed successfully, you will have to restart any open browsers with Java content for it to display correctly.
To make sure the correct version of Java is activated, run the following at the Terminal prompt:
Code:
java -version
You should see something like the following:
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
Ok, back to a fresh Terminal prompt. Time for installing the guts to build stuff in Ubuntu:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
And we wait. Don't worry, this isn't the crazy downloading part just yet.
When that is done, do this:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
That's probably it on the package side of things. Probably.
You guessed it, time for more Terminal. This really is the easiest way, seriously. And it's totally worth it when you're basking in the glory of a bunch of people on XDA.
The binary for repo will let you talk to git servers and download all that precious source code. That second part after the && allows it to be executable:
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Use your favorite text editor to open ~/.bashrc
I like nano:
Code:
sudo nano ~/.bashrc
At the very bottom, add the following line:
Code:
export PATH=~/bin:$PATH
Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:
Code:
source ~/.bashrc
Navigate to where you would like to store the Android source code. The directions below will make it in your home folder, but if you have limited space, you may want to create it somewhere else. Faster is better, ie SSD would be best, USB external is unusable. Here we go:
Code:
mkdir ~/android
Code:
cd ~/android
Now you're going to initialize the repo. Here's where you decide the flavor of Android you want to build for, ie AOKP, CyanogenMod, AOSP etc. The following, for the purposes of this tutorial, will initialize for AOKP:
Code:
repo init -u git://github.com/AOKP/platform_manifest.git -b jb
Almost there. Last step, but it's a doozy. You're going to get the source. Prepare yourself, mere mortal. 10+ GB of downloading await you. Don't worry, it's automated. Go to sleep. Eat something. Perhaps you have heard of this new thing the kids are doing called "going outside"? Yeah, I didn't think so. Me neither. Hey everyone, it's a terminal:
Code:
repo sync
Check back periodically every hour or so. It really all depends on how fast your internet connection is.
That should be everything. Now you're ready to build Android the right way. Luck! If this guide helped you, please say Thanks.
Problem
When I do the command
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev python
My prompt returns
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
E: Unable to locate package zlib1g-dev
E: Unable to locate package libx11-dev
E: Unable to locate package libreadline6-dev
E: Unable to locate package libgl1-mesa-glx
E: Unable to locate package libreadline6-dev
E: Unable to locate package libreadline6
E: Unable to locate package libwxgtk2.6-dev
E: Couldn't find any package by regex 'libwxgtk2.6-dev'
All I did was copy and paste and it won't work. Any suggestions?
One of the straightforward guides I've ever seen. It's quick, easy and problem-free
Also how about your device config?
And with make use: make -j`grep 'processor' /proc/cpuinfo | wc -l`
64-bits
Well to anyone else going through this make sure you get the 64-bit ISO, not the default 32 bit one off the desktop page.
so i am trying to do this
problem is right after installing java when i go to install all the stuff needed to build stuff...alot of the packages are not available...starting with ia32-libs and alot of the other libs
on ubuntu 12.10 32bit on a vm
tnpapadakos said:
so i am trying to do this
problem is right after installing java when i go to install all the stuff needed to build stuff...alot of the packages are not available...starting with ia32-libs and alot of the other libs
on ubuntu 12.10 32bit on a vm
Click to expand...
Click to collapse
Those libs are so 64bit can run 32bit tools. From what I'm getting, a 64bit system is required to compile JB. I'm not entirely convinced yet, more like hoping though
DNRDustin said:
Those libs are so 64bit can run 32bit tools. From what I'm getting, a 64bit system is required to compile JB. I'm not entirely convinced yet, more like hoping though
Click to expand...
Click to collapse
and with 64 bit im running into other issues...i follow the directions and then stuff like file does not exist happens...stupid stuff...this should not be that hard or mysterious...got me to thinking a slip-streamed ubuntu install disk with everything one needs to set up the environment built right in would be awesome
tnpapadakos said:
and with 64 bit im running into other issues...i follow the directions and then stuff like file does not exist happens...stupid stuff...this should not be that hard or mysterious...got me to thinking a slip-streamed ubuntu install disk with everything one needs to set up the environment built right in would be awesome
Click to expand...
Click to collapse
dell is working on a github project for something similar to this. users will *supposedly* be able to easily replicate build environments according to a profile-type system.
anyway, if you want to PM me i can try to help you out. i understand the frustration, it's why i wrote the guide &&
good luck everyone!
Peteragent5 said:
One of the straightforward guides I've ever seen. It's quick, easy and problem-free
Also how about your device config?
And with make use: make -j`grep 'processor' /proc/cpuinfo | wc -l`
Click to expand...
Click to collapse
Don't use make! Use mka! I forgot to add this part as I mentioned it in another post somewhere on xda &&
Ok so, the reasoning is, mka is a streamlined version of make that will utilize a job handler automatically to speed up your build process.
So, your build string becomes
Code:
source build/ensetup.sh && lunch yourdevicenamehere && mka yourdevicenamehere
Furthermore, if you're building for Cyanogenmod or a cm-based ROM, use brunch. It does optimizations after the build process with a tool called "squisher" that is not normally called for with lunch/mka. Thusly,
Code:
source build/ensetup.sh && brunch yourdevicehere
If you want to read about why, I recommend checking out this dude over here
thanks for reminding me!
E: Unable to locate package libwxgtk2.6-dev
E: Couldn't find any package by regex 'libwxgtk2.6-dev'
Got this but it turned out not to matter. Also needed to install sharutils. Thanks for this though, it really helped!
etoD said:
E: Unable to locate package libwxgtk2.6-dev
E: Couldn't find any package by regex 'libwxgtk2.6-dev'
Got this but it turned out not to matter. Also needed to install sharutils. Thanks for this though, it really helped!
Click to expand...
Click to collapse
it's libwxgtk2.8-dev nao
™
droidjam said:
it's libwxgtk2.8-dev nao
™
Click to expand...
Click to collapse
Thank you. By the way, when running
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python
I got
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
g++-multilib : Depends: gcc-multilib (>= 4:4.7.2-1ubuntu2) but it is not going to be installed
Depends: g++-4.7-multilib (>= 4.7.2-1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Click to expand...
Click to collapse
And had to run this first:
Code:
sudo apt-get -f install build-essential
What I want to know is why are we supposed to use 64bit instead if 32bit?
Cause my comp supports 32bit fine but runs a bit slower with 64bit
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Jellybean requires 64bit to build properly
Sent from my GT-N7000 using XDA Premium HD app
I tryed using Ubuntu 64bit and my comp crashed :/
Sent from my SAMSUNG-SGH-T989 using xda app-developers app
Are you running side by side or in VM or did you install with wubi or did portion your hard drive or are you just trying it to see if it works
Sent from my GT-N7000 using XDA Premium HD app
---------- Post added at 08:00 PM ---------- Previous post was at 07:56 PM ----------
I setup 12.04 everything setup fine intell a try to download source keep getting fetch errors and stuff like source may be corrupt I'm trying for cm10.1 not sure what is going on but am going to start over buy uninstalling and reinstalling Ubuntu on my machine and start from scratch will see what I get
Sent from my GT-N7000 using XDA Premium HD app
It could just be the source entirely.....what is the fetch error....what is it trying to fetch that is causing the error
And how are you repoing the source?
Doing per some guides and even tried from teamhacksung wiki how to build CM10.1
As for the errors i can't remember the errors but I am starting over fresh Ubuntu and all
Sent from my GT-N7000 using XDA Premium HD app
Hi. I'm getting repo fetch errors when trying to sync the CM10.1 source code. I originally used the "repo sync -j16" command but I got the error and switched to just "repo sync". That didn't work though as I got the same error, which is
Code:
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
remote: Counting objects: 20804, done.
remote: Compressing objects: 100% (6058/6058), done.
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
error: Cannot fetch CyanogenMod/android_prebuilt
error: Exited sync due to fetch errors
Is the repo just having a bad day or is it a problem on my end? Thanks.
Try
repo sync -j1
Slower but stable
Or the repos are updated right now that would explain that behavior
™

[NEWBIES]How to build cm10.2 for this device

Building on Ubuntu 12.04 is currently only experimentally supported and is not guaranteed to work on branches other than master.
Installing required packages (Ubuntu 12.04)
Code:
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Installing Repo
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
Code:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Now 80% of your work is done.. Now its time for actual cm10.2 development
Code:
mkdir -p cm10.2
Code:
$ PATH=~/bin:$PATH
Code:
cd cm10.2
Code:
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
Code:
repo sync -jX
where X is any integer. If you have high speed connection then try something like -j16 or -j32
This will take long time because you are trying to download around 15gb
Once this is done go in your cm10.2 directory and do this
Code:
sh vendor/cm/get-prebuilts
Congrats your build machine is now ready.
Create a script named " compile.sh " inside cm10.2 folder and paste these contents inside it.
Code:
#!/system/bin/sh
PATH=~/bin:$PATH
repo sync -j32
.build/envsetup.sh
export USE_CCACHE=1
make clean
brunch protou
So to start compiling you have to do this command inside your cm10.2 folder
Code:
sh compile.sh
This will give you a basic build machine. I haven't added the device specific stuff yet. To do that:
Assuming you are in cm10.2 folder before each step.
1.Create device tree
Code:
mkdir -p /device/htc
Go in /device/htc
Code:
git clone https://github.com/prototype-U/android_device_htc_protou.git
Rename this folder to protou
Code:
git clone https://github.com/ProtouProject/android_device_htc_common.git
Rename this folder to common
2.Add vendors WIP
Code:
mkdir -p /vendor/htc/
Go in /vendor/htc/
Code:
git clone https://github.com/prototype-U/android_vendor_htc_protou.git
Rename this folder to protou
3.Add kernel sources
Code:
mkdir -p kernel/htc/
Go in /kernel/htc/protou
Code:
git clone -b cm10.2 https://github.com/prototype-U/android_kernel_htc_protou.git
Rename this folder to protou
And you are done! You can try compiling now..
I'll try this on Arch Linux in the evening and report back if it worked. Hopefully I'll find the right dependencies for the build as Arch Linux is a bit special with this. Anyway thanks for the guide!
Sent from my HTC Desire X using XDA Premium 4 mobile app
Why?
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
we got ARMv7
Klapo said:
Why?
repo init -u git://github.com/androidarmv6/android.git -b cm-10.2
we got ARMv7
Click to expand...
Click to collapse
Source, Its on androidarmv6 git its a group or something...not related to this.
Sent from my HTC Desire X using xda premium
Found a typo. It has to be "-b cm-10.2" in last clone command, then it works.
prototype-U said:
Create a script named " compile.sh " inside cm10.2 folder and paste these contents inside it.
Code:
#!/system/bin/sh
PATH=~/bin:$PATH
repo sync -j32
.build/envsetup.sh
export USE_CCACHE=1
make clean
brunch protou
So to start compiling you have to do this command inside your cm10.2 folder
Code:
sh compile.sh
Click to expand...
Click to collapse
A guy from #cyanogenmod-dev told me that is much better to use terminal to start compiling then this script,he told me to do this :
cd cm10.2
export USE_CCACHE=1
source build/envsetup.sh
brunch protou
These are just recommendations.
prototype-U said:
Code:
mkdir -p /device/htc
Go in /device/htc
Click to expand...
Click to collapse
It's actually mkdir -p device/htc. You made a typo,it will create a folder inside the system partition.
Then go into device/htc.
prototype-U said:
Code:
mkdir -p /vendor/htc/
Go in /vendor/htc/
Click to expand...
Click to collapse
Same here,it's mkdir -p vendor/htc .
Then go in vendor/htc.
prototype-U said:
Code:
mkdir -p kernel/htc/
Go in /kernel/htc/protou
Click to expand...
Click to collapse
The folder location is good here but you go :
cd kernel/htc instead of /kernel/htc/protou.
Also i had to install these to make it work. We need java,etc.
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib
Don't take this offensively,i am just trying to help.
nightwalkerkg said:
A guy from #cyanogenmod-dev told me that is much better to use terminal to start compiling then this script,he told me to do this :
cd cm10.2
export USE_CCACHE=1
source build/envsetup.sh
brunch protou
These are just recommendations.
It's actually mkdir -p device/htc. You made a typo,it will create a folder inside the system partition.
Then go into device/htc.
Same here,it's mkdir -p vendor/htc .
Then go in vendor/htc.
The folder location is good here but you go :
cd kernel/htc instead of /kernel/htc/protou.
Also i had to install these to make it work. We need java,etc.
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib
Don't take this offensively,i am just trying to help.
Click to expand...
Click to collapse
None taken. To be honest I have never tried setting up a build machine because my build server already had everything installed. And the steps I have mentioned above are not tested by me. I modify the core manifest to sync everything rather than doing it manually. Btw there is nothing wrong with the script, I made it just to reduce my manual work.
Sent from my HTC Desire X using xda app-developers app
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
dansou901 said:
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
Click to expand...
Click to collapse
You have to make sure that you have synced all device related repos correctly. To make sure; goto the folder where you synced; goto device/htc and you should see protou and common folders.
dansou901 said:
I ran into problems using the script, because I use zsh as my favorite shell. When the shell interpreter used in the script and the shell used for building is not the same, the sourcing won't work and it will give you an error like "brunch: command not found".
Click to expand...
Click to collapse
Do it each time in a new shell. . /build/envsetup.sh
Sent from my HTC Desire X using xda app-developers app
Instead of renaming we could do
git clone git://github.com/<user>/android_device_htc_protou.git protou
do the same for common
Just a suggestion (sames lot of time :silly: )

[ GUIDE ] How to Prepare Ubuntu 14.04 LTS Trusty Tahr to Compile Android ROMs

--- If you would rather use a ready-to-go Virtual Machine, check out my post here. ---
--- Copied with permission from http://nathanpfry.com ---
TLDR; if you don't care about an explanation of what your system is doing,
click here to check out XDA Senior Member Aaahh's sweet two-step method based on my guide below.
Otherwise, keep reading!​
With a new version of Ubuntu comes an update to my world-famous guide for setting up a build environment to compile Android ROMs. 14.04 Trusty Tahr is the next Long Term Support edition of the popular Linux distro. The aim of this guide is to simplify the configuration process for you.
Follow the directions step-by-step. All you have to do is copy and paste the code sections in order and you will be up and running in no time!
This guide applies to all variations of Ubuntu 14.04 LTS Trusty Tahr 64 bit. Do not use the 32 Bit version.
Also, PAY CLOSE ATTENTION when to use "sudo" and when to not. It can make things funky if you do something as root that you shouldn't.
Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.
Ready to begin? Ok.
1) Unless it's a completely fresh Ubuntu installation, many of you may have the wrong version of Java installed. Let's fix that first.
The command below makes sure you're starting with a clean slate. Copy and paste it into a terminal (command prompt) window:
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
If necessary, follow the on-screen instructions to remove any previous versions. Otherwise, move on to the next step.
It's time to install Java, one of the core pieces for compiling Android ROMs. Depending on which version of Android you are building, you will need the corresponding version of the Java Development Kit.
*** IF YOU ARE BUILDING ANDROID GINGERBREAD THRU KITKAT (2.3 - 4.4.x) USE THESE INSTRUCTIONS FOR JDK 6***
2) Copy and paste the following into the terminal:
Code:
sudo add-apt-repository ppa:webupd8team/java
This will add the correct PPA to your system for updated builds of Java 6 JDK that are compatible with 14.04.
3) Now you need to install the package. More copy-paste:
Code:
sudo apt-get update && sudo apt-get install oracle-java6-installer
Follow the on-screen instructions. You must accept the Licensing Agreement to complete the install.
Press Enter to acknowledge the "OK", then tab over to "Yes" and press Enter again to accept the license. The installation will continue automatically.
4) Let's make sure the correct version of Java is activated. Run the terminal command:
Code:
java -version
You should see something like:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
Continue to Step 5.
*** IF YOU ARE BUILDING ANDROID L AND ABOVE (CURRENT AOSP MASTER BRANCH) USE THESE INSTRUCTIONS FOR JDK 7***
2) Install Open-JDK 7 for the necessary Java development tools.
Code:
sudo apt-get update && sudo apt-get install openjdk-7-jdk
Follow the on-screen instructions.
3) Let's make sure the correct version of Java is activated. Run the terminal command:
Code:
java -version
You should see something like OpenJDK 1.7
Continue on to Step 5.
5) Back to a fresh terminal prompt. Install the main build tools with this command:
Code:
sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng
That's it on the package side of things. You guessed it, time for more Terminal. This really is the easiest way, I promise.
6) A program called "repo" lets you communicate with git servers and download all that precious source code. The next command will install it:
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
7) Use your favorite text editor to open ~/.bashrc - I like nano:
Code:
sudo nano ~/.bashrc
8) At the very bottom (use the Page Down key) paste this code to a new (empty) line:
Code:
export PATH=~/bin:$PATH
9) Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:
Code:
source ~/.bashrc
10) In the terminal, navigate to where you would like to download the Android source code. The commands below will make it in your home folder, but if you have limited space you may want to create it somewhere else. Faster is better, i.e. SSD would be best, USB external is basically unusable. Here we go:
Code:
mkdir ~/android
cd ~/android
11) Now you're going to initialize the repo. This is where you decide the flavor of Android you want to build, i.e. AOKP, CyanogenMod, AOSP etc.
For the purposes of the tutorial, here's the command for AOKP KitKat:
Code:
repo init -u git://github.com/AOKP/platform_manifest.git -b kitkat
12) Almost there. Last step, it's a doozy. Time to get the source. Prepare yourself, 10+ GB of downloading await.
Don't worry, it's automated. Go to sleep. Eat something. Perhaps you have heard of this new thing the kids are doing called "going outside"? Yeah, I didn't think so. Me neither.
Hey everyone, it's the final terminal command:
Code:
repo sync
Check back periodically every hour or so. It all depends on how fast your connection is.
That should be everything. Now you're ready to build Android the right way. Good luck!
For those of you that want to build Lollipop (which requires JDK 1.7) but already have your system configured for GB-KK (JDK 1.6), here's the easiest way to update your system:
First, install OpenJDK7. At a terminal:
Code:
sudo apt-get install openjdk-7-jdk
Once that completes, you simply need to tell Linux to use the newer version of Java and Java Compiler to render content. Run the following two commands separately, making the correct selection for OpenJDK 1.7 both times when prompted. Again in the terminal:
Code:
sudo update-alternatives --config java
sudo update-alternatives --config javac
That should do the trick! Have fun everyone..
Feel free to buy me a coconut water (donate) if you like my work. It would be greatly appreciated!
Please hit the "Thanks" button if this post helped you out!​
not for me...
ppa:webupd8team/java no longer supports oracle-java6-installer.....
at least when I tried it on ubuntu 14.04 a week ago......
had to resort to the old fashion way of installing jdk from older oracle instructions...!!!
UPDATED:
----------------
seems at the time we tested(feb.4) it did not work but since then has been fixed...
at the time the OP posted it had been corrected, feb.7
fgdn17 said:
had to resort to the old fashion way of installing jdk from older oracle instructions...!!!
Click to expand...
Click to collapse
Respectfully, you're wrong.
Yesterday I tried the instructions (as I was writing the guide) with the latest Alpha of Xubuntu 14.04 and it works fine.
It appears they've updated the PPA within the last few days to support Trusty Tahr.
I wouldn't publish a guide that I hadn't verified myself as working, unlike some people.
well that implies they have fixed it...because on feb 4 we setup Ubuntu 14.04 and had to work around the issue
because it did not work.....
so did it work well for you a week ago???
maybe because of the different systems???
will give it a try again in the next couple of weeks if we get time...either way it's good to know
it has been corrected....
and BTW we also installed openjava 7, switched between the two and
build our source without issues.....
source was android-x86 kitkat
got a chance to check this am and it was FIXED YESTERDAY it appears.....
https://launchpad.net/~webupd8team/+archive/java
https://launchpad.net/~nilarimogard/+related-packages
and as stated did not work a week ago....feb.-1 thru feb 4
thanks for the updates...
fgdn17 said:
got a chance to check this am and it was FIXED YESTERDAY it appears.....
Click to expand...
Click to collapse
That's great, but your first post is still wrong. You should edit it so other users aren't confused.
oracle-java6-installer works perfectly fine in Ubuntu 14.04 at the time of the original posting.
I used 14.04 early and i had to install some extra packages because things wouldn't work properly, just a heads up incase anyone is having problems...
I've build android 4.2 and 4.4 using openjdk 1.7, without any changes, using ubuntu 13.10 (some time ago in aosp there has been added patches which fixes build under java 7, of course it's not for all android versions).
This guide really complicates things. Most of this could be put into a single one-liner.
I appreciate a detailed, step-by-step guide like this. In my experience here, I've found that far too many arrogant developers hold the opinion that since they had to find things out the hard way, everyone else should have to as well. Finding developers that actually want to help people out, rather than snub them with snot-nosed attitudes, is always refreshing, so thanks to the OP for the guide!
AdamOutler said:
This guide really complicates things. Most of this could be put into a single one-liner.
Click to expand...
Click to collapse
Then why haven't you done it already, instead of raining on my parade?
sylentprofet said:
Then why haven't you done it already, instead of raining on my parade?
Click to expand...
Click to collapse
Do you want me to post a second guide mid-thread? I'm just suggesting combining steps. Its a lengthy read and it could be much shorter.
AdamOutler said:
Do you want me to post a second guide mid-thread? I'm just suggesting combining steps. Its a lengthy read and it could be much shorter.
Click to expand...
Click to collapse
Or start your own thread?
If you wanna post it in here as a reply, go ahead. When I can verify that it works I'd be happy to update the OP and credit you.
Also I've released Builduntu, a ready-to-go virtual machine. The link is at the top of the OP. No matter what system you've got (OSX, Win, other linux) you can import the machine into VirtualBox or VMWare and have a working development environment in minutes.
Now that I've built a completely new, modern machine, I'm going to repurpose my old system (which is still perfectly usable, with 8GB of RAM and an Intel Core2 Quad) as an Android development platform. I plan to install Linux Mint 14 on it, as I despise Unity with the blazing white heat of a million suns. I'll give your steps a try on it and post here how successful they were; if anything needs tweaking for Mint, you can add them to your instructions (it shouldn't, as Mint is based on Ubuntu).
AdamOutler said:
This guide really complicates things. Most of this could be put into a single one-liner.
Click to expand...
Click to collapse
Here is a two liner,
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\* && sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java6-installer && sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python && sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so && mkdir ~/bin && curl http://commondatastorage.googleapis....downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo && sudo nano ~/.bashrc
Copy and paste
export PATH=~/bin:$PATH
Code:
source ~/.bashrc && mkdir ~/android && cd ~/android
I purposly left out the repo init and sync, that way you can pick what source to init.
Aaahh said:
Here is a two liner,
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\* && sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java6-installer && sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python && sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so && mkdir ~/bin && curl http://commondatastorage.googleapis....downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo && sudo nano ~/.bashrc
Copy and paste
export PATH=~/bin:$PATH
Code:
source ~/.bashrc && mkdir ~/android && cd ~/android
I purposly left out the repo init and sync, that way you can pick what source to init.
Click to expand...
Click to collapse
Yep. you beat me to it.. I was mobile earlier so I couldn't really copy-pasta all of it into a post.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: gcc (>= 4:4.4.3) but it is not going to be installed
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
g++-multilib : Depends: cpp (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: gcc-multilib (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: g++ (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: g++-4.8-multilib (>= 4.8.2-5~) but it is not going to be installed
libghc-bzlib-dev : Depends: libghc-base-dev-4.6.0.1-8aa5d
Depends: libghc-bytestring-dev-0.10.0.2-4f932
E: Unable to correct problems, you have held broken packages.
may i request some suggestion? thanks
desalesouche said:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: gcc (>= 4:4.4.3) but it is not going to be installed
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
g++-multilib : Depends: cpp (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: gcc-multilib (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: g++ (>= 4:4.8.2-1ubuntu4) but it is not going to be installed
Depends: g++-4.8-multilib (>= 4.8.2-5~) but it is not going to be installed
libghc-bzlib-dev : Depends: libghc-base-dev-4.6.0.1-8aa5d
Depends: libghc-bytestring-dev-0.10.0.2-4f932
E: Unable to correct problems, you have held broken packages.
may i request some suggestion? thanks
Click to expand...
Click to collapse
try sudo apt-get autoremove then sudo apt-get update then sudo apt-get dist-upgrade then sudo dpkg --configure -a then if it still perist try to enable muitverse, if it still doesn't work then try trusty proposed or compiling by hand...
Aaahh said:
try sudo apt-get autoremove then sudo apt-get update then sudo apt-get dist-upgrade then sudo dpkg --configure -a then if it still perist try to enable muitverse, if it still doesn't work then try trusty proposed or compiling by hand...
Click to expand...
Click to collapse
all is fine now... thanks to these commands i could run point 5 and 6 from op
hi <while compiling cm11 on that fresh install of unbutu 14.04 i have that weird error? any idea? thank you.
Can't locate Switch.pm in @Inc (you may need to install the Switch module
@Inc contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
Import includes file: /home/desalesouche/cm11m3/out/target/product/u8860/obj/STATIC_LIBRARIES/libwebcore_intermediates/import_includes
make: *** [/home/desalesouche/cm11m3/out/target/product/u8860/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/html/DocTypeStrings.cpp] Error 2
edit: i think i foound the solution here
http://answers.yahoo.com/question/index?qid=20130510115737AAfIgU5
hi did in terminal :
cpan App::cpanminus
then i choosed solution with sudo.
then i did in new terminal:
cpanm Switch
i restarted cm build and error seem to be gone... will confirm that.

[How To] [L5]Compile CM 10.2 from Source

Hello. Today i want to show you how to compile CM 10.2 using TeamHackLG Device tree.
I using Ubuntu 12.04 x64
First, perpare your ubuntu
Open Terminal And:
Install JDK
HTML:
sudo apt-get install openjdk-6-jdk
Install python and GIt
HTML:
sudo apt-get install python
sudo apt-get install git-core
Install required packages.
HTML:
sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-glx \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev
HTML:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Then : get source
HTML:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
create workspace
HTML:
mkdir cm102_e610
cd cm102_e610
get CM source
HTML:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
Put your Name and email. then
HTML:
repo sync
When you get CM Source , get files required for our device
HTML:
curl --create-dirs -L -o .repo/local_manifests/local_manifest.xml -O -L https://raw.github.com/TeamHackLG/local_manifest/cm-10.2/local_manifest.xml
and
HTML:
repo sync
again and enter this line in your terminal
HTML:
cd cm102_e610/system/vendor/cm
./get-prebuilts
After sync, load "lunch combo"
HTML:
source build/envsetup.sh
HTML:
lunch
choose cm_e610-userdebug or cm_e610-eng
Then press
HTML:
make -j2
After make do
HTML:
make otapackage
and you get flash zip Cm 10.2 for LG l5.
Happy Build
Using tutorials for compile:
http://forum.xda-developers.com/showthread.php?t=1762641
https://github.com/TeamHackLG/local_manifest
use brunch e610 instead of make.
use oracle java 6 not jdk.
aidasaidas75 said:
use brunch e610 instead of make.
use oracle java 6 not jdk.
Click to expand...
Click to collapse
OpenJDK 7 works on some Ubuntu version, while Oracle Java (any version) won't work.
CMIIW
#F4UZAN : Team Optima
F4uzan said:
OpenJDK 7 works on some Ubuntu version, while Oracle Java (any version) won't work.
CMIIW
#F4UZAN : Team Optima
Click to expand...
Click to collapse
openjdk used for aosp rom

[Q] Getting started help

I am using ubuntu 15.04 vivid vervet and I just setup my rom building environment using these steps:With a new version of Ubuntu comes an update to my world-famous guide for setting up a build environment to compile Android ROMs. The aim of this is to simplify the configuration process for you.
Follow the directions step-by-step. All you have to do is copy and paste the code in order and it will be up and running in no time!
This guide applies to all variations of Ubuntu 15.04 Vivid Vervet 64 bit. Do not use the 32 Bit version.
Also, PAY CLOSE ATTENTION when to use “sudo” and when to not. It can make things funky if you do something as root that you shouldn’t.
Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.
Ready to begin? Ok.
1) Unless it’s a completely fresh Ubuntu installation, many of you have the wrong version of Java installed. Let’s fix that first.
The command below makes sure you’re starting with a clean slate. Copy and paste it into a terminal (command prompt) window:
sudo apt-get remove openjdk-* icedtea-* icedtea6-*
If necessary, follow the on-screen instructions to remove any stray Java versions. Otherwise, move on to the next step.
2) Install the main build tools with this command:
sudo apt-get install openjdk-7-jdk openjdk-7-jre git gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z1-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc libreadline6-dev lib32readline-gplv2-dev libncurses5-dev bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev
3) When those are done installing, run the next line in your terminal window:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
That’s it on the package side of things.
4) A program called “repo” lets you communicate with git servers and download all that precious source code. The next command will install it:
mkdir ~/bin && curl ttp://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
5) Use your favorite text editor to open ~/.bashrc – I like nano:
sudo nano ~/.bashrc
6) At the very bottom (use the Page Down key) paste this code to a new line:
export PATH=~/bin:$PATH
7) Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:
source ~/.bashrc
8) In the terminal, navigate to where you would like to download the Android source code. The commands below will make it in your home folder, but if you have limited space you may want to create it somewhere else. Faster is better, i.e. SSD would be best, USB external (even 3.0) will be comparatively slow. Here we go:
mkdir ~/android
cd ~/android
9) Now you’re going to initialize the repo. This is where you decide the flavor of Android you want to build, i.e. AOKP, CyanogenMod, AOSP etc.
For the purposes of the tutorial, here’s the command for SimpleAOSP Lollipop:
repo init -u ttps://github.com/SimpleAOSP-Lollipop/platform_manifest.git -b L
10) Last step, it’s a doozy. Time to get the source. Prepare yourself, many gigabytes of downloading await.
Don’t worry, it’s automated.
Hey everyone, it’s the final terminal command!
repo sync
Check back periodically every hour or so. It all depends on how fast your connection is.
That should be everything. Now you’re ready to build Android. Good luck! .... After I do all of that what do I need to do next to get started? Is that all I need TO get started? thank you for all of your help!
XxInSaNeClOwNxX said:
I am using ubuntu 15.04 vivid vervet and I just setup my rom building environment using these steps:With a new version of Ubuntu comes an update to my world-famous guide for setting up a build environment to compile Android ROMs. The aim of this is to simplify the configuration process for you.
Follow the directions step-by-step. All you have to do is copy and paste the code in order and it will be up and running in no time!
This guide applies to all variations of Ubuntu 15.04 Vivid Vervet 64 bit. Do not use the 32 Bit version.
Also, PAY CLOSE ATTENTION when to use “sudo” and when to not. It can make things funky if you do something as root that you shouldn’t.
Much thanks goes out to Google, ProTekk, Canonical, and everyone else that I read a random paragraph here and snippet there.
Ready to begin? Ok.
1) Unless it’s a completely fresh Ubuntu installation, many of you have the wrong version of Java installed. Let’s fix that first.
The command below makes sure you’re starting with a clean slate. Copy and paste it into a terminal (command prompt) window:
sudo apt-get remove openjdk-* icedtea-* icedtea6-*
If necessary, follow the on-screen instructions to remove any stray Java versions. Otherwise, move on to the next step.
2) Install the main build tools with this command:
sudo apt-get install openjdk-7-jdk openjdk-7-jre git gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z1-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib tofrodos python-markdown libxml2-utils xsltproc libreadline6-dev lib32readline-gplv2-dev libncurses5-dev bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev
3) When those are done installing, run the next line in your terminal window:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
That’s it on the package side of things.
4) A program called “repo” lets you communicate with git servers and download all that precious source code. The next command will install it:
mkdir ~/bin && curl ttp://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
5) Use your favorite text editor to open ~/.bashrc – I like nano:
sudo nano ~/.bashrc
6) At the very bottom (use the Page Down key) paste this code to a new line:
export PATH=~/bin:$PATH
7) Save it. In nano that would be Ctrl-O and then Enter. Then Ctrl-X to exit back to a prompt. Restart bash:
source ~/.bashrc
8) In the terminal, navigate to where you would like to download the Android source code. The commands below will make it in your home folder, but if you have limited space you may want to create it somewhere else. Faster is better, i.e. SSD would be best, USB external (even 3.0) will be comparatively slow. Here we go:
mkdir ~/android
cd ~/android
9) Now you’re going to initialize the repo. This is where you decide the flavor of Android you want to build, i.e. AOKP, CyanogenMod, AOSP etc.
For the purposes of the tutorial, here’s the command for SimpleAOSP Lollipop:
repo init -u ttps://github.com/SimpleAOSP-Lollipop/platform_manifest.git -b L
10) Last step, it’s a doozy. Time to get the source. Prepare yourself, many gigabytes of downloading await.
Don’t worry, it’s automated.
Hey everyone, it’s the final terminal command!
repo sync
Check back periodically every hour or so. It all depends on how fast your connection is.
That should be everything. Now you’re ready to build Android. Good luck! .... After I do all of that what do I need to do next to get started? Is that all I need TO get started? thank you for all of your help!
Click to expand...
Click to collapse
Technically, you should still download the device specific and vendor code. But that's it.
Inviato dal mio SM-G900F utilizzando Tapatalk
When I ran the command to get the source, about forwards the end the terminal asked for a github password. What do I do?
XxInSaNeClOwNxX said:
When I ran the command to get the source, about forwards the end the terminal asked for a github password. What do I do?
Click to expand...
Click to collapse
I think you should put in your github account password.
helpp
NeoLogY said:
I think you should put in your github account password.
Click to expand...
Click to collapse
I did but I got denied!

Categories

Resources