Hello,
I am trying to build CM13 for h815 myself, following the instructions from the CyanogenMod wiki.
When I execute brunch h815, after some time the build breaks with the message
make: *** No rule to make target 'vendor/lge/g4-common/proprietary/vendor/lib/libTimeService.so', needed by '~/android/system/out/target/product/h815/obj_arm/SHARED_LIBRARIES/libTimeService_intermediates/LINKED/libTimeService.so'. Stop.
Click to expand...
Click to collapse
I know that libTimeService was in the proprietary files list in CM12, but was removed in CM13 and is also not present on my device (I searched in each lib and lib64 folder I was able to find on the device running CM13).
Is there some option to disable libraries dependend on libTimeService being built or do I forget some other step? Obviously, it must be possible to build for h815 from source as there are nightly builds for the device, so I think there is some configuration missing on my machine, but I don't see which.
Kind regards
spainer
Did no one else have a similar problem when building for H815 yourself? Do you all have the library on your phone?
I would also be thankful for tips where to start trying to solve the problems or which components could be related to this...
you need to sync the proprietary files in vendor/lge
https://github.com/TheMuppets/proprietary_vendor_lge
This worked, thank you very much.
So, if I see it right, the build instructions in the CyanogenMod wiki are wrong I the section to extract the proprietary blobs. Instead of executing ./extract_files.sh in ~/android/system/device/lge/h815, one should
1. create a local manifest to sync vendor/lge to the repository given above and
2. execute repo sync.
When you confirm this fix for the build instructions, I can change the CyanogenMod wiki, so that others can benefit from your solution...
spainer said:
This worked, thank you very much.
When you confirm this fix for the build instructions, I can change the CyanogenMod wiki, so that others can benefit from your solution...
Click to expand...
Click to collapse
Works for me apparently. As as newbie, it's not obvious how to create the local manifest.
I went with this
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github />
</manifest>
in ".repo/local_manifests/mine.xml", leaving "roomservice.xml" alone. Not sure if that one would
be needed still.
Yours,
Kay
kayhayen said:
Works for me apparently. As as newbie, it's not obvious how to create the local manifest.
I went with this
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github />
</manifest>
in ".repo/local_manifests/mine.xml", leaving "roomservice.xml" alone. Not sure if that one would
be needed still.
Yours,
Kay
Click to expand...
Click to collapse
I ran into the same problem. I'm going to try your solution and see what happens. BTW I noticed your code has a couple of typos. This should work:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" />
</manifest>
Thanks
---------- Post added at 08:32 AM ---------- Previous post was at 08:30 AM ----------
Also, does this mean we should throw out the proprietary blobs if we've already extracted them?
Got a successful build, gonna test it soon.
Related
Hi, I was trying to compile CM 10.1 for toro and was following this guide http://wiki.cyanogenmod.org/w/Build_for_toro
I couldn't find extract-files.sh so I skipped it and used the blobs from https://developers.google.com/android/nexus/drivers#toro
It compiles all the way through and generates a zip file but it just causes a blank screen when it tries to boot.
Does anybody know where I can find extract-files.sh? I did repo sync a few times and even deleted my entire directory and started over. It never shows up in the directory stated in the guide.
I'm also using ubuntu 12.04
Please read forum rules before posting
Questions and help issues go in Q&A
Thread moved
Thank you for your cooperation
Friendly Neighborhood Moderator
Have you completed every step successfully before you are supposed to execute the extract-files.sh?
Also: which java version and toolchain do you use for compiling?
tbguy said:
Hi, I was trying to compile CM 10.1 for toro and was following this guide http://wiki.cyanogenmod.org/w/Build_for_toro
I couldn't find extract-files.sh so I skipped it and used the blobs from https://developers.google.com/android/nexus/drivers#toro
It compiles all the way through and generates a zip file but it just causes a blank screen when it tries to boot.
Does anybody know where I can find extract-files.sh? I did repo sync a few times and even deleted my entire directory and started over. It never shows up in the directory stated in the guide.
I'm also using ubuntu 12.04
Click to expand...
Click to collapse
you can get blob here: https://github.com/TheMuppets/proprietary_vendor_samsung
hiepgia said:
you can get blob here: https://github.com/TheMuppets/proprietary_vendor_samsung
Click to expand...
Click to collapse
If it still fails after that, just get the google android NDK and use the provided 4.6 toolchain. Also, do not use Java 7 for compiling, use Java 6 instead (oracle Java always worked good for me, dunno about openJDK).
BUMP, having the same problem with the blank screen after building. No problems with completing the guide. Everything is as it should be
just get the blank screen after the google splash.....
MaceBewley said:
BUMP, having the same problem with the blank screen after building. No problems with completing the guide. Everything is as it should be
just get the blank screen after the google splash.....
Click to expand...
Click to collapse
What Java and GCC toolchain are you using?
Java 6, not sure about the toolchain. Kinda of frustrating cause my grouper builds boot fine...
I'm also using Java 6. And when I enter "gcc --version", I get 4.6.3
I tried using the blobs from the link above and still getting the same black screen.
I had also tried manually running generate-blob-lists.sh in devices/common. it took forever but it created extract-files.sh. It didn't even compile after that so I deleted my source directory again and used the blobs from hiepgia's link.
lunch a eng build, then LOGCAT! You'll know why it's bootlooping. And you know you need to run extract-files.sh from a toro running CM right? 'make clobber', then brunch.
Sent from my Nexus
Looking at the source tree at github, I see an extract-files.sh for maguro, but, no such file exists in the toro branch.
https://github.com/CyanogenMod/android_device_samsung_maguro/tree/cm-10.1
https://github.com/CyanogenMod/android_device_samsung_toro/tree/cm-10.1
After my repo sync finishes I'm going to go thru the steps again, if there is still no extract-files.sh (which I'm sure will be the case, unless it get's generated somehow), I'll try copying the maguro one in (with requisite changes)...
crpeck said:
Looking at the source tree at github, I see an extract-files.sh for maguro, but, no such file exists in the toro branch.
*snip*
Click to expand...
Click to collapse
I assume it doesn't exist due to toro officially not being able to be above 4.1.1 with OTAs. Making CM10 and CM10.1 problematic with the older binaries...etc people potentially would be pulling from their device with the script.
https://github.com/TheMuppets <-- as mentioned previously that is what I use to get the proprietary stuff for my toro. You can make a local_manifest.xml in your .repo directory, then a repo sync with download them all for you.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="http://github.com/" name="gh" revision="master" />
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_imgtec" path="vendor/imgtec" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_broadcom" path="vendor/broadcom" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_invensense" path="vendor/invensense" remote="gh" revision="cm-10.1" />
<project name="CyanogenMod/android_device_samsung_toro" path="device/samsung/toro" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_device_samsung_tuna" path="device/samsung/tuna" remote="github" revision="cm-10.1" />
</manifest>
OH sweet - sorry I missed that before... Very nice fix..
I am trying to compile CM12 on my own for the D850 and I am curious what people are using for the Local Manifest file. I found one thread talking about building CM12 for the LG G3, but it seemed to be for the D855 and it seemed like it might be using 3rd party sources on Github.
So I'm trying to find out what the full local manifest should be for my D850 CM12 build. I am a compile noob, so being able to tell me/show me what the full manifest file should contain would be greatly appreciated. Also, if you could tell/show me how you found out this information, so I can figure it out for myself in the future, that would be awesome
I found this on the CM website - http://wiki.cyanogenmod.org/w/Local_manifest
It tells me to grab this file on the LG G3 that I have CM12 on already "/system/etc/build-manifest.xml", but when I look at that file, it has HUGE. the local_manifest.xml file for the N5 that I'm building only has like 3-4 entries.
Is this huge file really the local_manifest that I need to use to build CM12 for the D850 LG G3?
Here's mine (edited for you), cyanogenmod doesnt seem to have "proprietary_vendor_lge", so i left it how I have mine.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/lge/g3-common" name=CyanogenMod/android_device_lge_g3-common" remote="github" revision="cm-12.0" />
<project path="device/lge/d850" name="CyanogenMod/android_device_lge_d850" remote="github" revision="cm-12.0" />
<project path="kernel/lge/g3" name="CyanogenMod/android_kernel_lge_g3" remote="github" revision="cm-12.0" />
[B]<project path="vendor/lge" name="ResurrectionRemix/proprietary_vendor_lge" remote="github" revision="lollipop" />[/B]
<project path="device/qcom_common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-12.0" />
</manifest>
Thank you for the response. I did just find this in CM's github
- https://github.com/CyanogenMod/android_device_lge_g3-common
and this
- https://github.com/CyanogenMod/android_kernel_lge_g3
rhystagram said:
Here's mine (edited for you), cyanogenmod doesnt seem to have "proprietary_vendor_lge", so i left it how I have mine.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/lge/g3-common" name=CyanogenMod/android_device_lge_g3-common" remote="github" revision="cm-12.0" />
<project path="device/lge/d850" name="CyanogenMod/android_device_lge_d850" remote="github" revision="cm-12.0" />
<project path="kernel/lge/g3" name="CyanogenMod/android_kernel_lge_g3" remote="github" revision="cm-12.0" />
[B]<project path="vendor/lge" name="ResurrectionRemix/proprietary_vendor_lge" remote="github" revision="lollipop" />[/B]
<project path="device/qcom_common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-12.0" />
</manifest>
Click to expand...
Click to collapse
Very awesome. Thank you for your help. Is there anything wrong/bad about using Resurrection's proprietary vendor one for my vanilla CM12 build for the d850?
I've seen someone using this one. . .
<project path="vendor/lge" name="sooti/proprietary_vendor_lge" remote="github" revision="cm-12.0" />
but it was for the D855. I don't know if these will mess up my build since I'm compiling for the D850 instead.
Again, thank you for the help. It is greatly appreciated.
view step 3 here, it has the local_manifest details, they're from sooti, which was before CM official builds..
maybe use his vendor, but official cm repostories for others.
http://forum.xda-developers.com/lg-g3/development/guide-how-to-build-cyanogenmod-12-t2953132
just noticed you replied, pretty sure as long as you have the d850 files, and run the "brunch d850" the vendor will still run correctly, as it's a vendor for LGE.
rhystagram said:
view step 3 here, it has the local_manifest details, they're from sooti, which was before CM official builds..
maybe use his vendor, but official cm repostories for others.
http://forum.xda-developers.com/lg-g3/development/guide-how-to-build-cyanogenmod-12-t2953132
just noticed you replied, pretty sure as long as you have the d850 files, and run the "brunch d850" the vendor will still run correctly, as it's a vendor for LGE.
Click to expand...
Click to collapse
Awesome. Thank you again, sooooo very much. It's running a repo sync now :fingers-crossed:
I'm used to running "time brunch <codename>"
is that the same as the "brunch <codename>" that you just suggested? I'm not sure what the difference between time brunch and just brunch
Enddo said:
Awesome. Thank you again, sooooo very much. It's running a repo sync now :fingers-crossed:
I'm used to running "time brunch <codename>"
is that the same as the "brunch <codename>" that you just suggested? I'm not sure what the difference between time brunch and just brunch
Click to expand...
Click to collapse
time brunch shows you how long it takes to build (i think), brunch just builds .
rhystagram said:
time brunch shows you how long it takes to build (i think), brunch just builds .
Click to expand...
Click to collapse
Well, it all seemed to work but then I got an error toward the end
Code:
/bin/sh: 1: lz4c: not found
make[4]: *** [arch/arm/boot/compressed/piggy.lz4] Error 1
make[3]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make[2]: *** [zImage] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/doug/lgg3/kernel/lge/g3'
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: *** Waiting for unfinished jobs....
real 52m2.413s
user 204m32.365s
sys 21m4.082s
I found a thread talking about that error and someone suggested to do a sudo apt-get install lzop, but it says I already have that
Code:
sudo apt-get install lzop
[sudo] password for doug:
Reading package lists... Done
Building dependency tree
Reading state information... Done
lzop is already the newest version.
The following packages were automatically installed and are no longer required:
libgpds0 linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
linux-headers-generic linux-image-3.13.0-32-generic
linux-image-extra-3.13.0-32-generic linux-image-generic python-pyudev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Found a suggestion to run "sudo apt-get install liblz4-tool", I installed that and am trying the process over again
Enddo said:
Well, it all seemed to work but then I got an error toward the end
Code:
/bin/sh: 1: lz4c: not found
make[4]: *** [arch/arm/boot/compressed/piggy.lz4] Error 1
make[3]: *** [arch/arm/boot/compressed/vmlinux] Error 2
make[2]: *** [zImage] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/doug/lgg3/kernel/lge/g3'
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: *** Waiting for unfinished jobs....
real 52m2.413s
user 204m32.365s
sys 21m4.082s
Click to expand...
Click to collapse
can't help here man, it's happened to me, only solution i found to fix it for me was to make a new directory & download all sources again & build from there. (didn't try the solution you are, let me know how it goes?)
rhystagram said:
can't help here man, it's happened to me, only solution i found to fix it for me was to make a new directory & download all sources again & build from there. (didn't try the solution you are, let me know how it goes?)
Click to expand...
Click to collapse
After doing a "sudo apt-get install liblz4-tool", I did the whole compile process over, didn't even do a make clean(but I might if there is something wrong with the flash), and it seemed to compile perfectly.
I had to let it run while I was sleeping so I didn't get a chance to flash it yet. Do you know if these are already 'bumped', or if I have to do something special to them now that they have been compiled? I'm almost certain the CM repos have the Bump code in them, but I just wanted to double check in case anyone else knows for sure
and thank you again for all the help. I just have no idea how to get the local manifest information for these builds. I've had help with both the N5 and now the G3. I would love to know how to figure out this on my own so I don't have to keep bothering the community
Do you know how to do this? How to know when you have enough items in the manifest and where to get them. It seems like most come from CM but on both the G3 and the N5, there's one that comes from somewhere else.
Like with the N5, it was the proprietary one that came from somewhere else
"<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-12.0"/>"
I just flashed it and it worked perfectly! Well, I had a force close error on a google app, so I uninstalled the updates, and updated it from Google Play and it launched. This was probably something to do with the dirty flash more than the compile
Thanks again @rhystagram !
I couldn't be more grateful
image is bumped yes
Target boot image: /home/rhys/newrr/out/target/product/d855/boot.img
/home/rhys/newrr/out/target/product/d855/boot.img maxsize=17031168 blocksize=135168 total=7329792 reserve=270336
bumped image: /home/rhys/newrr/out/target/product/d855/boot.img
Made boot image: /home/rhys/newrr/out/target/product/d855/boot.img
glad i could help & glad you got it working!!
hi, i'm requesting devs who build cm 13 for bullhead to kindly share their roomservice.xml. i'm trying to build cm from source and the system generated roomservice.xml is as follows:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_bullhead" path="device/lge/bullhead" remote="github" />
<project name="CyanogenMod/android_kernel_lge_bullhead" path="kernel/lge/bullhead" remote="github" />
</manifest>
i think this does not contain bolbs, which are also required for building from source. i tried building without them and i get the following error:
Code:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/home/gururoop/android/cm13/out/target/product/bullhead/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/LINKED/libsurfaceflinger.so] Error 1
make: Leaving directory `/home/gururoop/android/cm13'
Can anyone help me with these errors?
gururoop said:
hi, i'm requesting devs who build cm 13 for bullhead to kindly share their roomservice.xml. i'm trying to build cm from source and the system generated roomservice.xml is as follows:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_lge_bullhead" path="device/lge/bullhead" remote="github" />
<project name="CyanogenMod/android_kernel_lge_bullhead" path="kernel/lge/bullhead" remote="github" />
</manifest>
i think this does not contain bolbs, which are also required for building from source. i tried building without them and i get the following error:
Code:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/home/gururoop/android/cm13/out/target/product/bullhead/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/LINKED/libsurfaceflinger.so] Error 1
make: Leaving directory `/home/gururoop/android/cm13'
Can anyone help me with these errors?
Click to expand...
Click to collapse
Vendor files? https://github.com/TheMuppets/proprietary_vendor_lge/tree/cm-13.0
I know the vendor stuff is different from everything else I've used/built for and I only had to "brunch bullhead" to build a different rom I tried.
Keithn said:
Vendor files? https://github.com/TheMuppets/proprietary_vendor_lge/tree/cm-13.0
I know the vendor stuff is different from everything else I've used/built for and I only had to "brunch bullhead" to build a different rom I tried.
Click to expand...
Click to collapse
did you extract blobs using extract-files.sh script? can you please share the roomservice.xml of the ROM that built successfully and booted?
gururoop said:
did you extract blobs using extract-files.sh script? can you please share the roomservice.xml of the ROM that built successfully and booted?
Click to expand...
Click to collapse
Nope I never had to do it that way and I usually just add the vendor files from the muppets git (linked above) instead.
What commands are you using to build?
Try just using ". build/envsetup.sh" then use "brunch bullhead". Downloaded everything I needed to build omni last I tried. My server/PC I use for building isn't connected or running right now so I can't directly pull the XML I used. I probably could later though.
Another thing is that you can add your own XML into the local manifests to sync files so you don't have to touch the room service.XML. Here is one I was using for an example https://github.com/Keith-N/local_manifests/blob/master/local_manifests.xml
Keithn said:
Nope I never had to do it that way and I usually just add the vendor files from the muppets git (linked above) instead.
What commands are you using to build?
Try just using ". build/envsetup.sh" then use "brunch bullhead". Downloaded everything I needed to build omni last I tried. My server/PC I use for building isn't connected or running right now so I can't directly pull the XML I used. I probably could later though.
Another thing is that you can add your own XML into the local manifests to sync files so you don't have to touch the room service.XML. Here is one I was using for an example https://github.com/Keith-N/local_manifests/blob/master/local_manifests.xml
Click to expand...
Click to collapse
I would really appreciate if you could share your roomservice.xml whenever possible. I did try to give commands as per your post and got the error mentioned in the OP. I'm trying to start with building CM and expand the base if I succeed.
I tried it out and it's missing the vendor files. You'll notice no vendor/lge in your cm13 directory. The way I talked about in the previous post will work. You need to get those vendor files. I could give you my roomservice.xml but it shouldn't look any different because I never touched it. I used an addition xml to add aditional files which is why my roomservice.xml was never changed. The easy way is to add this line into whatever xml you are planning on using to sync the files.
Code:
<project name="TheMuppets/proprietary_vendor_lge" path="vendor/lge" remote="github" revision="cm-13.0" />
It grabs the files from https://github.com/TheMuppets/proprietary_vendor_lge and syncs them into vendor/lge
If you have troubles then let me know, but that is all I needed to do.
I have made some decent progress on bringing up CM 12.1 on the KIW-L24. If you are able to help and willing to do so, please build off of these three repos:
* https://github.com/crpalmer/android_device_huawei_kiwi
* https://github.com/crpalmer/android_kernel_huawei_kiwi
* https://github.com/crpalmer/proprietary_vendor_huawei using branch kiwi-12.1
and repopick the topic "kiwi_12.1_bringup".
Then submit any fixes you can make via pull requests.
Edit:: Well, that is now officially outdated... The repos have been imported into the CyanogenMod github (this makes it easier to collaborate). You should now submit changes via gerrit and not via pull requests.
The current status is that it boots, runs just fine and telephony / mobile data is working (for sim 1, I haven't tested sim2). Bluetooth may work. Everything else should be assumed to be broken (at least not tested). In particular, that includes wifi, audio, gps, camera and sensors.
But getting a first boot is a major step forward and then getting telephony working was another big step. It's now at a point where it is easy enough to colloborate if there is anyone out that with the skills and time to help out.
And, no, I am not posting builds right now and, no, I don't need people as testers at this time.
Wow you're awesome. Good luck with everything. I'll be looking forward to this.
Sent from my KIW-L24 using Tapatalk
It's awesome that you got it to boot and that you have ril working. Planning on getting this phone when there is an AOSP ROM for it. Currently using a $10 Verizon Moto E LTE on T-Mobile.
I'm syncing the code today, I was downloading the angler code as reference yesterday, but it's good to know that I'm not the only one willing to bring CM to this device
I wish I knew how to help, alas I don't. But you sir, I take my hat off to you and wish you the best!
crpalmer said:
I have made some decent progress on bringing up CM 12.1 on the KIW-L24. If you are able to help and willing to do so, please build off of these three repos:
* https://github.com/crpalmer/android_device_huawei_kiwi
* https://github.com/crpalmer/android_kernel_huawei_kiwi
* https://github.com/crpalmer/proprietary_vendor_huawei using branch kiwi-12.1
and repopick the topic "kiwi_12.1_bringup". . .
Click to expand...
Click to collapse
First, thanks for you work on this!
Second, how should I go about building this? I've setup my roomservice like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="crpalmer/android_device_huawei_kiwi" path="device/huawei/kiwi" revision="cm-12.1" remote="github" />
<project name="crpalmer/android_kernel_huawei_kiwi" path="kernal/huawei/kiwi" revision="cm-12.1" remote="github" />
<project name="Huawei-Kiwi/android_kernel_huawei_msm8939" path="kernel/huawei/msm8939" revision="Huawei" remote="github" />
<project name="crpalmer/proprietary_vendor_huawei" path="vendor/huawei/kiwi" revision="kiwi-12.1" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_hardware_qcom_fm" path="hardware/qcom/fm" remote="github" />
</manifest>
(I repo synced) but I can't get it to "lunch cm_kiwi-userdebug". Is there something else I need to do to build this?
and repopick the topic "kiwi_12.1_bringup". . .
Click to expand...
Click to collapse
Is that something I need to do to build this, or just to commit my changes? I don't know how to repopick.
Sorry for the noob questions, but I'd appreciate any help.
I am not a developer, but I work for Huawei. Let me know if there are any specific requests for information or resources that I can help out with.
Thanx for all the work.... you're awesome
Ps. Plz don't miss out the L21 ver
Sent from my KIW-L21 using Tapatalk
Cool to see boot.....Imma look over some things and see what i see as well....
Good morning, I also would like to say good work so far on this, and I too am not sure if I got things set up right. I repo synceed CM12.1 for Cherry, then replaced the device, vendor and kernel folders with your kiwi repos, then made sure qcom_common and _sepolicy were the latest.
The only repopick topic commit I see on Gerrit is "libcutils: Add huawei logging symbol". I added that in manually. Are there more commits under that topic? And is Gerrit the place to find those?
My build hangs up with this error: <device/qcom/sepolicy/common/mpdecision.te:42:ERROR 'unknown type sysfs_devices_system_iosched' at token ';' on line 14532:>
I added a commit from Slim that supposedly dealt with this error (https://github.com/SlimSaber/vendor_...ae52d3d3391500), but that didn't help.
Any advice or tips would be awesome.
Thanks again
wimbet said:
I am not a developer, but I work for Huawei. Let me know if there are any specific requests for information or resources that I can help out with.
Click to expand...
Click to collapse
You could mention that the kernel source which was released was either not the source for the kiw-l24 launch or was incomplete. It did not contain the DTB files for any of the kiw-l24 devices. It would be nice if future releases were complete and up-to-date...
Bandit Development said:
First, thanks for you work on this!
Second, how should I go about building this? I've setup my roomservice like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="crpalmer/android_device_huawei_kiwi" path="device/huawei/kiwi" revision="cm-12.1" remote="github" />
<project name="crpalmer/android_kernel_huawei_kiwi" path="kernal/huawei/kiwi" revision="cm-12.1" remote="github" />
<project name="Huawei-Kiwi/android_kernel_huawei_msm8939" path="kernel/huawei/msm8939" revision="Huawei" remote="github" />
<project name="crpalmer/proprietary_vendor_huawei" path="vendor/huawei/kiwi" revision="kiwi-12.1" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
<project name="CyanogenMod/android_hardware_qcom_fm" path="hardware/qcom/fm" remote="github" />
</manifest>
(I repo synced) but I can't get it to "lunch cm_kiwi-userdebug". Is there something else I need to do to build this?
Is that something I need to do to build this, or just to commit my changes? I don't know how to repopick.
Sorry for the noob questions, but I'd appreciate any help.
Click to expand...
Click to collapse
If you sync'ed the repos and lunch is failing, it will give you an error. You'll have to figure out what error you are getting and what you need to do to fix it.
crpalmer said:
You could mention that the kernel source which was released was either not the source for the kiw-l24 launch or was incomplete. It did not contain the DTB files for any of the kiw-l24 devices. It would be nice if future releases were complete and up-to-date...
Click to expand...
Click to collapse
Noted, I just sent this request to the dev team. They just released a new build B140 for KIW-L24, so I can request they update the kernel source.
crpalmer said:
If you sync'ed the repos and lunch is failing, it will give you an error. You'll have to figure out what error you are getting and what you need to do to fix it.
Click to expand...
Click to collapse
The error:
Code:
[email protected]:~/android/system$ lunch cm_kiwi-userdebug
Looking for dependencies
Traceback (most recent call last):
File "build/tools/roomservice.py", line 237, in <module>
fetch_dependencies(repo_path)
File "build/tools/roomservice.py", line 208, in fetch_dependencies
dependencies = json.loads(dependencies_file.read())
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 4 column 5 (char 57)
** Don't have a product spec for: 'cm_kiwi'
** Do you have the right repo manifest?
I thought the error was that the lunch combo "cm_kiwi" was not available, but I guess that's not the case? Maybe it's failing because of "ValueError: Expecting , delimiter: line 4 column 5 (char 57)"?
Anyway, I don't want to bother you, just curious if you had a quick suggestion. Thanks
Bandit Development said:
The error:
Code:
[email protected]:~/android/system$ lunch cm_kiwi-userdebug
Looking for dependencies
Traceback (most recent call last):
File "build/tools/roomservice.py", line 237, in <module>
fetch_dependencies(repo_path)
File "build/tools/roomservice.py", line 208, in fetch_dependencies
dependencies = json.loads(dependencies_file.read())
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 4 column 5 (char 57)
** Don't have a product spec for: 'cm_kiwi'
** Do you have the right repo manifest?
I thought the error was that the lunch combo "cm_kiwi" was not available, but I guess that's not the case? Maybe it's failing because of "ValueError: Expecting , delimiter: line 4 column 5 (char 57)"?
Anyway, I don't want to bother you, just curious if you had a quick suggestion. Thanks
Click to expand...
Click to collapse
That's my mistake. Try a repo sync and then lunch again.
CM would really make the H5X fly!
Well, this is now officially outdated... The repos have been imported into the CyanogenMod github (this makes it easier to collaborate). You should now submit changes via gerrit and not via pull requests.
Are you guys planning on adding official support for the L-21 and L-22 variants? They are quite similar barring the antenna bands if I'm not wrong.
I have the L-22 variant. Tell me if you require any sort of testing/info.
BTW, nice seeing you here, @crpalmer.
crpalmer said:
You could mention that the kernel source which was released was either not the source for the kiw-l24 launch or was incomplete. It did not contain the DTB files for any of the kiw-l24 devices. It would be nice if future releases were complete and up-to-date...
Click to expand...
Click to collapse
wimbet said:
I am not a developer, but I work for Huawei. Let me know if there are any specific requests for information or resources that I can help out with.
Click to expand...
Click to collapse
Hah, it seems to be a Huawei company policy to release incomplete source codes.
After two months of sending emails to Huawei someone finally replied and Huawei took another try at releasing source code for Huawei Y5 (Y560-L01&L02&L03&L23) yesterday. Unfortunately it's the same exact incomplete source code they had already released. Still missing ft5x36 touchscreen driver. Still missing some dtsi to compile dt.img. Still missing Huawei's USB modification. Still missing any modification Huawei has done to any Makefile/Kconfig...
@wimbet
Maybe you could use your contacts to move this thing forward? We already discussed this about a month ago, remember?
Discussion Thread
I have created a thread for non-development-related and off topic discussion.
Keep this dev thread clutter free.
http://forum.xda-developers.com/honor-5x/how-to/discussion-honor-5x-cyanogenmod-t3324177
The choice of ROMs has slowly been dipping since Lollipop as more and more ROMs no longer have Official support for Galaxy Nexus.
At the same time, newer ROMs are popping up for other devices and they look quite interesting.
Ones I have been looking at are Dirty Unicorns, Screw'd, AICP and OctOS.
However, building an unofficial ROM has been troublesome for me.
I have been focusing on Marshmallow since there are still some bugs with AOSP/Unlegacy nougat.
My main issue is that it isn't clear which gnex repos I should be adding after I have sync'd the main ROM source.
There are lots of different forks around and it isn't clear which one to choose.
Which repos do I need to add for AOSP based ROMs?
What is the recommended way to add them?
Does it make any difference if the ROM uses Cyanogenmod or Omnirom as a base instead of AOSP?
Has anyone built these (or any other ROMs) privately and would like to share all the commands necessary for a successful build?
Take a look at this backstage development
https://www.androidfilehost.com/?a=show&w=files&flid=18435
SAOSP has more nougat builds,
Then Dirty Unicorn and Pure Nexus.....
Thank him -> @voidz777
My present time is 5 o'clock in the morning.
In other words, it is before going to work.
So I can not write much.lol
Hi, opticyclic
I did not ignore you.
I have been working forever since I got your email.
Because I can not tell the right way unless I port it before telling you.
I was doing screwed work for a while.
https://github.com/voidz777-crewd
But I can not boot it.
Probably, I think it is due to more optimizing.
I got tired because I got tired.lol
After a while, delete https: //github.com/voidz777-crewd.
It is another addition.
<project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="master" groups="pdk,linux,arm" />
<project name="proprietary_vendor_samsung" path="vendor/samsung" remote="unlegacy" revision="aosp-6.0" />
<project path="hardware/ti/omap4" name="android_hardware_ti_omap4" remote="unlegacy" revision="stable" groups="omap4" />
<project path="vendor/ti" name="proprietary_vendor_ti" remote="unlegacy" revision="stable" />
<project path="vendor/widevine" name="proprietary_vendor_widevine" remote="unlegacy" revision="aosp-6.0" />
I'm sorry, my English is not good.
If I could write in Japanese here, I can tell you a little more about the way of port.
There is no time now.
PS.Ah, oct could be pored immediately.
@voidz777 No apologies necessary!
Your posts about different ROMs on Google plus are actually what prompted me to try to build some myself!
Thanks for the info.
I'll post back after trying out a few different ROMs and give an update in the OP on any successes.
I tried to build octos with
Code:
repo init -u https://github.com/Team-OctOS/platform_manifest.git -b oct-mm
and this in .repo/local_manifests/roomservice.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Remotes -->
<remote name="unlegacy"
fetch="https://github.com/Unlegacy-Android/"
review="gerrit.unlegacy-android.cf"
revision="aosp-6.0" />
<remove-project name="CyanogenMod/android_hardware_ti_omap4" />
<project remote="unlegacy" path="device/samsung/tuna" name="android_device_samsung_tuna" />
<project remote="unlegacy" path="hardware/ti/omap4" name="android_hardware_ti_omap4" revision="stable" groups="omap4" />
<project remote="unlegacy" path="vendor/samsung" name="proprietary_vendor_samsung" />
<project remote="unlegacy" path="vendor/ti" name="proprietary_vendor_ti" revision="stable" />
<project remote="unlegacy" path="vendor/widevine" name="proprietary_vendor_widevine" />
</manifest>
However, they are doing something funny with the build/envsetup.sh and it isn't picking up the vendorsetup.sh so the device isn't picked up by brunch/breakfast etc.
As far as I can tell, there is no specific info on GitHub, GooglePlus or any posts on xda on how to add a new device for their ROM.
On to AICP....
Check vendor / rom - name or device / other - device /.
If oct it will be platform_vendor_to.
Let's see the commit log.
Is there any device added?
For example, let's look for mako.
https://github.com/Team-OctOS/platform_vendor_to/commit/d30dd90c018ca521d458c939a2c56ffc5a97741d
Mako has been added by this commitment.
Create the tuna file in the same way.
Well, will you continue your way of thinking? Or do you want to know the answer quickly?
Thanks for the tip.
If they are going to use a different build structure, it should really be on the README or a FAQ somewhere.
It's bad programming practice in general to expect people to search through commit logs just to try to work out how a project works.
So instead of just adding a local manifest, OctOs requires the following:
to.dependencies (same as local manifest but in JSON instead of XML)
to.mk - same as the device board (aosp_tuna.mk)
extra line in vendorsetup_community.sh - it ignores your vendorsetup.sh
Then do lunch aosp_tuna-userdebug.
Then do mka bacon
However, the first time I did this, it overwrote my .repo/local_manifest/roomsevice.xml with a generated version that contained octos revisions instead of the aosp revisions, which obviously failed as there is no octos revision in unlegacy!
Weirdly, after reverting the roomservice.xml and running lunch again didn't overwrite it.
AICP was more straightforward.
I just added the roomservice.xml and ran lunch aosp_tuna-userdebug and mka bacon.
However, both failed with the following error:
Code:
build/core/base_rules.mk:157: *** packages/apps/Nfc//nxp/jni: MODULE.TARGET.SHARED_LIBRARIES.libnfc_jni already defined by packages/apps/Nfc/nxp/jni/. Stop.
What is weird about this is that it is the same module defining the library, however, the first one has a double slash in the path!
Probably revert this commit
https://github.com/Team-OctOS/platf...mmit/1b8ed2250fc89adce8e0b0dbb6c5ca4d82705ccb
Sent from my Nexus 5
Good catch.
I wonder how that didn't cause a build failure on the build servers.
The next failure in both was:
Code:
build/core/base_rules.mk:157: *** hardware/invensense/60xx/mlsdk: MODULE.TARGET.SHARED_LIBRARIES.libmlplatform already defined by device/samsung/tuna/libsensors. Stop.
That was resolved by removing the Cyanaogenmod project and using the unlegacy one instead, so the local manifest now looks like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Remotes -->
<remote name="unlegacy"
fetch="https://github.com/Unlegacy-Android/"
review="gerrit.unlegacy-android.cf"
revision="aosp-6.0" />
<remove-project name="CyanogenMod/android_hardware_ti_omap4" />
<remove-project name="CyanogenMod/android_hardware_invensense" />
<project name="android_device_samsung_tuna" path="device/samsung/tuna" remote="unlegacy" />
<project name="android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="unlegacy" revision="stable"/>
<project groups="omap4" name="android_hardware_ti_omap4" path="hardware/ti/omap4" remote="unlegacy" revision="stable" />
<project name="proprietary_vendor_samsung" path="vendor/samsung" remote="unlegacy" />
<project name="proprietary_vendor_ti" path="vendor/ti" remote="unlegacy" revision="stable" />
<project name="proprietary_vendor_widevine" path="vendor/widevine" remote="unlegacy" />
</manifest>
I chose revision="stable" for android_kernel_samsung_tuna", although there is also "aosp-6.0-sound" but I just wanted any kernel to allow me to compile at this point.
The next error (both ROMs) is this (maven 3 is installed)
Code:
make: *** No rule to make target '/home/buildbot/android/aicp/out/target/common/obj/JAVA_LIBRARIES/ambientsdk_intermediates/aar/classes.jar', needed by '/home/buildbot/android/aicp/out/target/common/obj/APPS/messaging_intermediates/AndroidManifest.xml'. Stop.
This relates to this dir https://github.com/AICP/vendor_aicp/
Interestingly, ambientsdk dir existed all thoughout the n7.0 branch and only got removed recently in the n7.1 branch
https://github.com/AICP/vendor_aicp/commit/8f150895f8b361480ac91ef0ace941e06e9f548e
I also don't see any maven messages in the build log and com.cyngn.ambient/ambientsdk/ is not in my ~/.m2/repository which makes me wonder if I am missing a project.
The only similar errors I see online are if people don't have maven installed.
I tried removing the files like the 7.1 branch even though it felt wrong,
Code:
rm vendor/aicp/overlay/common/frameworks/base/core/res/res/values/cm_arrays.xml
rm -rf vendor/aicp/ambientsdk
Not surprisingly, it seems like something else is calling it as the same error pops up 25 mins into build.
repo grep ambientsdk shows ContactsCommon, Trebuchet and ContactsProvider using it in the Android.mk files and grepping for ambient shows lot of java imports.
So now I am stuck again.
To be honest, I wasn't expecting to have to deal with errors like this as they don't seem to be device specific.
i.e. there are builds for other devices so how did they compile?
i have posted nethunter rom here: https://forum.xda-developers.com/galaxy-nexus/development/rom-kali-linux-net-hunter-t3676472