ShadowKat Studios
Blog
Projects
About

Sanely building Cyanogenmod 13

Part 2 of why you should never try to do any form of Android development ever.

So, take two. I gave up on the Debian virtual machine … yesterday. Yeah, it was yesterday. I feel like that xkcd strip is rather relevant, the last 36 hours or so have been a blur of mexican takeout, cola and compiler errors.

So, a few things I did:

Arch and QXL

The Arch Linux iso I keep around is from 2016-09-03 because I’m too lazy to download a new one. After recent upgrades to the virtualization server, I updated all the stuff on the system as well, which updated qemu and libvert and such. Now, fun fact: on occasion Arch will hang when exposed to a version of the QXL video driver it doesn’t understand, with common timing being while you’re trying to install Arch, which is positively wonderful.

As much fun as that was, I’ve had the same issue with Haiku, so I just set it to VGA and got on with my day.

Cert issues

So, after waiting about 5 hours for the cyanogenmod source to download AGAIN, I got to work trying to compile it - grab the binary blobs from the proprietary-vendor-motorola repo, breakfast osprey, make -j8…

After about 15 minutes it tells me it failed. Apparently this is a known issue, caused by certificate issues on the Cyanogenmod maven repo. Okay, great. In the #cyanogenmod-dev topic on Freenode it has a link to a workaround. Righto, should be easy to just apply this patch, right?

Wrong. repopick -f 174025 couldn’t figure out where it was meant to put the files. Apparently it should work if you’re in ~/android/system, but it sure as hell didn’t. At least the solution was simple.

wget https://maven.cyanogenmod.org/artifactory/gello_prebuilds/org/cyanogenmod/gello/40/gello-40.apk --no-check-certificate

Memory fun.

About 20 minutes into another build, I opened htop to check usage, mainly because I was bored. I was under the impression I’d given that virtual machine 4 threads and 8GB of RAM.
I had not.
It had 4 threads and 1GB of RAM.

Among other things, this caused several builds to crash.
I am not a clever man.

Success!

First compile worked! Now time to customize it (and use ccache).

make completed successfully (01:09:10 (hh:mm:ss))

By Izaya

Tags: tech software bad-software hardware android

© ShadowKat Studios
The software used to generate this page is licensed under the Mozilla Public License version 2 and can be found here