yashsingh1/xdaforums huggingface dataset:
[Galaxy Tab S Android Development] Eliminater74:
Building CM12 Rom.

I have tried over and over to use the instructions listed on how to build your own rom along with the instructions on how to build a blisspop rom on thier thread. with both not working as threads relay......

I keep getting error: *** Headers not exportable for the arm architecture. Stop.

Can someone give me a little direction/instructions or point me in the right way to where I can figure out whats going on and how to fix it so that I can build my own personal rom.

Google searching is not showing me anything on the error listed above. I can compile all day on my linux system.. but crosscompiling is something that doesnt seem to work so good for me.

its harder for me to track down errors under crosscompiling as it is under reg linux compiling. I have used 2 sets of Instructions on how to build this rom. And like I said. I get the same error on both sets.

Could someone please point me in the right direction...

Thank you.
[Galaxy Tab S Android Development] :
First of all: if you want to build Nvertigo/cm12 stick to the instructions from this thread, if you want to build blisspop stick to the instructiins from blisspop thread. Mixing both will give you trouble... THERE IS ONLY ONE SET OF INSTRUCTIONS TO BUILD THIS ROM! So, the statement "I have used 2 sets of Instructions on how to build this rom." makes no sense.

Second: if you try to hunt down an error in the build process, sarch for "Error 1" and look at the lines before. If you need help, please post the entire make.log.

Have you setup your build environment according to the instructions of your distro? Which branches of my git repos do you use? Any error in "repo sync"? Do you have .repo/local_manifests/nvertigo_local_manifest.xml? Do you have executed "breakfast picassowifi" followed by "repo sync"? The snippets from posting #4 are no scripts for blindly copy'n'paste, you have to check for errors yourself, when executing the commands.
[Galaxy Tab S Android Development] :
Sorry. Double post due to bad connectivity and impatience.
[Galaxy Tab S Android Development] Eliminater74:
I didnt mix the 2 together, I repo sync (downloaded) Each sep. And Followed the instructions for each sep. I didnt just copy and past. I read and changed and made sure of what was going on. But as I said. I received the same

error for each sep. Build that I had 2 sep. Directory's for. Its always, *** Headers not exportable for the arm architecture. Stop. And since that has to do with the kernel. I was assuming my problem was there.

And by reading your post, it sounds like didnt like the fact that I even asked. So, Sorry that I even asked. I only figure that since you posted on how to build this rom, that you may be able to help me with the error that I am

receiving. Maybe I didnt explain my self fully. but thats because I only wanted to know why I was receiving the same error from trying 2 sep roms. (Not mixing the 2).. And yes I searched all over google and I searched all over xda for that very error. and came up with only something talking about the ucmi directory and some patch for it. but only for the arch=um and not arm. But trust me, asking anyone here how to do something was the last thing I wanted to do. since I knew it would give me trouble for asking. Its a shame really. one trying to learn and asking a question how to do something will get that one in the most of trouble.. But since I ran out of all other options. I figure I would ask here and see if someone knew what the problem was..

What branch did I use: I used this: repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0

Did I receive and repo sync errors, No I didnt receive any errors. I even deleted the whole directory and started all over to make sure I had everything correct.. Same error again.

My build environment was set up according to https://source.android.com/source/initializing.html .. my Destro is Ubuntu 15.04 ( Yes I know 15.04 is still in beta ) but that shouldnt matter much for the error that im getting has nothing to do with my build env. and everything is setup just as it should be. No errors there. Only that one error about the headers....

Thank you again, and sorry to take up your time.......
[Galaxy Tab S Android Development] :
Please give me your make.log and your repo.log (repo sync -d >repo.log 2>&1).

If I don't want to answer you question, I wouldn't answer it. ;)

What really annoys me (and this is not only for you): Why I have to ask for logs many times?

EDIT: can you give me additionally the output of

cd kernel/samsung/chagallwifi
git branch -v
git status
git remote -v
git lg1 #only the first 10 lines of output
[Galaxy Tab S Android Development] Eliminater74:
For some reason all the git commands that you told me to use didnt work as it should:

Could it be that I used the repo command with git when I started all this?

eliminater74@HP_ENVY_dv7:~/[ANDROID]/CM/cm-12.0$ git branch -v

fatal: Not a git repository (or any of the parent directories): .git

eliminater74@HP_ENVY_dv7:~/[ANDROID]/CM/cm-12.0$ git status

fatal: Not a git repository (or any of the parent directories): .git

eliminater74@HP_ENVY_dv7:~/[ANDROID]/CM/cm-12.0$ git remote -v

fatal: Not a git repository (or any of the parent directories): .git

I am in in the directory that I followed your instructions for building the rom. So I cant understand why the commands didnt work.

I did upload the last make.log...
[Galaxy Tab S Android Development] :
'Cause you havn't done the first command I wrote "cd kernel/samsung/chagallwifi". Please try again in with the changing of directory first. And don't forget the repo.log.

Please rename '[ANDROID]' to something without characters, that have a special meaning in a shell. If the makefile cascade execs something wit this pathname to a shell, the shell will try to substutute "[ANDROID]" with A or N or D and so on. This could be the reason for several problems... If your build environment and cm source tree are sane, I'm quite sure this will solve your problem.

BTW: look at the way I handle the questionable string in the above statement: '' escapes the substitution for one instance, "" will allow the substitution. So

mv '[ANDROID]' somthing_else

will work.

If you look in Makefile of kernel source for the line that is throwing your error, you see make function wildcard is called. This does the same as I described for shell substitution: https://www.gnu.org/software/make/manual/html_node/Wildcard-Function.html
[Galaxy Tab S Android Development] mx900:
Running YouTube AdAway and Greenify xposed modules. Just remember not to update the YouTube app in Play Store, as it will render the AdAway module useless. I did it once, and then I had to wait for dev to update the AdAway module. YouTube AdAway was the only reason I installed Xposed.
[Galaxy Tab S Android Development] FormeriPhoney:
I haven't installed the new xposed yet. Is that the alpha build? And is it an apk only? Thanks
[Galaxy Tab S Android Development] Eliminater74:
Well, you were right. that changing the directory fixed it.. But all I really did was create a new directory called ~/Builds/cm12 and then re-downloaded everything using your instructions for building....

Worked.. I want to thank you for your help. Now I havent flashed that rom yet to see if all worked...... thats next step...

I did attached the make.log file.. Please check it out for me. I might of missed something............ anyhow.. Thank you again for all your help.
[Galaxy Tab S Android Development] :
Congrats for your first build - kind of codewise defloration.

If the build process went ok without errors and abort, you are fine. I love logfiles from something going wrong - logfiles without errors are boaring. But don't forget repackrom to make the links for wifi blobs. Otherwise you won't have wifi.

BTW: when building the next time remember to make clean - rebuilding of changed parts with all dependencies does not always work as expected to work...

Glad I could help.
[Galaxy Tab S Android Development] Eliminater74:
Yea, I wasnt understanding what the repackrom was really for, but I still did it since it was in the instructions to do so. But since you said it was for the wifi. Now I understand what its for.

but what I dont understand, is why doesnt just compiling/building the rom do all that? it seems like thats only needed for the T800 and no other device???

BTW:, Can I pretty much use the same way to compile for my LG G3 D851 (T-Mobile) except I know I need the device/vendor/kernel but with all that I can use the same code correct??
[Galaxy Tab S Android Development] :
Original sammy rom needs some of its blobs with different names (see symlinks in /system/etc/wifi in a running sammy t800 rom), therfore they use symbolic links. This symbolic links needs to be setup while flashing from updater-script. Sadly sammy does not provide source code for their device specific, hardware related binaries (often refered to as blobs or vendor files - no vendor I know of provides source code for this. So we can't build them inside cm, but have to use them taken from a factory rom.

To get this very same setup for the blobs (the symlinks in /system/etc/wifi) I need to place the generation of this symlinks (not copies of the files, which would work, but why have same files multiple times, when symlinks are a much cleaner solution?) In updater-script.

I don't know of any ways to get this additional commands (for making symlinks) in updater-script while building (if anyone knows, please, please, please give me a pointer), so I extract updater-script from the ready to flash zip, patch the commands to make the symlinks in the extracted updater-script and put it back to the zip. Finally I resing the zip with the testkeys again.

I provide the repackrom.git not only for ease of use, but also forminformational reason. All of the above would explain itself if you read the script and patch contained in my git. The reason why I do so, is contained in the commit messages and comments in my vendor git.

Before one asks why I don't use copies of the files, which would be easy to make in vendors makefile:

Havingnthe same data in more then one place is bad coding style, waste of storage and bandwith and an error in design.

When we can't make the blobs our self, it's a good idea to keeep it as close as possible to the factory rom, the blobs where taken from.
[Galaxy Tab S Android Development] Eliminater74:
Well, I for one, want to thank you again for talking the time to teach/show someone how to create their own rom. I already flashed it and ran it, Works great.. Now just for kicks im trying the BlissPop build once again.

Since you pointed out my little mistake. I think I might have alot of it down pack. I still have a ways to go.. but at least Now I can compile my own builds without waiting for the next release.

Sadly I noticed there isnt much custom roms (Not based on Stock) for the T800.. my LG G3 D851 has many. But I ride with [ROM][OFFICIAL] Resurrection Remix® v5.3.8 Which is a very sweet rom.. and very stable..

Would be nice to get it ported over here. I have yet seen it over here.. maybe with a little knowledge that I have learned from my builds already, I might just be able to build a T800 version.

Again, thank you for your time......
[Galaxy Tab S Android Development] FormeriPhoney:
Hey fellas... Any reason why my Google play services has been awake for 16 of 19 hours my tablet has been on? This is my first battery run since flashing the rom.
[Galaxy Tab S Android Development] mx900:
You have to install the Xposed framework first (flash .zip in recovery), then install the Xposed .apk.

[OFFICIAL] Xposed for Lollipop
[Galaxy Tab S Android Development] :
I have seen this problem on my manta - but not on my chagallwifi. I'm still investigating (haha, to ne honest, I spend my time on developing and writing on forum... ;) ), but the only obvious difference is the gapps version: on manta I have used pa pico from 0307 (which has the issue), on chagallwifi I had flashd 0221.
[Galaxy Tab S Android Development] FearlessSpiff:
I investigated this. I had to reenable SytemUpdateService in GooglePlayService with DisableService App to get my tablet to Deep Sleep again. Not 100% sure if this really is the problem but it seems to get better with it. I also have no idea what effect this has on the ROM but it's stable as before.
[Galaxy Tab S Android Development] :
Have you changed the gapps package on the flash before this occurs? If yes: on what gapps this issue first occured?

Thank you very much for that solution, but I want to find out, if this issue is from cm updates or from gapps itself, to solve it without using a third party app. As I wrote above: I have this issue on my manta, but not on my chagallwifi. On my chagallwifi I have accidebtly not updated the pa gapps to 0307 accidently (forgotten to put it on sdcard) when flashing the last build.
[Galaxy Tab S Android Development] FearlessSpiff:
I also flashed 0307 (pa_gapps-modular-mini-5.0.1-20150307-signed.zip) No flash before, because it was my first one. :)

Would be nice if it could be fixed otherwise. I just found out, that my fix is gone after a reboot. Maybe flashing 0221 wpould fix it...
[Galaxy Tab S Android Development] :
I'm glad you found a temporary workaround.

I just saw theres an updated gapps package, please, could you try that before trying to downgrade.

Downgrading gives me continus FCs on google.play.services, I had to clean data to get it running again. Was a pain in the ***: click ok on the play.services error message, swipe QS, klick ok on the play.services error message, klick on Settings icon, click ok...., klick on apps, click ok... and so on... :(
[Galaxy Tab S Android Development] FearlessSpiff:
I'll try. but won't have time for it until the evening. Will report back.
[Galaxy Tab S Android Development] Eliminater74:
I managed to port over Resurrection Remix to the T800.. Again if it wasnt for your help, It would never of happen.. BTW: thats my fav rom on my LG G3..

I just down the source and used kernel/device/vendor for the t800 and using your instructions I wan able to get it to work. I really didnt think it would work..

but I flashed it and everything worked.. only a few annoyances. That rom was really never made for a tablet. but owell.
[Galaxy Tab S Android Development] :
Congrats. "...only a few annoyances..." ...welcome to my world... ;)

If I may be allowed to give you a hint: learn basics of linux/unix and bash; and of course asmmuch as you can about using git on the command line.
[Galaxy Tab S Android Development] FormeriPhoney:
For the record, I am using 3.07 Pico gapps
[Galaxy Tab S Android Development] :
Could you try 0315, please?
[Galaxy Tab S Android Development] FearlessSpiff:
I dirty flashed with 0315. same problem and same workaround i wrote before.
[Galaxy Tab S Android Development] :
Sorry man, run out of thanx, so: Thank you.

Could you try this: deinstall play services (with titanium i.e.), immediatly rebot to recovery and dirty flash rom and 0221, please?

(I hope deinstalling play services saves you from the painfull way of deleting data I described - if not: sorry in advance.)
[Galaxy Tab S Android Development] FearlessSpiff:
Will try it. worst case i'll delete data and start from scratch. but this time not before this evening... :) I'm out with the kids now. :)
[Galaxy Tab S Android Development] Nekromantik:
Now CM12 has gone official, will we get more ASOP based ROMs on this tab?
[Galaxy Tab S Android Development] :
:confused:

Would you please provide a link for an official cm12 build?

For you question: this is NVertigp/cm12 for chagallwifi thread - completly wrong thread to ask for something that is not Nvertigo/cm12 for chagallwifi.

:confused:
[Galaxy Tab S Android Development] :
I tested the whole day. I can confirm the following for chagallwifi NVertigo/cm12 (and for manta NVertigo/cm12):

pa gapps pico 0301 and 0315 will give you wakelocks from google play services that prevent both devices from going to deep sleep. pa gapps 0221 does not have this problem. The first package results in having installed google play services 7.0.96, while the second results in 6.7.76.

After some reseatch in other forums (mainly OPO and pa gapps threaf) I'm pretty sure I can summerize to the following: 7.X.XX has problems with aosp 5.0.x based roms, while 6.X.XX does not produce this ugly wakelocks.

Furthermore it seems, that somtimes play services gets updated to 7.X.XX WITHOUT flashing the newer pa gapps. As soon as the version of play services is 7.X.XX the wakelocks arise.

There are some workarounds (which seems to need to be redone after each reboot).

A workaround that survived at least two reboots (verified on my chagallwifi as well as on my manta):

Deinstall play services from Titanium (I belive other root enabled install tools will work too).

Immediatly reboot to recovery.

Wipe system, cache and dalvik cache.

Flash sex build.

Flash pa gapps pico from 0221: https://basketbuild.com/filedl/devs..._gapps-modular-pico-5.0.1-20150221-signed.zip .

If you like, flash SuperSU.

At this time my play services has not been autoupdated to 7.X.XX (I've disabled autoupdate in play store).

For now I change my recommendation from "pa gapps pico", to "pa gapps pico from 0221".

I hope this helps to avoid someones headaches.
[Galaxy Tab S Android Development] FormeriPhoney:
Is it necessary to uninstall play services if we are wiping system and caches for a dirty flash?
[Galaxy Tab S Android Development] :
No. But then you need to wipe data of play services manually while it keeps crashing. I explained that allready a few postings above.
[Galaxy Tab S Android Development] FearlessSpiff:
Just wanted to confirm that this fixed my issue also. Thanks again! Great stuff! :D
[Galaxy Tab S Android Development] :
Still run out of Thanx. But I want to thank you for testing the 0315. Propably saved me an hour or so of testing!
[Galaxy Tab S Android Development] vanessaem:
Thanks nvertigo67 for doing more for this tablet than Samsung. ;)
[Galaxy Tab S Android Development] Eliminater74:
I just have another question, Realy supid question, but I want to make sure, When i use the command ' repo sync ' Shouldnt that sync everything thats on remote server to my local server?

It doesnt seem that it works like that. I seen on the remote server something that was changed just hours ago; but when I sync it doesnt seem to replace whats been changed.

Or am I just lost.............
[Galaxy Tab S Android Development] :
...learn git - repo is just some kind of meta-git.

"repo sync" (btw: I recommend using "repo sync -d" to delete unused gits from worktree) does for all gitnames in .repo/manifest.xml and all gitnames in all xml files in .repo/local_manifests/ a "git fetch gitname revision && git checkout revision". The revision is the one which is referenced in above mentioned repo manifest xmls.

If a commit you are expecting, is not in your local worktree, it is most propably in an other revision. Also when using "git lg1"-alias it shows you the time, when the commit was authored, not when it was commited: if you "git cherry-pick xxxxxxx && git lg1" and xxxxxxx was authored 2 years ago, you will see "two years" and not "3 seconds ago" (the latter you would see if you coded something yourself and "git commit -am "my sotce code changes.").

BTW: I'm glad there is one more aosp based, source build rom more. I would be even happier if you reference the code you use and push your own gits. That would be just fair to the contributors, as well as that would make it possible to peer review. To close the cycle: learn git... ;)
[Galaxy Tab S Android Development] :
Would someone using an US comfiguered router with 5GHz wifi set to a channel >140 please check the following for me:

Set ccode only in /system/etc/wifi/nvram_net.txt_4354_a1 to EU and see if the 5GHz channel >140 is still working?

If so, it would make it possible to match in 2.4GHz and 5GHz as many channels as possible.

Just an idea of an confused dev... ;)
[Galaxy Tab S Android Development] :
Thanx for your kind words - I really appriciate this from someone with a 5 digit thanx number. And I surely hate sammys coding style in their kernel source and their so called "support for open source" community, but what I really(!) like about sammy: they build this tab! So they did quite something for this tab and us. ;)
[Galaxy Tab S Android Development] Eliminater74:
yea I saw your msg on my thread. I forgot to do all that with trying to get that thread setup.

But give me time. im still trying to learn all this.. im getting there. I wouldnt be this far if it wasnt for your help.

as for git. the reason I asked about the repo.. was because I cant use git in the root tree. it says never init git there. only repo works.
[Galaxy Tab S Android Development] :
Yes. I like to see repo as meta-git: repo is a tool for managing many gits. The gits managed by repo are configured by the mentioned xml files. Each git contains a directory .git (that is where actually the data is hold). Each repo contains a directory .repo (that is - you guess it- where the data is, actually here are the "real" gits in); all the git directorys you see in the cm12 source dir outside .repo are only the checked out working files (working dirs). If you take a look i.e. in bionic/

ls -la bionic/.git
insgesamt 368
drwxr-xr-x 2 ingo ingo 4096 16. Mär 08:59 .
drwxr-xr-x 10 ingo ingo 4096 9. Nov 19:44 ..
-rw-r--r-- 1 ingo ingo 41 5. Mär 12:22 HEAD
-rw-r--r-- 1 ingo ingo 41 5. Mär 12:26 ORIG_HEAD
lrwxrwxrwx 1 ingo ingo 38 9. Nov 19:44 config -> ../../.repo/projects/bionic.git/config
lrwxrwxrwx 1 ingo ingo 43 9. Nov 19:44 description -> ../../.repo/projects/bionic.git/description
lrwxrwxrwx 1 ingo ingo 37 9. Nov 19:44 hooks -> ../../.repo/projects/bionic.git/hooks
-rw-r--r-- 1 ingo ingo 356776 16. Mär 08:59 index
lrwxrwxrwx 1 ingo ingo 36 9. Nov 19:44 info -> ../../.repo/projects/bionic.git/info
lrwxrwxrwx 1 ingo ingo 36 9. Nov 19:44 logs -> ../../.repo/projects/bionic.git/logs
lrwxrwxrwx 1 ingo ingo 39 9. Nov 19:44 objects -> ../../.repo/projects/bionic.git/objects
lrwxrwxrwx 1 ingo ingo 43 9. Nov 19:44 packed-refs -> ../../.repo/projects/bionic.git/packed-refs
lrwxrwxrwx 1 ingo ingo 36 9. Nov 19:44 refs -> ../../.repo/projects/bionic.git/refs
lrwxrwxrwx 1 ingo ingo 40 9. Nov 19:44 rr-cache -> ../../.repo/projects/bionic.git/rr-cache
lrwxrwxrwx 1 ingo ingo 39 9. Nov 19:44 shallow -> ../../.repo/projects/bionic.git/shallow
lrwxrwxrwx 1 ingo ingo 35 9. Nov 19:44 svn -> ../../.repo/projects/bionic.git/svn

you see, that there are only links tho the "real data" under .repo.

Instead of "repo sync" you can cd to every single git under .repo and do "git fetch gitname revision", thean cd to the corresponding git dir in the work dir (aka the dir outside .repo) and do "git checkout revision". You would have to do that for over 500 dirs... The repo command just does that for you according to remote git names, revisions and path given in the xml files. Therefore the top of the structure with the gits is itself no git, but a repo dir...

You can't understand repo without understanding git before. Or an other metapher: repo relates to several gits the same way make relates to several source files: it manages them according to rules. repo uses several xml files; make uses several makefiles.

I don't want to annoy you or sound like an old german teacher, but: leran git.
[Galaxy Tab S Android Development] Eliminater74:
You are far from annoying me. I rather like the knowledge that you give me. Like I said. I wouldnt of got this far if it wasnt for your help. I remember long ago asking someone for help on something. and all I got was a bad attitude from the person. and it wasnt only with me. he was like that with everyone. But at least you were cool enough to stop and take the time to help others. And if I can pass on the knowledge, I will. Yes you are right. Learning git is a must.

Alot of reading is a must. one of my next projects down the road. is learning all the kernel tweaks and so on.. Knowledge is very powerful.

Thank you again.. BTW: I hope I listed the sources correctly on my thread.