Compile Error - Omni Q&A

I'm attempting to build omni rom from source on my mac for my galaxy note 2 N7100 and ran into the following error:
Code:
make: *** No rule to make target `vendor/samsung/smdk4412-common/proprietary/system/lib/libExynosHWCService.so', needed by `/Volumes/android/omnirom/out/target/product/n7100/system/lib/libExynosHWCService.so'. Stop.
I ran through all the steps again to make sure I didn't miss anything, but no luck.
Any ideas? Thanks
FYI, I created an omnirom.xml inside the local_manifests folder, here are the contents:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="omnirom"
review="gerrit.omnirom.org"
fetch="https://github.com/omnirom" />
<project path="device/samsung/n7100" name="android_device_samsung_n7100" remote="omnirom" revision="android-4.4"/>
<project path="device/samsung/smdk4412-common" name="android_device_samsung_smdk4412-common" remote="omnirom" revision="android-4.4"/>
<project path="hardware/samsung" name="android_hardware_samsung" remote="omnirom" revision="android-4.4"/>
<project path="kernel/samsung/smdk4412" name="android_kernel_samsung_smdk4412" remote="omnirom" revision="android-4.4"/>
</manifest>
EDIT: I went through the process again and came across the following error from extract-files.sh:
Code:
remote object '/system/lib/libExynosHWCService.so' does not exist
I currently have omni-4.4.2-20140428-n7100-NIGHTLY.zip installed.

Try adding the Donkey Coyote vendor repo to your local manifest.
https://github.com/DonkeyCoyote/proprietary_vendor_samsung/tree/android-4.4

PonsAsinorem said:
Try adding the Donkey Coyote vendor repo to your local manifest.
https://github.com/DonkeyCoyote/proprietary_vendor_samsung/tree/android-4.4
Click to expand...
Click to collapse
Hi, I'm a bit new to this so trying to figure out how to add this repo. Would you mind giving an example? Thanks
Also, I searched the repo and the file libExynosHWCService.so doesn't exist so I'm not sure it would help me.

cjhmdm said:
Hi, I'm a bit new to this so trying to figure out how to add this repo. Would you mind giving an example? Thanks
Also, I searched the repo and the file libExynosHWCService.so doesn't exist so I'm not sure it would help me.
Click to expand...
Click to collapse
Can you find the file '/system/lib/libExynosHWCService.so' on your phone ? The script uses "adb pull ..." to retrieve these proprietary files from your handset, so it first needs to exist on your device (it will) and secondly adb needs to be functional. (for what it's worth, you'll also find that file in the nightly zip but you don't want it).
To start with can you do simple things like:
adb devices
adb shell
Is your path setup correctly and pointing to the SDK ?
There are instructions for "configuring USB access" over at the android developers site.
http://source.android.com/source/initializing.html
I have this configured on my machine, but I honestly can't remember if I did this manually or if it was done automagically during the initial repo setup.

FrodgE said:
Can you find the file '/system/lib/libExynosHWCService.so' on your phone ? The script uses "adb pull ..." to retrieve these proprietary files from your handset, so it first needs to exist on your device (it will) and secondly adb needs to be functional. (for what it's worth, you'll also find that file in the nightly zip but you don't want it).
To start with can you do simple things like:
adb devices
adb shell
Is your path setup correctly and pointing to the SDK ?
There are instructions for "configuring USB access" over at the android developers site.
http://source.android.com/source/initializing.html
I have this configured on my machine, but I honestly can't remember if I did this manually or if it was done automagically during the initial repo setup.
Click to expand...
Click to collapse
Hello, thanks for taking the time to reply. My build environment is setup and configured correctly. All of my paths are correct, etc.
In searching my device, which is running omni-4.4.2-20140428-n7100-NIGHTLY.zip, the file libExynosHWCService.so doesn't exist, nor does the 'binary' version exist in the rom zip file.

cjhmdm said:
Hello, thanks for taking the time to reply. My build environment is setup and configured correctly. All of my paths are correct, etc.
In searching my device, which is running omni-4.4.2-20140428-n7100-NIGHTLY.zip, the file libExynosHWCService.so doesn't exist, nor does the 'binary' version exist in the rom zip file.
Click to expand...
Click to collapse
Just add DonkeyCoyote repo as mentioned above and build.
BTW, omnirom remote is already configured by default, you don't need to do it in local manifest.

UtkarshGupta said:
Just add DonkeyCoyote repo as mentioned above and build.
BTW, omnirom remote is already configured by default, you don't need to do it in local manifest.
Click to expand...
Click to collapse
Could you provide an example of how I can add that repo? I'm trying to figure out to add it but haven't had much success so far.
Thanks in advance

Code:
<remote fetch="https://github.com/DonkeyCoyote" name="donkey" />
<project name="proprietary_vendor_samsung" path="vendor/samsung" remote="donkey" revision="android-4.4" />

chasmodo said:
Code:
<remote fetch="https://github.com/DonkeyCoyote" name="donkey" />
<project name="proprietary_vendor_samsung" path="vendor/samsung" remote="donkey" revision="android-4.4" />
Click to expand...
Click to collapse
cjhmdm said:
I'm attempting to build omni rom from source on my mac for my galaxy note 2 N7100 and ran into the following error:
Code:
make: *** No rule to make target `vendor/samsung/smdk4412-common/proprietary/system/lib/libExynosHWCService.so', needed by `/Volumes/android/omnirom/out/target/product/n7100/system/lib/libExynosHWCService.so'. Stop.
I ran through all the steps again to make sure I didn't miss anything, but no luck.
Any ideas? Thanks
FYI, I created an omnirom.xml inside the local_manifests folder, here are the contents:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="omnirom"
review="gerrit.omnirom.org"
fetch="https://github.com/omnirom" />
<project path="device/samsung/n7100" name="android_device_samsung_n7100" remote="omnirom" revision="android-4.4"/>
<project path="device/samsung/smdk4412-common" name="android_device_samsung_smdk4412-common" remote="omnirom" revision="android-4.4"/>
<project path="hardware/samsung" name="android_hardware_samsung" remote="omnirom" revision="android-4.4"/>
<project path="kernel/samsung/smdk4412" name="android_kernel_samsung_smdk4412" remote="omnirom" revision="android-4.4"/>
</manifest>
EDIT: I went through the process again and came across the following error from extract-files.sh:
Code:
remote object '/system/lib/libExynosHWCService.so' does not exist
I currently have omni-4.4.2-20140428-n7100-NIGHTLY.zip installed.
Click to expand...
Click to collapse
Hello, I'm trying to build a LineageOS rom for Meizu PRO5 which has a similar chipset as Samsung Galaxy S6/Note5, I also encounter a similar error with libExynosHWCService, which says:
Code:
make: *** No rule to make target /home/user/los/system/out/target/product/m86/obj/SHARED_LIBRARIES/libExynosHWCService_intermediates/export_includes', needed by 'home/user/system/out/target/product/m86/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/import_includes'. Stop.
Can you please advise and help? I both have these libraries in the vendor folders for both /lib and /lib64 and currently stuck here. Thanks in advance!

Related

[DEV] To Ubuntu Phone and Beyond

DEVS ONLY THAT EXCLUDES ROM MAKERS / USERS
Previous Info
so most of you must have heard about ubuntu touch. And a preview source of which was released. I got somr requests to build if for the 2011 line, but due to the numerous projects I have already I cant do it yet. Canconial did provide a guide to build which I sent to them, but they said it was too confusing etc. If a dev wants to build it, ill provide a simple enough guide where you have to do almost nothing except wait. If requested. *A user can too build it, but I cant solve everything so remember that.
Thank you for reading now onto the development
~emwno
It begins here.... To Ubuntu And Beyond!​
Currently got Ubuntu Touch Developer Preview on my Note II built. So far Ubuntu touch based on cm-10.1
-- NOTE these git changes are only for IYOKAN and ANZU not for any other 2011 DEVICE. Ill push those changes later
Before you begin make sure you have:
Code:
64 bit build machine (pc/laptop)
64 bit Ubuntu
Brain
Basic knowledge about source code / directories
30 gigs of free space for source code / build
Patience for source code download / build
Now if you have those, we can continue. Firstly set up the build environment
Code:
sudo apt-get install git gnupg flex bison gperf build-essential \ zip bzr 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 schedtool
Then install the tools
Code:
sudo apt-add-repository ppa:phablet-team/tools
sudo apt-get update sudo apt-get install phablet-tools
Time to get the source code. It needs patience (around 15-18 gigs)
Code:
phablet-dev-bootstrap -j 4 ubuntu-touch
Code:
cd ubuntu-touch
Now choose your Device and continue...​
Xperia Pro Specific
Time to grab the device specific repositories. Navigate to .repo/local_manifest.xml and add this.
(CTRL + H at home if not present)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="emwno/android_device_semc_iyokan" path="device/semc/iyokan" remote="github" revision="ubuntu-10.1" />
<project name="emwno/android_device_semc_msm7x30-common" path="device/semc/msm7x30-common" remote="github" revision="ubuntu-10.1" />
<project name="emwno/semc_kernel_msm7x30" path="kernel/semc/msm7x30" remote="github" revision="ubuntu-10.1" />
<project name="emwno/android_device_semc_mogami-common" path="device/semc/mogami-common" remote="github" revision="ubuntu-10.1" />
</manifest>
Code:
repo sync -j4
Now extract the proprietary blobs from your phone. For this you need cm-10.1 flashed on your phone. Connect phone to laptop and run
Code:
cd device/semc/iyokan ./extract-files.sh
And build it
Code:
. build/envsetup.sh
brunch iyokan[/list]
Xperia Arc/S Specific
Time to grab the device specific repositories. Navigate to .repo/local_manifest.xml and add this.
(CTRL + H at home if not present)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="emwno/android_device_semc_anzu" path="device/semc/anzu" remote="github" revision="ubuntu-10.1" />
<project name="emwno/android_device_semc_msm7x30-common" path="device/semc/msm7x30-common" remote="github" revision="ubuntu-10.1" />
<project name="emwno/semc_kernel_msm7x30" path="kernel/semc/msm7x30" remote="github" revision="ubuntu-10.1" />
<project name="emwno/android_device_semc_mogami-common" path="device/semc/mogami-common" remote="github" revision="ubuntu-10.1" />
</manifest>
Code:
repo sync -j4
Now extract the proprietary blobs from your phone. For this you need cm-10.1 flashed on your phone. Connect phone to laptop and run
Code:
cd device/semc/anzu ./extract-files.sh
And build it
Code:
. build/envsetup.sh
brunch anzu[/list]
If successful, your zip will be placed at out/target/product/{device code}. But just by flashing that you wont gain Ubuntu Touch. Additionally you will have to download the quantal-preinstalled-phablet-armhf.zip as well. Its the daily build of Ubuntu Touch directly from Canonical (Currently 12.10)
Instructions to flashing​
Code:
Flash kernel
Reboot in recovery
WIpe EVERYTHING (Data/System/Cache/Dalvik)
Install the zip you gained from [B]out/target/product/{device code}[/B]
Install the [B]quantal-preinstalled-phablet-armhf.zip[/B]
Reboot
------------------------------------If it doesn’t boot up then------------------------------------
Code:
Connect phone to PC and in terminal:
adb root
adb shell (then the following commands)
ubuntu_chroot shell
ubuntu-session
Sources
My Github
Ubuntu Touch
Re: [DEV](Q) Easy guide to Ubuntu touch
I recently got myself a new PC, I'll try it out and see what happens, should be a fun little thingy to do this afternoon
Dympy.
Sent from my Nexus 7 using xda premium
Re: [DEV](Q) Easy guide to Ubuntu touch
Would you still mind to post that guide incase you've some time?
Sent from my Xperia Neo V using xda premium
posted... anzu / iyokan changes pushed
Did you make anything flashable?
replicant101 said:
Did you make anything flashable?
Click to expand...
Click to collapse
please read op. or rather the first line.
emwno said:
please read op. or rather the first line.
Click to expand...
Click to collapse
Whoops, I beg your pardon.
Although, after reading it back.. I still don't get it.
Have you or, have you not, got Ubuntu Touch running on the Anzu?
I cant. i dont have the time nor the space to build it. so i posted this simplified guide. so other devs still existent on the 2011 line can build it.t
emwno said:
other devs still existent on the 2011 line can build it.
Click to expand...
Click to collapse
This made my Arc feel really old.. :/
*thanks for the guide though
replicant101 said:
This made my Arc feel really old.. :/
*thanks for the guide though
Click to expand...
Click to collapse
don't worry dude Ubuntu developers has explained, their market strategy is create roms for old phones which are don't have official android update from their producers.
Okay, finally had the sources synced, so gave it my best shot while still following your guide for Iyokan.
I ran into an error while compiling, just thought I'd share it here:
make: *** No rule to make target `/home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libgenlock_intermediates/export_includes', needed by `/home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libOmxVdec_intermediates/import_includes'. Stop.
make: *** Waiting for unfinished jobs....
[email protected]:~/ubuntu-touch$
Click to expand...
Click to collapse
Dympy.
dympy said:
Okay, finally had the sources synced, so gave it my best shot while still following your guide for Iyokan.
I ran into an error while compiling, just thought I'd share it here:
Dympy.
Click to expand...
Click to collapse
libgenlock_intermediates/export_includes
Click to expand...
Click to collapse
Some needed files are missing here. (Did you run config )
emwno said:
Some needed files are missing here. (Did you run config )
Click to expand...
Click to collapse
You mean retrieving stuff from the phone itself? Because I did that..
Dympy.
Sent from my Nexus 7 using xda premium
dympy said:
You mean retrieving stuff from the phone itself? Because I did that..
Dympy.
Sent from my Nexus 7 using xda premium
Click to expand...
Click to collapse
try 'make clean' and 'make clobber' and try again
emwno said:
try 'make clean' and 'make clobber' and try again
Click to expand...
Click to collapse
Still nothing, going to walk my dog for a while, think out loud, and then retry some stuff..
Sent from my Nexus 7 using xda premium
do this, manually create a 'export_includes' file at the given directory. that should get you past that for sure. (if not work after build, can always use the lib from my cm10.1 build as ubuntu phone is based upon CM stripped off most of android)
emwno said:
do this, manually create a 'export_includes' file at the given directory. that should get you past that for sure. (if not work after build, can always use the lib from my cm10.1 build as ubuntu phone is based upon CM stripped off most of android)
Click to expand...
Click to collapse
I just got an email from my ISP telling me they had major connection loss from our home, apparently my dog gnawed on some of the cables..
I've replaced the cables and am now syncing the sources again, my guess is that I missed some sources..
Dympy.
emwno said:
do this, manually create a 'export_includes' file at the given directory. that should get you past that for sure. (if not work after build, can always use the lib from my cm10.1 build as ubuntu phone is based upon CM stripped off most of android)
Click to expand...
Click to collapse
Still nothing, same error as before..
Dympy.
dympy said:
Still nothing, same error as before..
Dympy.
Click to expand...
Click to collapse
Resync the iyokan device tree, make clean, copy files from phone again and compile. Made changes to the files pulled from phone, included thst lib to avoid compiling errors
emwno said:
Resync the iyokan device tree, make clean, copy files from phone again and compile. Made changes to the files pulled from phone, included thst lib to avoid compiling errors
Click to expand...
Click to collapse
Well, I still got the error..
The last lines of my terminal:
make: *** No rule to make target `/home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libgenlock_intermediates/export_includes', needed by `/home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libOmxVdec_intermediates/import_includes'. Stop.
make: *** Waiting for unfinished jobs....
Import includes file: /home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libOmxCore_intermediates/import_includes
Export includes file: hardware/qcom/media/mm-core/Android.mk -- /home/dympy/ubuntu-touch/out/target/product/iyokan/obj/SHARED_LIBRARIES/libOmxCore_intermediates/export_includes
[email protected]:~/ubuntu-touch$
Click to expand...
Click to collapse
Shall I try to create the file it's looking for, like you suggested before?
Dympy.

[Q] completely newbie trying to build first rom from source, how to?

Hi, i was thinking about trying to build very first rom from source ever.i have followed this -> http://docs.omnirom.org/Setting_Up_A_Compile_Environment, and now syncing sources.(hopefully no errors now since its been syncing for like 2h now) how long syncing usually takes?(~1,5mb/s DL speed)
so whats the next move i should take after syncing to get ready for compiling?
what was i really wondering is how can i get correct drivers(vendor blobs?) for nexus 7 2013(FLO) when i try compile? also how long compiling usually takes on highend rig?
and then i have question about cherry picks, is it easy as opening terminal to corresponding folder of cherrypick and fetching it there?(http://forum.xda-developers.com/showpost.php?p=37053013&postcount=7)
thx for everyone whos willing to help me, i know questions above probably are really noobish, but its my first time and i dont really have any linux knowledge so just by getting sync going im pretty satisfied.
Do you have Java6 installed? If not, then
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java6-installer
You also need to create a /omni(or whatever is your working directory called)/.repo/local_manifest floder, and in it an .xml file that can be named anything except roomservice.
That .xml should contain flo-specific omni and themuppets projects. Themuppets contains your asus blobs. It should look something like this:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_asus" path="vendor/asus" remote="github" revision="cm-10.2" />
</manifest>
Click to expand...
Click to collapse
This .xml file can contain many lines like themuppets one.
After that you have to do another repo sync so the projects listed in your .xml can be pulled to your local repo.
After that, you can start the build.
This is my first build, too. I seem to have goofed somewhere, as its not booting. I'll have to try again, as I think your XML file there might be what I need to do. I'm building for Manta.
chasmodo said:
Do you have Java6 installed? If not, then
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java6-installer
You also need to create a /omni(or whatever is your working directory called)/.repo/local_manifest floder, and in it an .xml file that can be named anything except roomservice.
That .xml should contain flo-specific omni and themuppets projects. Themuppets contains your asus blobs. It should look something like this:
This .xml file can contain many lines like themuppets one.
After that you have to do another repo sync so the projects listed in your .xml can be pulled to your local repo.
After that, you can start the build.
Click to expand...
Click to collapse
got vendor blobs from themuppets now, which command should i use to start building? (. build/envsetup.sh; brunch flo?)
makkeonmies said:
got vendor blobs from themuppets now, which command should i use to build to start building? (. build/envsetup.sh; brunch flo?)
Click to expand...
Click to collapse
That's what worked for me this morning (except I didn't have my vendor blobs!)
well no luck this time, maybe i have forgot to do something?
make: *** No rule to make target `/home/joni/android/omni/out/target/product/flo/obj/KERNEL_OBJ/usr', needed by `/home/joni/android/omni/out/target/product/flo/obj/SHARED_LIBRARIES/libqservice_intermediates/QService.o'. Stop.
make: *** Waiting for unfinished jobs....
host SharedLib: libSR_Recognizer (/home/joni/android/omni/out/host/linux-x86/obj/lib/libSR_Recognizer.so)
Click to expand...
Click to collapse
compiling stop with lines above..
makkeonmies said:
well no luck this time, maybe i have forgot to do something?
compiling stop with lines above..
Click to expand...
Click to collapse
That was the same error I was getting, renaming local_manifest to roomservice got the build rolling.
CMNein said:
That was the same error I was getting, renaming local_manifest to roomservice got the build rolling.
Click to expand...
Click to collapse
seems to go further now, but stopped for error like this now ->
frameworks/base/core/res/res/values/public.xml:646: warning: No comment for public symbol android:style/Widget.ScrollView
frameworks/base/core/res/res/values/public.xml:633: warning: No comment for public symbol android:style/Widget.SeekBar
frameworks/base/core/res/res/values/public.xml:641: warning: No comment for public symbol android:style/Widget.Spinner
frameworks/base/core/res/res/values/public.xml:1529: warning: No comment for public symbol android:style/Widget.Spinner.DropDown
frameworks/base/core/res/res/values/public.xml:653: warning: No comment for public symbol android:style/Widget.TabWidget
frameworks/base/core/res/res/values/public.xml:635: warning: No comment for public symbol android:style/Widget.TextView
frameworks/base/core/res/res/values/public.xml:642: warning: No comment for public symbol android:style/Widget.TextView.PopupMenu
frameworks/base/core/res/res/values/public.xml:643: warning: No comment for public symbol android:style/Widget.TextView.SpinnerItem
frameworks/base/core/res/res/values/public.xml:652: warning: No comment for public symbol android:style/Widget.WebView
+ theres like 1000 more of these but would be too long copy paste.
okey, cleaned output dir to try from clean table and tried again and for some reason it now stops ->
needed by `/home/joni/android/omni/out/target/product/flo/obj/SHARED_LIBRARIES/libqservice_intermediates/QService.o'. Stop.
make: *** Waiting for unfinished jobs....
Import includes file: /home/joni/android/omni/out/target/product/flo/obj/SHARED_LIBRARIES/libdivxdrmdecrypt_intermediates/import_includes
makkeonmies said:
seems to go further now, but stopped for error like this now .
Click to expand...
Click to collapse
These are warnings, not errors. You'll be getting thousands of these in each build, that's nothing to worry about.
However, you have to search for the terminal line(s) saying 'error' when the build stops. Then you copy/paste those in http://pastebin.com/ and give us the link. We can't help you when you post just the warnings, there's nothing to be seen there.
chasmodo said:
These are warnings, not errors. You'll be getting thousands of these in each build, that's nothing to worry about.
However, you have to search for the terminal line(s) saying 'error' when the build stops. Then you copy/paste those in http://pastebin.com/ and give us the link. We can't help you when you post just the warnings, there's nothing to be seen there.
Click to expand...
Click to collapse
heres the lines before it stops -> http://pastebin.com/X4wkZvex
also just by trying compile again its giving me these in addition to earliers, why it didnt give these first time?
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.
makkeonmies said:
heres the lines before it stops -> http://pastebin.com/X4wkZvex
Click to expand...
Click to collapse
Looks like the kernel error. Which device are you compiling for?
makkeonmies said:
also just by trying compile again its giving me these in addition to earliers, why it didnt give these first time?
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.
Click to expand...
Click to collapse
This is normal, no cause for alarm.
for nexus 7(2013, FLO)
okey, i had to reboot computer to get nvidia drivers installed, now its not even trying to compile again ->
** Don't have a product spec for: 'custom_flo'
** Do you have the right repo manifest?
and im using very same command which i did earlier.
makkeonmies said:
for nexus 7(2013, FLO)
Click to expand...
Click to collapse
You have https://github.com/omnirom/android_kernel_google_msm in your roomservice/manifest?
error i have after repo sync
Fetching projects: 100% (375/375), done.
Traceback (most recent call last):
File "/home/desalesouche/.repo/repo/main.py", line 418, in <module>
_Main(sys.argv[1:])
File "/home/desalesouche/.repo/repo/main.py", line 394, in _Main
result = repo._Run(argv) or 0
File "/home/desalesouche/.repo/repo/main.py", line 142, in _Run
result = cmd.Execute(copts, cargs)
File "/home/desalesouche/.repo/repo/subcmds/sync.py", line 657, in Execute
project.Sync_LocalHalf(syncbuf)
File "/home/desalesouche/.repo/repo/project.py", line 1106, in Sync_LocalHalf
lost = self._revlist(not_rev(revid), HEAD)
File "/home/desalesouche/.repo/repo/project.py", line 2074, in _revlist
return self.work_git.rev_list(*a, **kw)
File "/home/desalesouche/.repo/repo/project.py", line 2227, in rev_list
p.stderr))
error.GitError: android rev-list (u'^68adae319917cbb1873f3492b67b3f5f80bbc8f5', 'HEAD', '--'): fatal: bad object HEAD
some help/advice please?
CMNein said:
You have https://github.com/omnirom/android_kernel_google_msm in your roomservice/manifest?
Click to expand...
Click to collapse
no i dont think so i had this, how do i add it? im assuming not only the link works. is it something like "<project name="omnirom/android_kernel_google_msm" + something else? or am i completely lost with this.
also whole manifest file disappeared on reboot -.-
makkeonmies said:
no i dont think so i had this, how do i add it? im assuming not only the link works. is it something like "<project name="omnirom/android_kernel_google_msm" + something else? or am i completely lost with this.
also whole manifest file disappeared on reboot -.-
Click to expand...
Click to collapse
Code:
<project name="omnirom/android_kernel_google_msm" path="kernel/google/msm" remote="github" revision="android-msm-flo-3.4-jb-mr2" />
makkeonmies said:
no i dont think so i had this, how do i add it? im assuming not only the link works. is it something like "<project name="omnirom/android_kernel_google_msm" + something else? or am i completely lost with this.
also whole manifest file disappeared on reboot -.-
Click to expand...
Click to collapse
Within omni/.repo create a local_manifests folder.
Create a file called roomservice.xml and add the following:
Code:
<manifest>
<project name="TheMuppets/proprietary_vendor_asus" path="vendor/asus" remote="github" revision="cm-10.2"/>
<project name="omnirom/android_device_asus_flo" path="device/asus/flo" remote="github" revision="android-4.3"/>
<project name="omnirom/android_kernel_google_msm" path="kernel/google/msm" remote="github" revision="android-msm-flo-3.4-jb-mr2"/>
</manifest>
repo sync again.
You could put TheMuppets in a separate manifest called local_manifest.xml, but the above should get you rolling <fingers crossed>
CMNein said:
Code:
<manifest>
<project name="TheMuppets/proprietary_vendor_asus" path="vendor/asus" remote="github" revision="cm-10.2"/>
<project name="omnirom/android_device_asus_flo" path="device/asus/flo" remote="github" revision="android-4.3"/>
<project name="omnirom/android_kernel_google_msm" path="kernel/google/msm" remote="github" revision="android-4.3"/>
</manifest>
Click to expand...
Click to collapse
Your kernel revision is not correct.
chasmodo said:
Your kernel revision is not correct.
Click to expand...
Click to collapse
herp derp, had edited my mako manifest.
revision is: android-msm-flo-3.4-jb-mr2
CMNein said:
Within omni/.repo create a local_manifests folder.
Create a file called roomservice.xml and add the following:
Code:
<manifest>
<project name="TheMuppets/proprietary_vendor_asus" path="vendor/asus" remote="github" revision="cm-10.2"/>
<project name="omnirom/android_device_asus_flo" path="device/asus/flo" remote="github" revision="android-4.3"/>
<project name="omnirom/android_kernel_google_msm" path="kernel/google/msm" remote="github" revision="android-4.3"/>
</manifest>
repo sync again.
You could put TheMuppets in a separate manifest called local_manifest.xml, but the above should get you rolling <fingers crossed>
Click to expand...
Click to collapse
yeah i allready made the file again there, thx anyways guess it was about i was missing the "omnirom/android_kernel_google_msm" on first time i tried
btw did i understand this thing rigth, revision=branch when im adding things to manifest? remote="website" and i can forgot omnirom/android from path since im syncing from that location(on terminal) allready?

[SOLVED] Compiling for hammerhead. Edit : It boots !

Hello,
I've been trying to compile for hammerhead, but I'm getting a weird behavior
I've repo sync on branch pac-4.4, and all went well
Then I "build-pac.sh -c hammerhead"
It populates the local manifest with entries for device, proprietary and kernel (from CM and themuppets)
Then it repo sync for the above mentionned entries in the manifest
But when trying to sync the kernel branch, it is prompting me for a github login & password
I tried to left it blank, to input my github login/pwd, but none worked, and the repo does not sync
Did I missed something or is there something wrong in my setup ?
What name do you use when you did the repo init? Use that same name and password
Sent from my SAMSUNG-SGH-I747 using Tapatalk
I left the default one (from my ubuntu session)
But I'm not sure this is the problem here
When I try to breafast "mako" for example its works fine, and sync the mako's repos, without any login/pwd prompt
Looks like pac-man git has changed from "git://github.com/PAC-man/android.git" to "git://github.com/PAC-man/pacman.git"
I'll try to repo sync with the new one ...
New sync didn't help
Here is the log from the build-pac
From https://github.com/TheMuppets/proprietary_vendor_lge
* [new branch] cm-11.0 -> github/cm-11.0
Fetching projects: 66% (2/3)
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/Cyanogenmod/android_kernel_lge_hammerhead/'
Username for 'https://github.com': bud77
Password for 'https://[email protected]':
remote: Repository not found.
fatal: repository 'https://github.com/Cyanogenmod/android_kernel_lge_hammerhead/' not found
error: Cannot fetch Cyanogenmod/android_kernel_lge_hammerhead
error: Exited sync due to fetch errors
...
Lunching device
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[vendor/pac/products/pac_hammerhead.mk]]: "device/lge/hammerhead/cm.mk" does not exist. Stop.
Device hammerhead not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_hammerhead
Default revision: cm-11.0
Checking branch info
CyanogenMod/android_device_lge_hammerhead already exists
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_lge_hammerhead
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Adding dependencies to manifest
CyanogenMod/android_kernel_lge_hammerhead already exists
Syncing dependencies
Fetching project Cyanogenmod/android_kernel_lge_hammerhead
Username for 'https://github.com':
Password for 'https://github.com':
remote: Repository not found.
fatal: Authentication failed for 'https://github.com/Cyanogenmod/android_kernel_lge_hammerhead/'
error: Cannot fetch Cyanogenmod/android_kernel_lge_hammerhead
error: Exited sync due to fetch errors
Done
Click to expand...
Click to collapse
This time I setup my real github user & mail during the repo init, but even when I specify those when prompter, it doesn't work
I rewrote the line manually in the local manifest, and it's now syncing normally ...
bud77 said:
I rewrote the line manually in the local manifest, and it's now syncing normally ...
Click to expand...
Click to collapse
Could you please explain which file you edited and where it was located? I'm having the same problem and I can't figure it out.
I'm figuring something is wrong with android_device_lge_hammerhead but it looks like it exists on github, so I'm not sure what needs fixing.
moffa~ said:
Could you please explain which file you edited and where it was located? I'm having the same problem and I can't figure it out.
I'm figuring something is wrong with android_device_lge_hammerhead but it looks like it exists on github, so I'm not sure what needs fixing.
Click to expand...
Click to collapse
It's the rooomservice.xml. Ot is located in ~/your_repo_folder/.repo/local_manifest
To be very specific, I wrote the line as the 2nd entry of the roomservice, instead of the 3rd entry
Started compiling before going to bed, and this morning, build completed ..
IT BOOTS !!!!!!!!!!
Edit : There is some system UI FC upon first start, and some apps are not working
But most of it is working !
bud77 said:
Started compiling before going to bed, and this morning, build completed ..
IT BOOTS !!!!!!!!!!
Edit : There is some system UI FC upon first start, and some apps are not working
But most of it is working !
Click to expand...
Click to collapse
So my roomservice.xml looks like
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_hammerhead" path="device/lge/hammerhead" remote="github" revision="cm-11.0" />
<project name="Cyanogenmod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-11.0" />
</manifest>
What does yours look like?
moffa~ said:
So my roomservice.xml looks like
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_hammerhead" path="device/lge/hammerhead" remote="github" revision="cm-11.0" />
<project name="Cyanogenmod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-11.0" />
</manifest>
What does yours look like?
Click to expand...
Click to collapse
It is exactly the same
I tried to repo sync yesterday before bed, and I was prompt for password again
I edited the file, again, but this time, it didn't worked
I truly think there is something wrong on the repo itself
Edit : I edited right now and copied the line from an old file, and it works
There most probably is an invisible caraacter or something like that
Paste that on 1st or 2nd line
<project name="CyanogenMod/android_kernel_lge_hammerhead" path="kernel/lge/hammerhead" remote="github" revision="cm-11.0" />
Click to expand...
Click to collapse
Capitalize the m in CyanogenMod. It won't sync that repo without it
Sent from my SAMSUNG-SGH-I747 using Tapatalk
atrus5 said:
Capitalize the m in CyanogenMod. It won't sync that repo without it
Sent from my SAMSUNG-SGH-I747 using Tapatalk
Click to expand...
Click to collapse
Ohhhhhhh I didn't noticed it ! Thank you
But is it normal the manifest gets rewritten every compile/sync ?
bud77 said:
Ohhhhhhh I didn't noticed it ! Thank you
But is it normal the manifest gets rewritten every compile/sync ?
Click to expand...
Click to collapse
It will get written to when building not syncing. Syncing will just take whatever is in the two files and sync them. It takes what is in the dependency file. Vendor/pac/device.dependencies
Many thanks for the clarification
So, to sum it up for everyone :
Edit local manifest, put a capital M to "CyanogenMod" save & repo sync
Then re-edit the file after any build
bud77 said:
Many thanks for the clarification
So, to sum it up for everyone :
Edit local manifest, put a capital M to "CyanogenMod" save & repo sync
Then re-edit the file after any build
Click to expand...
Click to collapse
Fixed dependency file. Thanks for noticing it. Will get merged soon. So you won't have to edit the file anymore after the merge.
edit: merged
http://review.pac-rom.com/#/c/3799/
Well done :good:
bud77 said:
http://review.pac-rom.com/#/c/3799/
Well done :good:
Click to expand...
Click to collapse
Just remember to anyone building this, DO NOT POST THIS ANYWHERE. If you do the thread will be closed as soon as we find out. You can build for yourself for right now but this is not to be spread out to the masses. Just a warning.
atrus5 said:
Just remember to anyone building this, DO NOT POST THIS ANYWHERE. If you do the thread will be closed as soon as we find out. You can build for yourself for right now but this is not to be spread out to the masses. Just a warning.
Click to expand...
Click to collapse
Don't worry, I read the bold lines at the end of the build, and saw the guy apologizing on your github about posting a rom
bud77 said:
Don't worry, I read the bold lines at the end of the build, and saw the guy apologizing on your github about posting a rom
Click to expand...
Click to collapse
Glad you mentioned it
Makes it more difficult for those who "did not see that" to come up with excuses.
Enjoy your Alpha build

Help get UI nav sounds.

Hi there!
I`m running an androidtv rom and i`d like to get the ui navigation sounds for Nexus player.
Thx so much.
well, I did some digging and found audio "ogg" files
"pano_blip_alt, pano_click, pano_error" under ui in media/audio folder under system...but when copied over to my rom nothing changes, so what file do I need to change to load them in my rom?
Thx!
Does anyone have any idea where to look?
You need to update audio_assets.xml in framework-res.apk to this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<audio_assets version="1.0">
<group name="touch_sounds">
<asset id="FX_KEY_CLICK" file="pano_click.ogg" />
<asset id="FX_FOCUS_NAVIGATION_UP" file="pano_blip_alt.ogg" />
<asset id="FX_FOCUS_NAVIGATION_DOWN" file="pano_blip_alt.ogg" />
<asset id="FX_FOCUS_NAVIGATION_LEFT" file="pano_blip_alt.ogg" />
<asset id="FX_FOCUS_NAVIGATION_RIGHT" file="pano_blip_alt.ogg" />
<asset id="FX_KEYPRESS_STANDARD" file="KeypressStandard.ogg" />
<asset id="FX_KEYPRESS_SPACEBAR" file="KeypressSpacebar.ogg" />
<asset id="FX_KEYPRESS_DELETE" file="KeypressDelete.ogg" />
<asset id="FX_KEYPRESS_RETURN" file="KeypressReturn.ogg" />
<asset id="FX_KEYPRESS_INVALID" file="pano_error.ogg" />
</group>
</audio_assets>
Thx man....you are my savior.....love you!!!
update:
I used "Advanced_ApkTool_v4.2.0_By_BDFreak_2.2.1_2" to unpack...made the changes with notepad++, repacked and signed...flashed a zip file with twrp...but it get locked in bootloop...until i reflash the original file back in...glad i thought to make a backup...so now it`s back to normal...what gives?
When using apktool, you'll want to build with the -c option to carry over the signature from the original apk. Also, I'd use the -s option on decode so that it keeps the classes.dex intact. (No need to recompile those if you're just changing a resource.)
Thx so much...I don`t see where to enable those options....are they available on windows?
I just figured we`re talking about 2 different tools ...are you talking about this one?

How to build ROMs

I'm 82yrs old and it may be too late to "teach an old dog new tricks", but I'd like to find a recent tutorial on how to build ROMs. I have a Linux box with 16gb RAM and 400gb disk space on an SSD and Ryzen 3 2200g APU. I built my first computer back in 1978, taught myself several programming languages and was a computer consultant till I retired in 2005. So I'm not a complete novice. I've tried googling for a tutorial but everything I see seems to be outdated, going back to Android 4 or 5 and having 404 links.
@lewmur, Sir, you are not too old to learn! Your computer is more than adequate to build a rom and running linux is key.
I use Lubuntu, but Ubuntu is the generally "recommended" platform to build roms. Other distros like Fedora, Debian, will work, but may require extra libraries or tweaks on your part to get it to work.
The way I learned how to build roms in July/August 2020 was to take a working repo for a device I have and replicate a working rom. After I was successful, then I started on non working roms.
For build instructions, I used
https://wiki.lineageos.org/devices/gtelwifiue/build
Obviously, you will have to change the device name and correct version of LineageOS that you want to build, but the template is current and correct as that's what I follow. Every "official" LineageOS device has a build instruction guide for it.
I also found https://www.youtube.com/c/AlaskaLinuxUserAKLU to have useful information in building roms.
retiredtab said:
@lewmur, Sir, you are not too old to learn! Your computer is more than adequate to build a rom and running linux is key.
I use Lubuntu, but Ubuntu is the generally "recommended" platform to build roms. Other distros like Fedora, Debian, will work, but may require extra libraries or tweaks on your part to get it to work.
The way I learned how to build roms in July/August 2020 was to take a working repo for a device I have and replicate a working rom. After I was successful, then I started on non working roms.
For build instructions, I used
https://wiki.lineageos.org/devices/gtelwifiue/build
Obviously, you will have to change the device name and correct version of LineageOS that you want to build, but the template is current and correct as that's what I follow. Every "official" LineageOS device has a build instruction guide for it.
I also found https://www.youtube.com/c/AlaskaLinuxUserAKLU to have useful information in building roms.
Click to expand...
Click to collapse
Thanks for all the links. My Linux box (my main man) is running Mint 20.2, which is based on Ubuntu, so I guess it should work. But I'd have no problem installing Ubuntu if needed. I have 3 Ryzen boxes, so letting one be "tied up" compiling is no big deal.
I'm currently having a few brews at a local bar, so it will be tomorrow before I can check the links but I'll be back in touch once I do.
Again, thanks
Another way to learn how to build roms is to build TWRP. It's like a small stepping stone towards learning how to build a full rom. Again, take a working TWRP repo and try to replicate a working TWRP for a device you already have.
When you build a full working LineageOS rom, LineageOS builds it's own recovery.img (similar to TWRP), but most people prefer TWRP for its extra features.
As for one last thought on building, do it for 17.1 or 18.1. 19.0 is still a work in progress and it will be frustrating as changes are constantly being made while you are learning. It's better to take 17.1 or 18.1 and start from there.
I haven't built any GSI roms, but if you want to learn that, I suggest doing GSI after you have learned building your own rom first. GSI requires a bit more work especially in older devices that didn't come with a vendor partition.
retiredtab said:
As for one last thought on building, do it for 17.1 or 18.1. 19.0 is still a work in progress and it will be frustrating as changes are constantly being made while you are learning. It's better to take 17.1 or 18.1 and start from there.
I haven't built any GSI roms, but if you want to learn that, I suggest doing GSI after you have learned building your own rom first. GSI requires a bit more work especially in older devices that didn't come with a vendor partition.
Click to expand...
Click to collapse
I've made to this point
Code:
Initialize the LineageOS source repository
The following branches can be used to build for the Samsung Galaxy Tab E 9.6 (WiFi):
cm-14.1
How do I determine the branch for LOS 18.1 for the SM-T500?
Just remember the link I referenced is a template and that you have to substitute in the parameters that you want to build.
So if you want 18.1, you need to change
Code:
repo init -u https://github.com/LineageOS/android.git -b cm-14.1
to
Code:
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
If the SM-T500 isn't a LineageOS officially supported device, it won't show up when you try
breakfast <your device name>
You need to find out what your SM-T500 device name is. You can do that by downloading an free app called devcheck by flar2. It's a wonderful utility that I use regularly to help troubleshoot and verify my work.
https://play.google.com/store/apps/details?id=flar2.devcheck
Once installed, if you goto the system tab, it will tell you the device name just under the product information. For example, the SM-T560NU's device name is gtelwifiue. This is what you need to know and remember.
Once you find your SM-T500 device name, then you need to search xda and github for code repositories and most importantly a manifest or roomservice.xml file. This will tell the build system where to find all the device specific code, proprietary binary blobs and other dependencies that it needs to build the rom.
A sample manifest or roomservice.xml looks like this. This is for device I'm currently building with the 17.1 Dec 5th security patches.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Samsung MSM8916 Common Repos -->
<!-- <project path="device/samsung/msm8916-common" name="aala27/android_device_samsung_msm8916-common" remote="github" revision="Q10.0"/> -->
<project path="device/samsung/msm8916-common" name="Galaxy-MSM8916/android_device_samsung_msm8916-common" remote="github" revision="lineage-17.1"/>
<project path="device/samsung/qcom-common" name="LineageOS/android_device_samsung_qcom-common" remote="github" revision="lineage-17.1"/>
<!-- Samsung Hardware Repo -->
<project path="hardware/samsung" name="LineageOS/android_hardware_samsung" remote="github" revision="lineage-17.1"/>
<!-- Common Samsung MSM8916 Kernel -->
<project path="kernel/samsung/msm8916" name="Galaxy-MSM8916/android_kernel_samsung_msm8916" remote="github" revision="lineage-17.1"/>
<!-- Vendor Trees (for all devices) -->
<project path="vendor/samsung/msm8916-common" name="aala27/android_vendor_samsung_msm8916-common" remote="github" revision="Q10.0"/>
<project path="vendor/samsung/gte-common" name="aala27/android_vendor_samsung_gte-common" remote="github" revision="Q10.0"/>
<project path="vendor/samsung/gt5note10wifi" name="aala27/android_vendor_samsung_gt5note10wifi" remote="github" revision="Q10.0"/>
<!-- Qcom audio -->
<remove-project name="LineageOS/android_hardware_qcom_audio"/>
<project path="hardware/qcom-caf/msm8916/audio" name="Galaxy-MSM8916/android_hardware_qcom_audio" remote="github" revision="lineage-17.1-caf-msm8916" />
<!-- Dependencies -->
<project path="external/sony/boringssl-compat" name="LineageOS/android_external_sony_boringssl-compat" remote="github" revision="lineage-17.1"/>
<!-- arm-eabi-7.2 -->
<project path="prebuilts/gcc/linux-x86/arm/arm-eabi-7.2" name="Galaxy-MSM8916/android-prebuilts-gcc-linux-x86-arm-arm-eabi-7.2" remote="github" revision="master"/>
<!-- Galaxy Tab P550 -->
<project path="device/samsung/gte-common" name="aala27/android_device_samsung_gte-common" remote="github" revision="Q10.0"/>
<project path="device/samsung/gt5note10wifi" name="aala27/android_device_samsung_gt5note10wifi" remote="github" revision="Q10.0"/>
</manifest>
The product is SM-P550 and it's device name is gt5note10wifi.
This file needs to go into the .repo/local_manifests directory.
So if you did something like
Bash:
mkdir code
cd code
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
# put your roomservice.xml file in .repo/local_manifests
# you may need to create the local_manifests directory if it doesn't exist
# after that then
repo sync
source build/envsetup.sh
# see if all dependencies are met
breakfast <your SM-T500 device name>
# if okay, then build rom
brunch <your SM-T500 device name>
Now if you can't find an existing code repo for the SM-T500, then this exercise becomes 100x harder because you will have to make it yourself from scratch. That's something I haven't had to do myself, but upgrading/maintaining existing repos for each new version of Android is challenging enough.
Finding an existing and working SM-T500 code repo will be the most important thing in your journey in rom building. If you find a non working repo, then you will have to fix it and that will likely take weeks, not days, of researching, learning, troubleshooting etc. There's a reason it's called a custom rom. Each device has it's own custom parameters, quirks, bugs, traps, etc.
For example, for SM-P550, I had to modify the code repo to make it run properly for 17.1. Extensive changes were required to make it work for 18.1 and it will be same when I try to make it work for 19.0.

Categories

Resources