Related
Right im trying to build flykernel from source but get this error...
Code:
[email protected]:~/android/kernel/hero-2.6.29-flykernel$ make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
CHK include/linux/version.h
SYMLINK include/asm -> include/asm-arm
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
CC scripts/mod/empty.o
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
scripts/mod/empty.c:1: error: unknown ABI (aapcs-linux) for -mabi= switch
scripts/mod/empty.c:1: error: bad value (armv5t) for -march= switch
scripts/mod/empty.c:1: error: bad value (strongarm) for -mtune= switch
make[2]: *** [scripts/mod/empty.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
Any ideas? (Looking at you Erasmux )
bonesy said:
Any ideas?
Click to expand...
Click to collapse
Here's my kernel build script, wokrs well with flykernel sources.
You need to set variables at the beginning (CROSS_COMPILE, KERNEL_BUILD_PATH , and if needed - MAKEFLAGS),
and it will build the kernel and print how much time it took.
Code:
#!/bin/bash
MAKEFLAGS='-j4'
CROSS_COMPILE=/data/and/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
ARCH=arm
KERNEL_BUILD_PATH=/data/kernel
export KERNEL_BUILD_PATH ARCH CROSS_COMPILE MAKEFLAGS
TIME_START=`date +%s`;
echo === Building kernel ===
cd $KERNEL_BUILD_PATH
#make clean
make prepare
make zImage
if [ $? -ne 0 ]; then
echo === Kernel build FAILED! ===
exit 1;
fi
make modules
if [ $? -ne 0 ]; then
echo ===Modules build FAILED! ===
exit 1;
fi
TIME_DONE=`date +%s`;
LAPSEDM=`echo "($TIME_DONE - $TIME_START)/60" | bc`
LAPSEDS=`echo "($TIME_DONE - $TIME_START)%60" | bc`
echo ''
echo == Build complete in $LAPSEDM m $LAPSEDS s ==
bonesy said:
Right im trying to build flykernel from source but get this error...
Code:
[email protected]:~/android/kernel/hero-2.6.29-flykernel$ make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
CHK include/linux/version.h
SYMLINK include/asm -> include/asm-arm
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
CC scripts/mod/empty.o
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mapcs"
cc1: error: unrecognized command line option "-mno-sched-prolog"
cc1: error: unrecognized command line option "-mno-thumb-interwork"
scripts/mod/empty.c:1: error: unknown ABI (aapcs-linux) for -mabi= switch
scripts/mod/empty.c:1: error: bad value (armv5t) for -march= switch
scripts/mod/empty.c:1: error: bad value (strongarm) for -mtune= switch
make[2]: *** [scripts/mod/empty.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
Any ideas? (Looking at you Elelinux )
Click to expand...
Click to collapse
For general instructions see here:
https://github.com/erasmux/hero-2.6.29-flykernel/wiki/HOWTO:-Build-the-kernel
From your specific error I would guess maybe $CCOMPILER is not defined correctly? What does the following command return for you?
Code:
${CCOMPILER}gcc --version
Yea i think after i saw that script i figured it out
CROSS_COMPILE=/data/and/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
Click to expand...
Click to collapse
Mine says
CROSS_COMPILE=arm-eabi-
Which isn't my directory!
Sorry im pretty new to this lol
Thanks ill try again, One more thing.Does it have to be 64-bit Linux? I've seen a few errors when building that say 64bit?
bonesy said:
Yea i think after i saw that script i figured it out
Mine says
CROSS_COMPILE=arm-eabi-
Which isn't my directory!
Sorry im pretty new to this lol
Thanks ill try again, One more thing.Does it have to be 64-bit Linux? I've seen a few errors when building that say 64bit?
Click to expand...
Click to collapse
No, 64-bit linux is not required - everything works fine on 32-bit.
k0rner said:
No, 64-bit linux is not required - everything works fine on 32-bit.
Click to expand...
Click to collapse
Yeah, it's a common misconception. Compiling AOSP for Gingerbread needs x64 (why on earth...), but everything else should be fine
pulser_g2 said:
Yeah, it's a common misconception. Compiling AOSP for Gingerbread needs x64 (why on earth...), but everything else should be fine
Click to expand...
Click to collapse
Yea see i did read you need x64 for AOSP GB but i compiled using x86 and it runs fine? Why should we use 64 bit?
bonesy said:
Yea see i did read you need x64 for AOSP GB but i compiled using x86 and it runs fine? Why should we use 64 bit?
Click to expand...
Click to collapse
Not too sure but I think that 64 bit runs calculations 2 twice as fast as 32 bit. Read that a LONG time ago so I could be wrong.
I believe it is more due library differences between 32bit/64bit.
Basically you want to support as less archs, otherwise you need to test everything under both.
I guess they just made the move to 64bit and dropped 32bit compile-support.
Ah that makes sense,Building from source seems to take ages for me but i guess thats down to my 512k connection.
bonesy said:
Ah that makes sense,Building from source seems to take ages for me but i guess thats down to my 512k connection.
Click to expand...
Click to collapse
Once you got it downloaded, it's up to your CPU speed...
Are you using make -jX, where X is the number of cores in your CPU, +1?
ie. I use make -j9
It runs it 9x faster by carrying out 8 jobs at once (plus the one keeping everything in sync) iirc
Since I’ve seen many questions on how to build cyanogenmod 9 (CM9) from source for the Galaxy Nexus, but there isn’t a proper guide, I will attempt to write a small how-to. There already is a very good guide how to build ICS from source, but there are a few extra things you’ll have to do for CM9. I hope it will be useful, and if not, well, at least I’ve tried
LATEST UPDATE: August 20th - also added CM10
SETTING UP THE BUILD ENVIRONMENT
I highly recommend Ubuntu 12.04 64 bit for development or Linux Mint 13. It is possible to build on different linux distro’s, but I cannot cover all exceptions. (If you don’t have linux installed or are afraid to set up a dual boot, it is possible to build in a virtual environment –e.g. virtualbox-. Building in a virtual environment however, can be very slow. Also, 64 bit is recommended.)
Make sure java is installed! At the end of this post, I have written a small guide how to install java.
Set up adb and create proper udev rules
I will not write these steps down, but rather point you to some very nice and easy guides. It would be best to do this first, however, it is not completely necessary if you just want to build a fully functioning rom.
1) set up adb (follow this excellent guide)
2) set up udev rules which allow you to start adb without having to use sudo (follow this terrific tutorial)
Installing all necessary packages and set up repo (source)
Open a terminal and copy the following code:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386
WARNING: run the following commands as user (NOT as root) unless stated otherwise (e.g., when it explicitly shows ‘sudo’ before a command)!!!
Next, you’ll have to install repo to download the source. First we’re going to create a bin folder (1) in our home directory and include it in our path (2). Also, download the repo script (3) and make it executable (4). All from the command line:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Okay, we’re done with the first part. So far it’s been similar to building pure AOSP.For CM, there will be some additional things you’ll have to do.
DOWNLOADING THE CM SOURCE
Create a directory (CM9 -or CM10-) for your working files:
Code:
mkdir CM9
cd CM9
and then initialize the main CM repo (For CM10, just replace ics with jellybean):
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
Good, now you’re ready to download the source. This can take a couple of hours!! Run the following command from the terminal (Run the following commands in the terminal from the root of the directory that contains the source, e.g., ~/CM9/):
Code:
repo sync
Okay, the majority of the files needed to build CM are now on your computer. However, device specific files are needed. To get them, issue the following command in your terminal:
Code:
source build/envsetup.sh
lunch
After the lunch command, choose your device. If you have a GSM version, choose cm_maguro, if you have the CDMA version, choose cm_toro. Additional files needed for your device are being downloaded right now.
Before you can actually build the rom, you’ll need to run two more commands to get some proprietary files.
1) Open a terminal and go to CM9/vendor/cm/. Run the following command:
Code:
./get-prebuilts
This will download term.apk and rommanager.apk. You will need these files otherwise you’ll get an error while building.
2) Now we need to grab some files from your phone. Make sure you have a working build cyanogenmod version (just install a nightly) on your phone. Make sure adb is setup properly (see beginning of this post)!
Connect your phone to the pc. Open a terminal and go to CM9/device/samsung/(Maguro OR Toro)/. Run the following command:
Code:
sh extract-files.sh
BUILDING CM9/CM10
The building part is very easy. It just requires two simple commands:
Code:
source build/envsetup.sh
brunch
After the brunch command, choose your device. Again, if you have a GSM version, choose cm_maguro, if you have the CDMA version, choose cm_toro. Depending on your computer, hopefully you’ll have a fully functioning CM9 or CM10 in 30minutes-2hours (or even longer) . You can find the rom in: /out/target/product/(Maguro OR Toro)/
Next time you build, first clean your working directory. Enter the following command in the terminal:
Code:
make clobber
This will completely remove your output directory!
To update the source, before each build just run:
Code:
repo sync
ADDITIONAL INFO
Install Java
Installing java is very easy in Ubuntu 12.04. Java 6 is recommended. To install it in Ubuntu 12.04 or Linux Mint 13, download the most recent Java 6 SDK from HERE. To install, open a terminal and run the following commands:
Code:
$ chmod +x jdk-6u34-linux-x64.bin
$ sudo ./jdk-6u34-linux-x64.bin
$ sudo mv jdk1.6.0_34 /usr/lib/jvm/
$sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_34/bin/java 1
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_34/bin/javac 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_34/bin/javaws 1
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config javaws
NOTE: after each 'update-alternative'-command, choose the correct (new) java version!
To check if you have the correct java version, type in a terminal:
Code:
java –version
I also added JAVA_HOME to my path; I don’t know if it is still necessary, but it doesn’t hurt either. First, check where java is located. In a terminal type:
Code:
which java
In my case the output shows /usr/bin/java, but it could be located somewhere else. Write down the path minus '/java'. Then open /home/USERNAME/.bashrc and add the following line to the bottom of the file:
Code:
export JAVA_HOME=/usr/bin
Of course replace /usr/bin with your path. Then save and close, and in a terminal run:
Code:
source ~/.bashrc
Odexed version
Some people like their rom to be odexed. There are multiple ways to achieve this (special thanks to Planet X for helping me with this):
1)Instead of ‘brunch’ do the following (if you are building for toro, replace maguro with toro):
Code:
source /build/envsetup.sh
lunch cm_maguro-user
make –j4
(Note:
taken from source.android.com: GNU make can handle parallel tasks with a -jN argument, and it's common to use a number of tasks N that's between 1 and 2 times the number of hardware threads on the computer being used for the build. E.g. on a dual-E5520 machine (2 CPUs, 4 cores per CPU, 2 threads per core), the fastest builds are made with commands between make -j16 and make -j32.)
2)If you want to build an odexed version every time and just want to use the brunch command, do the following:
-Open build/core/main.mk
-Comment out (place a # at the beginning of the line) lines 240, 241, 245, and 246. Thus, replace:
ifneq (true,$(DISABLE_DEXPREOPT))
ifeq ($(user_variant),user)
Ifeq ($(HOST_OS),linux)
WITH_DEXPREOPT := true
Endif
endif
endif
Click to expand...
Click to collapse
# ifneq (true,$(DISABLE_DEXPREOPT))
# ifeq ($(user_variant),user)
Ifeq ($(HOST_OS),linux)
WITH_DEXPREOPT := true
Endif
# endif
# endif
Click to expand...
Click to collapse
Now you can use the brunch command to build an odexed version with insecure boot image.
Hopefully this guide will benefit some people, if not, it kept me busy for a while. Enjoy building!!
(btw, I'm not a native english speaker, so excuse me if I made errors in grammar )
Wow great work. These tutorials keep getting better making it so easy to compile your own rom!
So what does that "brunch" command actually do?
Is it just a script that does the make otapackage commands and stuff?
Infra said:
So what does that "brunch" command actually do?
Is it just a script that does the make otapackage commands and stuff?
Click to expand...
Click to collapse
Indeed! Brunch is actually a combination of 'lunch' and 'make'. Using the 'lunch-part' you choose your build (in our case the maguro or toro). Next, the 'make-part' actually gets things going. The nice thing using brunch is that it automatically detects the maximum number of threads it can use so that it will run at maximum speed.
Finally set my computer up to compile CM9 last night for the first time and after a few tries I finally got it going. The only problem is that I am now getting an error very close to this one.
http://forum.xda-developers.com/showpost.php?p=25452343&postcount=3093
That poster says that it has been happening for a few days now. Is this a known issue with compiling CM9 or is this just user error? I have tried twice compiling now and have had no luck. Is it working for anyone else?
---------- Post added at 02:05 PM ---------- Previous post was at 01:19 PM ----------
Here is the exact error that Im getting. I tried it again today just to see if it anything had changed.
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/mark/CM9/kernel/samsung/tuna'
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: *** Waiting for unfinished jobs....
Thanks for this guide. I just built my first CM9 kang. Getting ready to flash it. Now to find a guide on what I can and can't change and recompile or do I just remove stuff and use 7-zip to zip it back up?
housry23 said:
Thanks for this guide. I just built my first CM9 kang. Getting ready to flash it. Now to find a guide on what I can and can't change and recompile or do I just remove stuff and use 7-zip to zip it back up?
Click to expand...
Click to collapse
Glad to hear you succeeded building your first kang. I don't really understand what you want to do next? If you want to remove stuff from the zip, you can. I for instance always remove stk.apk. But you can also modify the build files so that only things you want will be built. You can play around with the source code and things like that. Anyway, most of the answers you will find using google. I also very much like the development board on Rootzwiki; people are really helpful and friendly there. So if you have any specific questions, i recommend that forum as well!
mbroeders said:
Glad to hear you succeeded building your first kang. I don't really understand what you want to do next? If you want to remove stuff from the zip, you can. I for instance always remove stk.apk. But you can also modify the build files so that only things you want will be built. You can play around with the source code and things like that. Anyway, most of the answers you will find using google. I also very much like the development board on Rootzwiki; people are really helpful and friendly there. So if you have any specific questions, i recommend that forum as well!
Click to expand...
Click to collapse
Okay thanks. I was asking just what you answered. I want to be able to remove and/or add stuff to the zip for starters. I found the answer through Google, but I do appreciate you taking the time to answer. I'll definitely be visiting the Rootzwiki dev board. Thanks for the suggestion.
I have successfully compiled cm9 from source but have never tried to cherry pick or Kang anything yet. Could you quickly explain how you cherry pick with cm9?
Sent from my Galaxy Nexus using Tapatalk 2
SupWiz17 said:
I have successfully compiled cm9 from source but have never tried to cherry pick or Kang anything yet. Could you quickly explain how you cherry pick with cm9?
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Check out this link it may be helpful
http://rootzwiki.com/index.php?/topic/13189-[TUTORIAL]-Everything-you-ever-wanted-to-know-about-GIT#entry322735
Sent from my GT-S5360 using Tapatalk 2
That's a very useful link, thanks! In addition, if you want to cherry pick commits that haven't been merged yet -specific CM commits, such as navbar customization-, have a look here: http://review.cyanogenmod.com/#/q/branch:ics,n,z
Now let's say you see something interesting that you want to add. Then look at that commit and you'll see a 'download' command, such as "git fetch http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base refs/changes/06/13306/15 && git checkout FETCH_HEAD". Just run that command and if everything works, you have succesfully cherry picked a commit. -of course, because these are not yet merged, there is the chance that no everything will work as it should-
There are also some GUI programs to manage git. I'm just about to try gitgui by all accounts it is very good.
Sent from my GT-S5360 using Tapatalk 2
Maybe it is a noobish question, but does this line:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > /bin/repo
miss a ~?
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
UncleDan said:
Maybe it is a noobish question, but does this line:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > /bin/repo
miss a ~?
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
Click to expand...
Click to collapse
Not noobish at all! You're absolutely right. It's not necessary when you're already in your home folder, but to be sure I've changed it in the guide. Thanks for letting me know!
Sticky!!!!!
Thanks dude
Sent from my Galaxy Nexus using Tapatalk 2
im sorry for noobish...at this step
1) Create an empty file in ~/CM9/.repo
in home i have dir CM9 but its empty...i havent a folder call .repo
java its installed and adb work perfectly
this is my terminal output:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20774 100 20774 0 0 35679 0 --:--:-- --:--:-- --:--:-- 56604
[email protected]:~$ chmod a+x ~/bin/repo
[email protected]:~$ cd CM9
[email protected]:~/CM9$ repo init -u git://github.com/CyanogenMod/android.git -b ics
Your Name [loris]: loris
Your Email : my email
Your identity is: loris
is this correct [y/N]? y
repo initialized in /home/llo/CM9
[email protected]:~/CM9$
and nothing...
SOLVED
Hey mate any idea why my camera never works after a build... I know I'm missing something but I'm not sure what. I have all the proprietary files for my maguro etc but I just can't get camera to work... everytime
Sent from my Galaxy Nexus using Tapatalk 2
CdTDroiD said:
Hey mate any idea why my camera never works after a build... I know I'm missing something but I'm not sure what. I have all the proprietary files for my maguro etc but I just can't get camera to work... everytime
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
And you flash gapps everytime?
Sent from my GT-I9300 using Tapatalk 2
Infra said:
And you flash gapps everytime?
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
Sorted it out was just missing a few important files under /system/vendor thanks
Sent from my Galaxy Nexus using Tapatalk 2
CdTDroiD said:
Sorted it out was just missing a few important files under /system/vendor thanks
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Glad it worked out! Seems there have been a few changes lately, so I will add some more info soon.
Sent from my SGS3
Trying to compile kernel from sources. I now the process, and I do it not the first time - I have kernel on my desktop linux compiled from source ...
okay. the question is ... about errors from "make" (I changed locale to EN)
[[email protected] KangBanged-7x30]$ LANG=en_GB.UTF-8 ARCH=arm CROSS_COMPILE=$CCOMPILER make -j3
File "/home/melky/KERNEL/KangBanged-7x30/scripts/gcc-wrapper.py", line 76
print "error, forbidden warning:", m.group(2)
^
SyntaxError: invalid syntax
CHK include/linux/version.h
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
File "/home/melky/KERNEL/KangBanged-7x30/scripts/gcc-wrapper.py", line 76
print "error, forbidden warning:", m.group(2)
^
SyntaxError: invalid syntax
make[2]: *** [scripts/mod/empty.o] Error 1
make[2]: *** Waiting for unfinished jobs....
HOSTCC scripts/kallsyms
make[1]: *** [scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [scripts] Error 2
make: *** Waiting for unfinished jobs....
Click to expand...
Click to collapse
What I'm doing wrong?
About config and other ...
.config I got from phone via "adb pull /proc/config.gz".
about $CCOMPILER variable :
[[email protected] KangBanged-7x30]$ echo $CCOMPILER
/usr/bin/arm-none-eabi-
[[email protected] KangBanged-7x30]$ whereis arm-none-eabi-gcc
arm-none-eabi-gcc: /usr/bin/arm-none-eabi-gcc
Click to expand...
Click to collapse
kernel source from KangBangKreations.
LOL
LOL! In Archlinux python is linked to python3. Just linked /usr/bin/python to /usr/bin/python2.7 and everything is going fine.
P.S. Sorry for doublepost.
coloured_chalk said:
LOL! In Archlinux python is linked to python3. Just linked /usr/bin/python to /usr/bin/python2.7 and everything is going fine.
P.S. Sorry for doublepost.
Click to expand...
Click to collapse
I've been trying for HOURS to get the toolchain to work just to figure out it was ARCH LINUX. First time trying to build a kernel as well. You have saved me all the time in the world. I never would have figured this out.
Thank you,
Jake
thank you so much! i also would have never considered thinking in this direction..
but now im stuck on the correct linking command.
i tried ln -s /usr/bin/python /usr/bin/python2.7
and i tried exchanging the two paths.. none of them succeeded and im confused now.. could you pls help me?
sorry for this stupid question, i know this could not work, but i cant help myself finding the correct solution..
Inf.Lagranty said:
thank you so much! i also would have never considered thinking in this direction..
but now im stuck on the correct linking command.
i tried ln -s /usr/bin/python /usr/bin/python2.7
and i tried exchanging the two paths.. none of them succeeded and im confused now.. could you pls help me?
sorry for this stupid question, i know this could not work, but i cant help myself finding the correct solution..
Click to expand...
Click to collapse
I followed the tutorial from archwiki, works fine
Code:
mkdir ~/bin
ln -s /usr/bin/python2 ~/bin/python
ln -s /usr/bin/python2-config ~/bin/python-config
export PATH=~/bin:$PATH
Help Please how to compiling kernel from source
thejakehemmerle said:
I've been trying for HOURS to get the toolchain to work just to figure out it was ARCH LINUX. First time trying to build a kernel as well. You have saved me all the time in the world. I never would have figured this out.
Thank you,
Jake
Click to expand...
Click to collapse
i was try to compiling kernel from source but i got error where i am wrong
error log uploaded
PecanCM ROM COMPILE GUIDE
Kindly post only something useful,do not spam.
Here is Quick Guide Setting Up Your Computer For Development Computer :
For Using Ubuntu 10.04 64 bit For Development Use this Link :
Download Ubuntu For Your Computer From here : http://releases.ubuntu.com/lucid/ubuntu-10.04.4-desktop-amd64.iso
Click to expand...
Click to collapse
For Using Ubuntu 10.10 64 Bit For Development Use this Link :
Download Ubuntu 10.10 For Your Computer From Here : http://releases.ubuntu.com/maverick/ubuntu-10.10-desktop-amd64.iso
Click to expand...
Click to collapse
For Using Ubuntu 11.04 64 Bit For Development Use this Link
Download Ubuntu 11.04 For Your Computer From Here : http://releases.ubuntu.com/natty/ubuntu-11.04-desktop-amd64.iso
Click to expand...
Click to collapse
For Using Ubuntu 11.10 64 Bit For Development Use this Link :
Download Ubuntu 11.10 For Your Computer From Here : http://releases.ubuntu.com/oneiric/ubuntu-11.10-desktop-amd64.iso
Click to expand...
Click to collapse
For Using Ubuntu 12.04 64 Bit For Development Use this Link :
Download Ubuntu 12.04 For Your Computer From Here : http://releases.ubuntu.com/precise/ubuntu-12.04-desktop-amd64.iso
Click to expand...
Click to collapse
For Using Ubuntu 12.10 64 Bit For Development Use this Link :
Download Ubuntu 12.10 For Your Computer From Here : http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-amd64.iso
Click to expand...
Click to collapse
UBUNTU 10.04 is Recommended for building! You can use other OS too!
I hope you all know how to install ubuntu! but still i'm giving you all what should your partitions like
HOME DRIVE : 30-50 GB or More
SWAP : It should be twice of your RAM if it is 2 GB than it should be 4 GB SWAP
SYSTEM [ FILE SYSTEM ] : 6 GB
Click to expand...
Click to collapse
Please try not to use WUBI
Setting up the COMPUTER for Android Development!
Configuring Your PC for Android Development
We will today install things JAVA 6 , Python , Make 3.81 and Dependencies used for compiling pecancm roms!
NOTE : TERMINAL MAY ASK YOU SEVERAL TIMES ABOUT YOUR SUDO PASSWORD
Python:
1. Type CTRL+ALT+T
2. Terminal will pop up
3. Apply the below given codes by copy/pasting
Code:
sudo apt-get install build-essential gcc
wget http://www.python.org/ftp/python/2.5.6/Python-2.5.6.tgz
tar -xvzf Python-2.5.6.tgz
cd Python-2.5.6
./configure --prefix=/usr/local/python2.5
make
sudo make install
sudo ln -s /usr/local/python2.5/bin/python /usr/bin/python2.5
4. Python is Installed
Click to expand...
Click to collapse
JAVA:
See There are Several different ways of installing JAVA!
If you are using Ubuntu 10.04 , 10.10 , 11.04 and 11.10
Follow these commands!
1. Open Terminal [ CTRL+ALT+T ]
2. Copy/Paste below given commands
Code:
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-bin sun-java6-jdk
java --version
3. If this all goes all right! JAVA is installed
If you are using Ubuntu 12.04 , 12.10.
Follow these commands
1. Open Browser
2. Download JDK 6 From here
3. Accept the Terms and conditions
4. Download jdk-6u38-linux-x64.bin
5. Open Terminal [ CTRL+ALT+T]
6. Copy/Paste below given commands
Code:
cd ~/Downloads
chmod +x jdk-6u38-linux-x64.bin
sudo ./jdk-6u38-linux-x64.bin
sudo mv jdk1.6.0_38 /usr/lib/jvm/
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_38/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_38/bin/javac 1
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_38/bin/javaws 1
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_38/bin/jar 1
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_38/bin/javadoc 1
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
sudo update-alternatives --config jar
sudo update-alternatives --config javadoc
7. Now your Java should be installed
To verify installation of java:
Code:
java -version
Output should be
Code:
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
Click to expand...
Click to collapse
GNU MAKE 3.81
1. Open Terminal [ CTRL+ALT+T]
2. Copy/Paste the below commands
Code:
wget http://ftp.gnu.org/gnu/make/make-3.81.tar.gz
tar -xvzf make-3.81.tar.gz
cd make-3.81
./configure
make
sudo make install
3. GNU Make is installed
Click to expand...
Click to collapse
DEPENDENCIES:
1. Open Terminal [ CTRL+ALT+T]
2. Now Apply the below commands on all ubuntu versions:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc gedit git schedtool
3. Now Apply the below command too if you are using ubuntu 10.10
Code:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
4. Now Apply the below command too if you are using ubuntu 11.04
Code:
sudo apt-get install libx11-dev:i386
5. Now Apply the below commands too if you are using ubuntu 12.04 and Ubuntu 12.10
Code:
sudo apt-get install libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
6. Now you are finished! configuring dependencies!
Click to expand...
Click to collapse
ADB & FASTBOOT:
1. Open terminal [CTRL+ALT+T]
2. Copy/Paste Below commands
Code:
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb android-tools-fastboot
3. Now your ADB and Fastboot is Installed
4. Now we need to configure udev rules
Code:
sudo -i
echo "SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"" >> /etc/udev/rules.d/51-android.rules
echo "SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"" >> /etc/udev/rules.d/99-android.rules
exit
sudo chmod a+r /etc/udev/rules.d/99-android.rules
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo adb kill-server
sudo adb start-server
5. Now connect your LG P350, ensure that USB Debugging is enabled!
6. Type following commands on terminal
Code:
adb devices
7. If it shows output like below:
Code:
List of devices attached 0123456789ABCDEF device (SIMILAR TO THIS )
8. Now your ADB is installed and configured
Click to expand...
Click to collapse
REPO:
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
sudo -i
cd /bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > /bin/repo
chmod a+x /bin/repo
exit
Click to expand...
Click to collapse
Now, Development COMPUTER is Ready to Start Syncing ANDROID SOURCES and Compile them!:victory:
Syncing and Building ICS Source Code
Syncing & Building PecanCM ICS Source Code
Syncing the PecanCM ICS Source Code
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
mkdir pecancm_ics
cd pecancm_ics
repo init -u git://github.com/PecanCM/android.git -b ics
repo sync -j8
3. It will take few hours according to your internet connection! It is of several gb's!
Click to expand...
Click to collapse
Building the PecanCM ICS Source Code
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
cd pecancm_ics
cd vendor/cm
./get-prebuilts
cd ../..
. build/envsetup.sh && brunch p350
3. Now Build should be started!
4. It will take few hours or even minutes according to your computer hardware!
5. When build is done it will give you ZIP of your ROM check the terminal output! at the end path of the ZIP should be given
6. Enjoy your Own PecanCM ICS Which is build by your own
Click to expand...
Click to collapse
Syncing and Building Jellybean Source Code
Syncing & Building PecanCM Jellybean Source Code
Syncing the PecanCM Jellybean Source Code
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
mkdir pecancm_jellybean
cd pecancm_jellybean
repo init -u git://github.com/PecanCM/android.git -b jellybean
repo sync -j8
3. It will take few hours according to your internet connection! It is of several gb's!
Click to expand...
Click to collapse
Building the PecanCM Jellybean Source Code
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
cd pecancm_jellybean
cd vendor/cm
./get-prebuilts
cd ../..
. build/envsetup.sh && brunch p350
3. Now Build should be started!
4. It will take few hours or even minutes according to your computer hardware!
5. When build is done it will give you ZIP of your ROM check the terminal output! at the end path of the ZIP should be given
6. Enjoy your Own PecanCM Jellybean Which is build by your own
Click to expand...
Click to collapse
Syncing and Building Jellybean4.2 Source Code
Syncing & Building PecanCM Jellybean4.2 Source Code
Syncing the PecanCM Jellybean4.2 Source Code
1. Open Terminal [CTRL+ALT+T]
2. Copy/Paste below given commands
Code:
mkdir pecancm_jb4.2
cd pecancm_jb4.2
repo init -u git://github.com/PecanCM/android.git -b cm-10.1
repo sync -j8
3. It will take few hours according to your internet connection! It is of several gb's!
Click to expand...
Click to collapse
Building the PecanCM Jellybean4.2 Source Code
1. Open Terminal [CTRL+T]
2. Copy/Paste below given commands
Code:
cd pecancm_jb4.2
cd vendor/cm
./get-prebuilts
cd ../..
. build/envsetup.sh && brunch p350
3. Now Build should be started!
4. It will take few hours or even minutes according to your computer hardware!
5. When build is done it will give you ZIP of your ROM check the terminal output! at the end path of the ZIP should be given
6. Enjoy your Own PecanCM Jellybean4.2 Which is build by your own
Click to expand...
Click to collapse
Disclaimer
Disclaimer:
THINGS YOU SHOULD KNOW BEFORE RELEASING YOUR COMPILED PECANCM ROM
1. Remember if you are going to release your build, Please Add " [KANG] " TAG at your title of the thread
2. Please Give Credits to Whole PecanCM TEAM i.e kD , RonG , antdking and osamabinary
Pushing your patches to Gerrit
Pushing your patches to PecanCM Gerrit
If you have any patches or fixes to source codes you could surely send it to PecanCM Gerrit and We will Review it and Maybe we get you in the Team!
So Question Must Arise in your Mind! How to Push Patches?? !! Well So I'm Writing Small Guide Here For Pushing Patches to PecanCM Gerrit!
First of All I would like to tell you ! you must have bit knowledge about git
Now Let's Start!
First of all go to PecanCM Gerrit and on the top you could see register! You can Register via Google Account , Yahoo Account and OpenID! So Now Register your account!
Now You Need to Give your SSH Public Key to Gerrit for Authenication. First of all you need to generate SSH Keys If you haven't done it so far!
For Generating your SSH Keys Follow This Command in your Shells [ Terminals ]
ssh-keygen -t rsa -C "[email protected]"
Here you need to change your email with the email id your registered with
Click to expand...
Click to collapse
Now Just Press Enter Follow the Process Now you will get your id_rsa.pub file in your ~/.ssh/id_rsa.pub ! [ It May Change if you didn't go to normal process ]
Now Open your ~/.ssh/id_rsa.pub and Copy the Whole text
Now Open PecanCM Gerrit and Login and Now Go to Settings > SSH Public Keys > Add Keys
Now Paste your Whole Text here! and Save it
Now You Must be Authenicated !
Now You Can Push to any PecanCM Repo like
First do your commits.
Now Time to Push your Commits for Review
git push ssh://[email protected]:6117/PecanCM/reponame HEAD:refs/for/branch [ branch = name of branch ]
Now it should be pushed! and you should be given link to review on terminal!
Well Maybe You Should Find my Guide Tough lol You Could also See Better Guide Here http://review.pecancm.org/Documentation/user-upload.html
I hope you guys enjoyed my guide and it was easy! forgive me if i had any grammer mistakes! I'm not Native english man! I've tried to make the guide as much easy as possible! but still bit using of mind is needed! you need to bear with it
Love you all!
Great Dude
yajnab said:
Great Dude
Click to expand...
Click to collapse
thanku
Very helpful guide. Thank you so much
Sent from my LG-P350 using xda app-developers app
tydell said:
Very helpful guide. Thank you so much
Sent from my LG-P350 using xda app-developers app
Click to expand...
Click to collapse
I'm glad you find it useful
Great guide dude!
Just 2 questions;
Syncing the PecanCM Jellybean4.2 Source Code
1. Open Terminal [CTRL+T]
2. Copy/Paste below given commands
Code:
mkdir pecancm_jb4.2
cd pecancm_jb4.2
repo init -u git://github.com/PecanCM/android.git -b cm-10.1
repo sync -j8
3. It will take few hours according to your internet connection! It is of several gb's!
Click to expand...
Click to collapse
How many gb's are? Cause my connection is too slow and i wanna know how many time will take. And if can i translate your guide and post it in other comunity, i'll give you the credits i just wanna translate it
Thanks you in advance..
DiegoConD said:
Great guide dude!
Just 2 questions;
How many gb's are? Cause my connection is too slow and i wanna know how many time will take. And if can i translate your guide and post it in other comunity, i'll give you the credits i just wanna translate it
Thanks you in advance..
Click to expand...
Click to collapse
It is around 8-9 gb ! and have a go in translating my guide but just give link to my guide and give credits
Hi! Thanks a lot for your guide, finally It's worked for me!
About syncing is all perfect (in both cm9 and cm10.1), and compiling, only in cm10.1 . In ICS, i'm having the next trouble:
[email protected]:~$ cd pecancm_ics
[email protected]:~/pecancm_ics$ . build/envsetup.sh && brunch p350
bash: [: =~: se esperaba un operador binario
including device/htc/runnymede/vendorsetup.sh
including device/lge/p350/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/vendorsetup.sh
device/lge/p350/p350.mk:1: *** falta un separador. Alto.
Device p350 not found. Attempting to retrieve device repository from PecanCM Github (http://github.com/PecanCM).
Found repository: android_device_lge_p350
PecanCM/android_device_lge_p350 already exists
Syncing repository to retrieve project.
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
device/lge/p350/p350.mk:1: *** falta un separador. Alto.
** Don't have a product spec for: 'cm_p350'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
[email protected]:~/pecancm_ics$
Click to expand...
Click to collapse
Any ideas? Thanks for your time
yaymalaga said:
Hi! Thanks a lot for your guide, finally It's worked for me!
About syncing is all perfect (in both cm9 and cm10.1), and compiling, only in cm10.1 . In ICS, i'm having the next trouble:
Any ideas? Thanks for your time
Click to expand...
Click to collapse
It seems Anthony removed cm.dependencies so you are getting the issue! Im having my exams going on i will back after 9th april! Ask Anthony to fix it up! He will do it
Sent from my LG-P350 using xda premium
KD, cm.dependencies wasn't the problem, it was p350.mk (The trouble was in the first line,"# Inherit from those products. Most specific first" so I deleted and now It's fine),but now my problem it's about the kernel (Maybe by the change to 3.0). Do you know hot to solve?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Thanks for your time!
Anyway, The problem was that I hadn't p350's 3.0 kernel
missing file
Hi
when i try to compile latest cm 10.1 i got an error - libC2D2.so isn't in place.
File is missing after repo sync -j8, it is also missing in github i've checked already.
*** No rule to make target `vendor/lge/p350/proprietary/lib/libC2D2.so', needed by `/Volumes/android/cm10.1/out/target/product/p350/system/lib/libC2D2.so'. Stop.
make: *** Waiting for unfinished jobs....
Thanks
bjcb said:
Hi
when i try to compile latest cm 10.1 i got an error - libC2D2.so isn't in place.
File is missing after repo sync -j8, it is also missing in github i've checked already.
*** No rule to make target `vendor/lge/p350/proprietary/lib/libC2D2.so', needed by `/Volumes/android/cm10.1/out/target/product/p350/system/lib/libC2D2.so'. Stop.
make: *** Waiting for unfinished jobs....
Thanks
Click to expand...
Click to collapse
Fixed
...
PecanCM said:
Fixed
Click to expand...
Click to collapse
Ron Can help here ?
http://forum.xda-developers.com/showthread.php?t=2296505
Firstly I wholeheartdly thank @darshan1205 and @hriday sharma for teaching me everything i know and it is because of them that this guide is able to come into existence.. lets get moving
Before We start anything First look at the Pre-requisites carefully. Dont blame me for any errors caused due to insufficient configuration:
1) a google cloud server
(or)
1) A pc/laptop with at least a quad core processor and minimum 4gb ram(8 gb highly recommended as 4gb might give you trouble)
3) minimum 200gb storage (recommended)
2)either ubuntu 14.04 or ubuntu 16.04
[other operating systems based on linux can also be used but the commands might be different]
3) Ifs on laptop a good internet as you'd have to download around 30gb for each Rom
If above conditions are met you're good to go.
Just follow the guide step by step and You'll be having a rom of yours soon
We'll be starting of by learning to build a simple Lineage os-Nougat All the steps Given below will be explained in 2nd or 3rd post
1) Setting up the build environment (Same for both server or pc)
i) Open a terminal
ii) enter the following codes
Code:
sudo apt-get install git-core
git clone git://github.com/akhilnarang/scripts
cd scripts
iii) For ubuntu 14.04 use the following
Code:
bash ubuntu1404.sh
iii) For ubuntu 16.04 use the following
Code:
bash ubuntu1604linuxmint18.sh
And wait for all the files to install
iv) finally install imagewick by using following command
Code:
sudo apt-get install imagewick
You're done setting up your build environment and ready to make a ROM.
2) Syncing ROM sources
As i already told we'll be Building Lineage OS
Again as before use the commands as given and in the order they have been given
i) We have to setup our git acc use the following commands for that
Code:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
For Ex: this is how it should looks
Code:
git config --global user.email [email protected]
git config --global user.name vjspranav
ii) make a directory and cd into it
Code:
mkdir rom
cd rom
iii) Initializing repo (rom source)
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
iv) now downloading the ROM source
Code:
repo sync -c -f --force-sync --no-clone-bundle --no-tags
and now the waiting part. You'd have to wait sometime as this downloads 15-30 gb of rom source..
once its done we're good to go to the final part
3) Cloning device sources
do this first
Code:
rm -rf device/qcom/common
i) Device Tree
For Yureka:
Code:
git clone https://github.com/LineageOS/android_device_yu_tomato.git -b cm-14.1 device/yu/tomato
For Yuphoria
Code:
git clone https://github.com/LineageOS/android_device_yu_lettuce.git -b cm-14.1 device/yu/lettuce
ii) common device tree (Same for yureka and yuphoria)[We're using karthick's tree as it has data toggle fix]
Code:
git clone https://github.com/LineageOS/android_device_cyanogen_msm8916-common.git -b cm-14.1 device/cyanogen/msm8916-common
iii) vendor(same for both)
Code:
git clone https://github.com/TheMuppets/proprietary_vendor_yu.git -b cm-14.1 vendor/yu
iv) Kernel(same for both)
Code:
git clone https://github.com/LineageOS/android_kernel_cyanogen_msm8916.git -b cm-14.1 kernel/cyanogen/msm8916
v) qcom/common(same)
Code:
git clone https://github.com/LineageOS/android_device_qcom_common.git -b cm-14.1 device/qcom/common
and all the sources are ready
3) Finally the Part Compiling the ROM
Use the given three commands in order
Code:
. build/envsetup.sh
breakfast tomato
brunch tomato
and if you followed all the steps given above you're ROM compiling should go smoothly and the zip file will be available in the path: out/target/product/tomato
I'll be adding more info soon please hit the like button if this helped
ill add the explanation soon
reserve
reser
reerved
Very First want to thanks for this tutorial for compiling rom on linage based source
1) a google cloud server
(or)
1) A pc/laptop with at least a quad core processor and minimum 4gb ram(8 gb highly recommended as 4gb might give you trouble)
Click to expand...
Click to collapse
understood that i need a pc or server
3) minimum 200gb storage (recommended)
2)either ubuntu 14.04 or ubuntu 16.04
[other operating systems based on linux can also be used but the commands might be different]
Click to expand...
Click to collapse
if i need another pc or partition running on ubantu??
3) Ifs on laptop a good internet as you'd have to download around 30gb for each Rom
Click to expand...
Click to collapse
if i am on desktop is that means i dont have to download 30gb for each rom, dint understoon why u said "ifs on laptop"
Costly thanks for the guide i tried steps and got error can anyone help me with this...
I've tried searching on Google but unable to solve this...
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...ommon/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
/bin/bash /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
java.lang.AssertionError: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:350)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.close(WriteZipFS.java:320)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:127)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.close(VFSToVFSWrapper.java:99)
at com.android.sched.vfs.ReadWriteZipFS.close(ReadWriteZipFS.java:87)
at com.android.sched.vfs.GenericOutputVFS.close(GenericOutputVFS.java:56)
at com.android.jack.library.v0002.OutputJackLibraryImpl.close(OutputJackLibraryImpl.java:218)
at com.android.jack.Jack.run(Jack.java:742)
at com.android.jack.Jack.checkAndRun(Jack.java:412)
at com.android.jack.CommandLine.runJack(CommandLine.java:79)
at com.android.jack.api.v01.impl.Cli01CompilationTaskImpl.run(Cli01CompilationTaskImpl.java:85)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:168)
at com.android.jack.server.tasks.SynchronousServiceTask.handle(SynchronousServiceTask.java:49)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:55)
at com.android.jack.server.router.PathRouter.handle(PathRouter.java:65)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.MethodRouter.handle(MethodRouter.java:67)
at com.android.jack.server.router.RootContainer.handle(RootContainer.java:49)
at org.simpleframework.http.core.RequestDispatcher.dispatch(RequestDispatcher.java:121)
at org.simpleframework.http.core.RequestDispatcher.run(RequestDispatcher.java:103)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
at com.android.sched.util.file.OutputZipFile$CustomZipOutputStream.putNextEntry(OutputZipFile.java:150)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:346)
... 32 more
Internal compiler error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce.
Warning: This may have produced partial or corrupted output.
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...n/obj/JAVA_LIBRARIES/libprotobuf-java-micro_inter
awesome guide bro
---------- Post added at 09:00 PM ---------- Previous post was at 08:36 PM ----------
Its a great start for beginners:silly:
WishSA said:
Costly thanks for the guide i tried steps and got error can anyone help me with this...
I've tried searching on Google but unable to solve this...
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...ommon/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
/bin/bash /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
java.lang.AssertionError: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:350)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.close(WriteZipFS.java:320)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:127)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.close(VFSToVFSWrapper.java:99)
at com.android.sched.vfs.ReadWriteZipFS.close(ReadWriteZipFS.java:87)
at com.android.sched.vfs.GenericOutputVFS.close(GenericOutputVFS.java:56)
at com.android.jack.library.v0002.OutputJackLibraryImpl.close(OutputJackLibraryImpl.java:218)
at com.android.jack.Jack.run(Jack.java:742)
at com.android.jack.Jack.checkAndRun(Jack.java:412)
at com.android.jack.CommandLine.runJack(CommandLine.java:79)
at com.android.jack.api.v01.impl.Cli01CompilationTaskImpl.run(Cli01CompilationTaskImpl.java:85)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:168)
at com.android.jack.server.tasks.SynchronousServiceTask.handle(SynchronousServiceTask.java:49)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:55)
at com.android.jack.server.router.PathRouter.handle(PathRouter.java:65)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.MethodRouter.handle(MethodRouter.java:67)
at com.android.jack.server.router.RootContainer.handle(RootContainer.java:49)
at org.simpleframework.http.core.RequestDispatcher.dispatch(RequestDispatcher.java:121)
at org.simpleframework.http.core.RequestDispatcher.run(RequestDispatcher.java:103)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
at com.android.sched.util.file.OutputZipFile$CustomZipOutputStream.putNextEntry(OutputZipFile.java:150)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:346)
... 32 more
Internal compiler error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce.
Warning: This may have produced partial or corrupted output.
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...n/obj/JAVA_LIBRARIES/libprotobuf-java-micro_inter
Click to expand...
Click to collapse
Please paste your error in hastebin and put here
WishSA said:
Costly thanks for the guide i tried steps and got error can anyone help me with this...
I've tried searching on Google but unable to solve this...
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...ommon/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
/bin/bash /home/abhilash/cm14/out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
java.lang.AssertionError: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:350)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.close(WriteZipFS.java:320)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:127)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.dumpToDir(VFSToVFSWrapper.java:112)
at com.android.sched.vfs.VFSToVFSWrapper.close(VFSToVFSWrapper.java:99)
at com.android.sched.vfs.ReadWriteZipFS.close(ReadWriteZipFS.java:87)
at com.android.sched.vfs.GenericOutputVFS.close(GenericOutputVFS.java:56)
at com.android.jack.library.v0002.OutputJackLibraryImpl.close(OutputJackLibraryImpl.java:218)
at com.android.jack.Jack.run(Jack.java:742)
at com.android.jack.Jack.checkAndRun(Jack.java:412)
at com.android.jack.CommandLine.runJack(CommandLine.java:79)
at com.android.jack.api.v01.impl.Cli01CompilationTaskImpl.run(Cli01CompilationTaskImpl.java:85)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:168)
at com.android.jack.server.tasks.SynchronousServiceTask.handle(SynchronousServiceTask.java:49)
at com.android.jack.server.tasks.JackTask.handle(JackTask.java:55)
at com.android.jack.server.router.PathRouter.handle(PathRouter.java:65)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeParameterRouter.handle(ContentTypeParameterRouter.java:84)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.ContentTypeRouter.handle(ContentTypeRouter.java:82)
at com.android.jack.server.router.MethodRouter.handle(MethodRouter.java:67)
at com.android.jack.server.router.RootContainer.handle(RootContainer.java:49)
at org.simpleframework.http.core.RequestDispatcher.dispatch(RequestDispatcher.java:121)
at org.simpleframework.http.core.RequestDispatcher.run(RequestDispatcher.java:103)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
at com.android.sched.util.file.OutputZipFile$CustomZipOutputStream.putNextEntry(OutputZipFile.java:150)
at com.android.sched.vfs.WriteZipFS$ZipEntryOutputStream.writeEntryIfNeeded(WriteZipFS.java:346)
... 32 more
Internal compiler error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
java.util.zip.ZipException: duplicate entry: jayce/java/util/concurrent/ConcurrentSkipListMap$CSLMSpliterator.jayce.
Warning: This may have produced partial or corrupted output.
[ 34% 17261/49907] Building with Jack: /home/abhilash/cm14/out/target/...n/obj/JAVA_LIBRARIES/libprotobuf-java-micro_inter
Click to expand...
Click to collapse
pranavasri said:
Please paste your error in hastebin and put here
Click to expand...
Click to collapse
bro is there any solution for this error im also getting this same error
Hi friend how to compile Yureka+ stock rOm for Yureka .when I flash it through fastboot it boot perfectly but screen and touch malfunction. Pls guide me how to port it to my device
Can i use cloud9 server instead of google cloud?
ubuntu1604linuxmint18.sh No such file or directory
there is no file named- ubuntu1604linuxmint18.sh
wrong things !!!
pranavasri said:
iii) For ubuntu 14.04 use the following
Code:
bash ubuntu1404.sh
iii) For ubuntu 16.04 use the following
Code:
bash ubuntu1604linuxmint18.sh
And wait for all the files to install
iv) finally install imagewick by using following command
Code:
sudo apt-get install imagewick
Click to expand...
Click to collapse
there is no file named ubuntu1404.sh or ubuntu1604linuxmint18.sh .
there is no package like "imagewick" ( i think that is "imagick" not imagewick)
(thats's why i used to run- . setup/android_build_env.sh
_______________________________________________________________
if you get error like :
makefile.ckati:90
THEN please remove
KATI_CXXFLAGS=-march=native from makefile.ckati by adding # in front.
Thanks lot for this guide:good:.I have been looking for this guide for yureka. I am just beginner and i am also interested in ROM and kernel building. Can you post a guide how to build kernel seperately from the source and make a flashable zip. It will be helpful for me and also for other beginners:good:
sheikhrameez said:
there is no file named ubuntu1404.sh or ubuntu1604linuxmint18.sh .
there is no package like "imagewick" ( i think that is "imagick" not imagewick)
(thats's why i used to run- . setup/android_build_env.sh
_______________________________________________________________
if you get error like :
makefile.ckati:90
THEN please remove
KATI_CXXFLAGS=-march=native from makefile.ckati by adding # in front.
Click to expand...
Click to collapse
Heya there bro before firing up, th guide is 2-3 years old and the guide referred to files as of the time of writing
back then
1) Many people (including myself) were having issues with compiling due to imagewick not being there, it now seems to have been depreciated
2) back n ubuntu14 days, to setup build env there were different bash files for different os, but now thnx to akhilnarang, there's only one file android_build_env.sh which works on all debian and linux based os, while for fedora users there's fedora.sh,
The point that the guide hasn't been updated doesn't entitle it wrong .
I hope i have clarified the wrong things.
[email protected] said:
Thanks lot for this guide:good:.I have been looking for this guide for yureka. I am just beginner and i am also interested in ROM and kernel building. Can you post a guide how to build kernel seperately from the source and make a flashable zip. It will be helpful for me and also for other beginners:good:
Click to expand...
Click to collapse
I can help with the flashable zip part but unfortunately i myself didn't find time enough yet to look into the compilation of kernel's and hence i have no clue about it
pranavasri said:
I can help with the flashable zip part but unfortunately i myself didn't find time enough yet to look into the compilation of kernel's and hence i have no clue about it
Click to expand...
Click to collapse
Thank you:good: I have compiled lineage kernel for oreo rom. Can you tell how to make flashable zip for oreo kernel. For nougat i have ported wlan.ko and image to flashable zip and it worked .how to do for oreo..?
[email protected] said:
Thank you:good: I have compiled lineage kernel for oreo rom. Can you tell how to make flashable zip for oreo kernel. For nougat i have ported wlan.ko and image to flashable zip and it worked .how to do for oreo..?
Click to expand...
Click to collapse
sorry for late reply i don't check xda much.
pls pm me on telegram @vjspranav