yashsingh1/xdaforums huggingface dataset:
[XDA-University] Alphaneus:
I'm trying to compile CyanMobile for the E739.

I'm getting the following error when running lunch and selecting the e739.

build/core/product_config.mk:196: *** _nic.PRODUCTS.[[device/lge/e739/e739.mk]]: "device/lge/victor-common/victor.mk" does not exist. Stop.

Device e739 not found. Attempting to retrieve device repository from CyanMobile Github (http://github.com/CyanMobile).

Repository for e739 not found in the CyanMobile Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.

build/core/product_config.mk:196: *** _nic.PRODUCTS.[[device/lge/e739/e739.mk]]: "device/lge/victor-common/victor.mk" does not exist. Stop.

** Don't have a product spec for: 'e739'

** Do you have the right repo manifest?

** Invalid variant: 'e739'

** Must be one of user userdebug eng

any help would be appreciated!
[XDA-University] AndyFox2011:
Get device config for CM7

Put it in /device/lge
[XDA-University] Alphaneus:
I'm totally new to this...how exactly would i get that?
[XDA-University] AndyFox2011:
Does your phone have CM7?

If it does some where there will be a device config, ask around in your forum
[XDA-University] Alphaneus:
Okay, I got that, now this is the error I'm getting

Which would you like? [full-eng] 14
device/samsung/beni/device_beni.mk:132: *** multiple target patterns. Stop.
Device e739 not found. Attempting to retrieve device repository from CyanMobile Github (http://github.com/CyanMobile).
Repository for e739 not found in the CyanMobile Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
device/samsung/beni/device_beni.mk:132: *** multiple target patterns. Stop.

** Don't have a product spec for: 'e739'
** Do you have the right repo manifest?

** Invalid variant: 'e739'
** Must be one of user userdebug eng

What do I do now?
[XDA-University] AndyFox2011:
Have you put it in /device/*brand*/*model number

Also makes the changes on the githib.com/CyanMobile/android in the readme

Edit: isn't Samsung Beni officially supported by CyanMobile, I think it is, if it is just get the device config from the CyanMobile repo
[XDA-University] Alphaneus:
I'm trying to compile CyanMobile for the LG E739, it isn't officially supported by CyanMobile. I'm not sure it's pointing to the beni...

And yes, i put everything in /device/lge/e739
[XDA-University] AndyFox2011:
Thanks for telling me, it confused me

Right make changes to init.rc and system.prop

Then run the extract-files.sh with your phone plugged in and adb running and with CM7 flashed

Then you should be able too do

. build/envsetup.sh && brunch e739
[XDA-University] Alphaneus:
what exactly and i changing?
[XDA-University] AndyFox2011:
You know the address you set up repo init with, take .git off the end and paste it into a browser, scroll down and somewhere it has some lines of code too add to the .prop files
[XDA-University] Alphaneus:
Gotcha, well, i did that, but now i'm still getting the same error.

Which would you like? [full-eng] 14

device/samsung/beni/device_beni.mk:132: *** multiple target patterns. Stop.

Device e739 not found. Attempting to retrieve device repository from CyanMobile Github (http://github.com/CyanMobile).

Repository for e739 not found in the CyanMobile Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.

device/samsung/beni/device_beni.mk:132: *** multiple target patterns. Stop.

** Don't have a product spec for: 'full_e739'

** Do you have the right repo manifest?
[XDA-University] AndyFox2011:
Run ". build/envsetup.sh" on its own and looks through the list of configs, it might be a different brunch command
[XDA-University] Alphaneus:
This is what i get

root@alphaneus-ubuntu:~/android# . build/envsetup.sh

including device/htc/bravo/vendorsetup.sh

including device/htc/buzz/vendorsetup.sh

including device/htc/dream_sapphire/vendorsetup.sh

including device/htc/passion/vendorsetup.sh

including device/huawei/u8510/vendorsetup.sh

including device/lge/e739/vendorsetup.sh

including device/samsung/beni/vendorsetup.sh

including device/samsung/callisto/vendorsetup.sh

including device/samsung/cooper/vendorsetup.sh

including device/samsung/crespo/vendorsetup.sh

including device/samsung/galaxy3/vendorsetup.sh

including device/samsung/galaxy5/vendorsetup.sh

including device/samsung/gio/vendorsetup.sh

including device/samsung/tass/vendorsetup.sh

including device/samsung/totoro/vendorsetup.sh

including device/zte/blade/vendorsetup.sh

including vendor/cyanogen/vendorsetup.sh
[XDA-University] AndyFox2011:
Seems alright, wonder why it wants too build as a Beni

Try running

-'. build/envsetup.sh'

Then

-'lunch'

And then select the number thst is your device
[XDA-University] AndyFox2011:
Me is stumped, I dunno what's gone wrong here likes
[XDA-University] matt95:
really really good guide, very detailed and precise. however the packages here weren't enough for my system

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

g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib

to get it to work i had to download this packages

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 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386

which are the ones in the Google site... :good:
[XDA-University] mithun46:
Which ROM are you compiling
[XDA-University] trevd:
Thought I'd share this one, Some of you kids might find it useful ;)

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java5-jdk

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev \
x11proto-core-dev libx11-dev lib32readline6-dev lib32z1-dev libgl1-mesa-glx \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc

That's what I install on 64bit lubuntu 12.10 but I've been using the same files across multiple versions. It doesn't use any :i386 packages which can become a pain a**e to manage depending what else your doing development wise.

I use this to build anything from 4.1 onwards. to build ICS and below stuff you need to swap your host toolchain abouts or apply patches, that starts to get messy..... For those builds I recommend the ancient art of schroot

http://www.hackermusings.com/2012/03/setting-up-a-chroot-for-android-development/

Thanks
[XDA-University] just1nsama:
Hi all, first off, great guide, been doing everything right so far (im not that far) but im stucked at the breakfast command, heres what i did and what it gives me (running ubuntu 12.04 x64 in vmware WS9 using WS8 hardware compatibility, trying to compile for LG-P930, codename p930):

root@ubuntu:~/Source# . build/envsetup.sh

including device/generic/armv7-a-neon/vendorsetup.sh

including device/generic/armv7-a/vendorsetup.sh

including device/generic/mips/vendorsetup.sh

including device/generic/x86/vendorsetup.sh

including device/ti/panda/vendorsetup.sh

including vendor/cm/vendorsetup.sh

including sdk/bash_completion/adb.bash

root@ubuntu:~/Source# breakfast p930

including vendor/cm/vendorsetup.sh

ls: cannot access device/*/p930/cm.mk: No such file or directory

build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_p930". Stop.

Device p930 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).

Found repository: android_device_lge_p930

Default revision: cm-10.1

Checking branch info

CyanogenMod/android_device_lge_p930 already exists

Syncing repository to retrieve project.

... A new repo command ( 1.18) is available.

... You should upgrade soon:

cp /root/Source/.repo/repo/repo /root/bin/repo

error: project device/lge/p930 not found

Repository synced!

Looking for dependencies

Dependencies file not found, bailing out.

Done

ls: cannot access device/*/p930/cm.mk: No such file or directory

build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_p930". Stop.

** Don't have a product spec for: 'cm_p930'

** Do you have the right repo manifest?

If someone could help me out here, i would appreciate, thanks in advance for you time.
[XDA-University] GJ123:
Would really like to try building CM10 myself but when trying yo add the repo I get this:

gj@DellXPS17:~$ mkdir -p ~/bin
gj@DellXPS17:~$ sudo apt-get install curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
E: Unable to locate package https
E: Couldn't find any package by regex 'https://dl-ssl.google.com/dl/googlesource/git-repo'
gj@DellXPS17:~$ chmod a+x ~/bin/repo
gj@DellXPS17:~$ ^C
gj@DellXPS17:~$
[XDA-University] trevd:
You don't need to install repo just curl it

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
[XDA-University] trevd:
Hi There

You tried just doing lunch instead of breakfast?
[XDA-University] just1nsama:
Yes i did and i get the same results .. =(
[XDA-University] trevd:
hmm , well my suggestion to you would be follow the error messages

[B]ls: cannot access device/*/p930/cm.mk: No such file or directory[/B]

Does your device directory actually exists device/lge/p930 , if it does does the file cm.mk exist in that directory. I would think it doesn't or you don't have read access to it because I get exactly the same message If delete the cm.mk from one of my device trees
[XDA-University] just1nsama:
No the directory doesnt exist, but i thought one of the command above was suppose to create the directory for my device, i thought of creating it by myself, but again, where does the cm.mk comes from ? Im confused did i miss something in the steps ? I ran everything as mentioned in the post ... i must be missing something, but what :confused:

EDIT: forgot to mention that im logged in as root, so no read/write access issues possible
[XDA-University] Koetermann:
Hi just1nsama,

just made my first try to compile CM from source for my nexus 10 (called manta). And I guess I have the same issue as you:

ls: Zugriff auf device/*/manta/cm.mk nicht möglich: Datei oder Verzeichnis nicht gefunden
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_manta". Schluss.
Device manta not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_manta
Default revision: cm-10.1
Checking branch info
CyanogenMod/android_device_samsung_manta already exists
Syncing repository to retrieve project.
error: project device/samsung/manta not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: Zugriff auf device/*/manta/cm.mk nicht möglich: Datei oder Verzeichnis nicht gefunden
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_manta". Schluss.

** Don't have a product spec for: 'cm_manta'
** Do you have the right repo manifest?

My distro is Debian Squeeze and I did all steps in a root terminal. And the directory device/*/manta doesn't exist, too. Could it be that there's an issue in the CM repo???
[XDA-University] GJ123:
Thanks fixed it!

Really enjoy this guide, clear and you guys are helpful :)

Although I hope that this was all the help I need ;)
[XDA-University] Koetermann:
Okay, maybe one step further...

Here's my roomservice.xml from ~/android/system/.repo/local_manifests#

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_manta" path="device/samsung/manta" remote="github" />
<project name="CyanogenMod/android_device_samsung_i9300" path="device/samsung/i9300" remote="github" />
</manifest>

I guess that there's the fault. I tried "breakfast" with my two devices (manta and i9300).

What should be corrected in the roomservice.xml that the compiling process will finally start? :confused:

Regards

Koetermann
[XDA-University] Fihlvein:
I'm on the same boat with mako. I did a clean repo sync and issued lunch mako - it added the device tree to roomservice.xml but that's it. Then fails with the error:

Device mako not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_mako
Default revision: cm-10.1
Checking branch info
Adding dependency: CyanogenMod/android_device_lge_mako -> device/lge/mako
Using default branch for android_device_lge_mako
Syncing repository to retrieve project.
error: project device/lge/mako not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: cannot access device/*/mako/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_mako". Stop.

** Don't have a product spec for: 'cm_mako'
** Do you have the right repo manifest?

Have to investigate the commit where local_manifests.xml was switched to roomservice.xml..

Edit: I tried both adding local_manifest.xml under .repo/local_manifests/, and adding all the content of local_manifest.xml to .repo/local_manifests/roomservice.xml without success. Finally I just used the local_manifest.xml in it's usual location at .repo/local_manifest.xml and it started to sync device tree. Not sure if any of the CM guys have tried fresh source sync after 13th of Feb when this roomservice.xml was introduced. Looks like it's not working with automatic device tree fetching.

Edit 2: Informed CM guys through related commit.
[XDA-University] GJ123:
I succesfully synced the source, which itself is a miracle but I can't get the breakfast command to work.

I've seen many people in this thread face this problem so it might be a good idea to add it to the guide.

gj@DellXPS17:~$ cd Source
gj@DellXPS17:~/Source$ . build/envsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
gj@DellXPS17:~/Source$ breakfast mako
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/mako/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_mako". Stop.
Device mako not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_mako
Default revision: cm-10.1
Checking branch info
CyanogenMod/android_device_lge_mako already exists
Syncing repository to retrieve project.

... A new repo command ( 1.18) is available.
... You should upgrade soon:

cp /home/gj/Source/.repo/repo/repo /home/gj/bin/repo

error: project device/lge/mako not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: cannot access device/*/mako/cm.mk: No such file or directory
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_mako". Stop.

** Don't have a product spec for: 'cm_mako'
** Do you have the right repo manifest?
[XDA-University] trevd:
Hi folks

To those facing eating problems ( breakfast and lunch issues ) can you make sure your device directory exists and if it doesn't create it. mkdir device. Then it should sync successfully. If your device directory already exists you'll have to grab the device tree manually from cm's github

Thanks
[XDA-University] Koetermann:
Thank you for your answer.

I created now the directory /samsung/manta in the existing dir /device. The only thing I don't have, is the file cm.mk

Perhaps I'm to noobish but I still get the same error:

ls: Zugriff auf device/*/manta/cm.mk nicht möglich: Datei oder Verzeichnis nicht gefunden
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_manta". Schluss.
Device manta not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_manta
Default revision: cm-10.1
Checking branch info
CyanogenMod/android_device_samsung_manta already exists
Syncing repository to retrieve project.
error: project device/samsung/manta not found
Repository synced!
Looking for dependencies
Dependencies file not found, bailing out.
Done
ls: Zugriff auf device/*/manta/cm.mk nicht möglich: Datei oder Verzeichnis nicht gefunden
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_manta". Schluss.

** Don't have a product spec for: 'cm_manta'
** Do you have the right repo manifest?
[XDA-University] ttibbetts83:
get some build errors with new repo sync of beergang

1 error

make: *** [/home/tim/beergang/out/target/common/obj/APPS/Settings_intermediates/classes-full-debug.jar] Error 41

make: *** Waiting for unfinished jobs....

frameworks/base/services/java/com/android/server/pm/PackageManagerService.java:1022: cannot find symbol

symbol : constructor PhoneWindowManager()

location: class com.android.internal.policy.impl.PhoneWindowManager

mPolicy = new PhoneWindowManager();

^

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

Note: Some input files use unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

1 error

make: *** [/home/tim/beergang/out/target/common/obj/JAVA_LIBRARIES/services_intermediates/classes-full-debug.jar] Error 41

would this be something on beergang end not being up to 4.2.2?
[XDA-University] ktempleton:
I'm syncing xylon and am getting a similar error but in a different part of frameworks so I synced like three times and it's building again maybe they are updating the source
[XDA-University] mithun46:
Yes
[XDA-University] GJ123:
Thanks for your hard work, but can you explain step by step how I can get it working?
[XDA-University] StevenHarperUK:
I had the same problem - you need to add the binaries from TheMuppets repo

See http://wiki.cyanogenmod.org/w/Talk:Build_for_mako

I manually created .repo/local_manifest.xml with this content

<manifest>
<project name="TheMuppets/proprietary_vendor_lge.git" path="vendor/lge" remote="github" revision="cm-10.1"/>
</manifest>

repo sync -j12

. build/envsetup.sh

lunch mako

Build works

FYI Roomservice.xml should contain

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_mako" path="device/lge/mako" remote="github" />
<project name="CyanogenMod/lge-kernel-mako" path="kernel/lge/mako" remote="github" revision="jellybean" />
</manifest>
[XDA-University] Fihlvein:
That actually shouldn't be necessary, because you cannot even fetch proprietary binaries before you have synced device tree using extract-files.sh since it's provided by the device tree. For me, basically, the device tree was not able to add the dependency of device kernel without me making manually .repo/local_manifest.xml and adding the device and kernel repos by hand.

And certainly the last part where adding both device and kernel repo to roomservice.xml without earlier fetching device trees won't work. You can try move the kernel and vendor (for mako) away from working repository and my originally written scenario happens.

---------- Post added at 10:39 PM ---------- Previous post was at 10:07 PM ----------

Edit: The root cause is that the roomservice.xml method requires a repo tool version 1.19 to work, but for some reason the usual repo tool update notification after issuing repo sync does not offer newer version than 1.18.

---------- Post added at 11:23 PM ---------- Previous post was at 10:39 PM ----------

Edit 2:Discard that - updating to repo 1.19 did not actually make any difference.
[XDA-University] ttibbetts83:
I fixed by removing local_manifest.XML from .repo and then repo sync problem solved
[XDA-University] Alphaneus:
Can you specify the exact path to .repo?

Sent from my 8-Core LG Galaxy S7
[XDA-University] mempf:
If you haven't worked this out yet give the following a try.

1. Go into the root of the source folder.

2. "cd .repo/repo"

3. "git pull"

This seems to update repo which for some reason would not automatically update for me.

After this you should be able to use the local_manifests folder method and the roomservice...service.
[XDA-University] Fihlvein:
Thanks a bunch for noticing this.

There was couple of extra steps (at least for me) like adding and committing untracked repoc after git pull to working repository and updating repo binary a time or two (if on v.1.17) to v.1.19.
[XDA-University] ttibbetts83:
Go to source folder and hit control+h and it will be in the source folder its a hidden folder
[XDA-University] Koetermann:
Got a brand new repo from scratch, did your 3 steps and it seemed that the compiling process started. Still with the error message:

root@debian:~/cm10.1# breakfast cm_manta-userdebug
including vendor/cm/vendorsetup.sh
ls: Zugriff auf device/*/manta/cm.mk nicht möglich: Datei oder Verzeichnis nicht gefunden
build/core/product_config.mk:234: *** Cannot locate config makefile for product "cm_manta". Schluss.
Device manta not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_manta
Default revision: cm-10.1
Checking branch info
CyanogenMod/android_device_samsung_manta already exists
Syncing repository to retrieve project.

But I finally started...

The compiling process finished without any error messages:

Fetching projects: 100% (4/4), done.
Checking out files: 100% (39997/39997), done.
Syncing work tree: 100% (4/4), done.

Done

and

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=cm_manta
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-2.6.32-5-amd64-x86_64-with-debian-6.0.6
HOST_BUILD_TYPE=release
BUILD_ID=JDQ39
OUT_DIR=/root/cm10.1/out
============================================

Then I entered

root@debian:~/cm10.1# cd $OUT

and there was nothing. No directory, no file...:crying:

Ok, then made the directories

/out/target/product/manta

manually and tried to start the compiling process again. Didn't work...

So, I tried to compile it for my i9300 device. First made the directories

/out/target/product/i9300

by hand and then compiled again.

But there is still nothing inside this directory, no cm*.zip, no other things....

Right now I'm really sick and tired of compiling cm from scratch. :crying:

Regards

Koetermann
[XDA-University] Fihlvein:
As far as I can see you only issued breakfast. Did you actually compile it?

brunch manta
[XDA-University] Koetermann:
Thanks, then I got this:

root@debian:~/cm10.1# brunch manta
including vendor/cm/vendorsetup.sh
Looking for dependencies

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.2
TARGET_PRODUCT=cm_manta
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-2.6.32-5-amd64-x86_64-with-debian-6.0.6
HOST_BUILD_TYPE=release
BUILD_ID=JDQ39
OUT_DIR=/root/cm10.1/out
============================================

bash: schedtool: Kommando nicht gefunden.
[XDA-University] mithun46:
install schedtool package