[HOWTO] ✏ Compiling Fairphone Open OS / Rooting

I’m running Ubuntu 14.04.3 and dpkg -l | grep ca-certificates shows this package to be already installed.

However, nice to know that it works that way for you! That gives me hope to be able to fix this. If someone has another idea, please share it. :wink: I’ll also try to do some more research on the error output and the package …

Just create an account with launchpad. That’s the Ubuntu software repository site which also includes bug tracking for ubuntu. It doesn’t hurt to have an account there. You can also use that account for other services like Stackoverflow.

I didn’t want to create a Google account (or a similar one) just for this secondary use case. But you’re right, I can get along with creating a Launchpad account - I see more possible future use cases for this (than for a Google or Yahoo account). Thanks for pointing this out!

1 Like

I also have Debian Jessie and building has failed for the third time now. (-j8, -j2, -j1)
(make failed to build some targets after 03:55:xy

(How) did you install zlib1g-dev:i386? Do i have to change a repository for the i386-version?

If anyone has a tested and working image, could they maybe upload it somewhere and post the link here?

Regards

1 Like

Hi Bergziege,
i installed the following packages (AOSP site + code.fairphone):

git-core gnupg flex bison gperf build-essential
zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache
libgl1-mesa-dev libxml2-utils xsltproc unzip install openjdk-7-jdk bison g+±multilib git gperf
libxml2-utils make python-networkx zlib1g-dev:i386 zip

You can install the i386 packages by:

dpkg --add-architecture i386
apt-get update

and then a normal apt-get zlib1g-dev:i386 for example…

BigCrash

For me, the compilation also failed once again yesterday with the same error as before

Concerning the sharing of tested and working images, @keesj was clear about the official answer to @Arvil’s question on licensing issues. For now, officially, we do not have the right to share builds including the blobs :frowning:

Little side note: So, even if you manage to get one by PM, stay calm about it in public :wink:

I added the architecture.

apt-get install zlib1g-dev:i386 didn’t work (missing dependencies)

I tried aptiude then, which suggested to solve those dependencies by removing gcc as a whole (and a lot of other stuff) which I did not want to do.

does the no-sharing-policy also apply to builds only from the sources on code.fairphone.com, i.e. without any changes like root etc.?

That must be what Fairphone calls “encourage the community to build alternative ROMS”

I just want to get rid of the Google Apps … (root would be nice, but isn’t vital to me)

Try installing “phablet-tools” - solved this issue for me on Ubuntu 14.04 LTS.

unfortunately that packages isn’t in Debian’s repository… and I don’t want to mess around with mixing with ubuntu…

Unfortunately yes, root is no problem - the blobs included in the images are…

Still, if you ask someone nicely via PM and don’t make it public…
I had some success with that already. Not mentioning any names of course! :wink:

I guess for these kind of cases the Docker image is the best bet. There, I’ve figured out all these problems for you and you don’t need to mess around with your system :wink:

Thank you so much.
Does it include root? Or is there an instruction about how to root with your docker image?

I don’t think so, but you can always follow the steps described in the How to root with superuser thread afterwards. Since the boot image has been compiled already and can be distributed freely (no blobs in there), this should be pretty straight forward once you have your FP OSOS running on your phone.

1 Like

No, it basically only provides you with a working environment. You have to do the rest yourself.

1 Like

How did you manage to get it compiled with that? If I set the variables to false, I get build errors. There is no rule to make “out/target/product/FP2/obj/STATIC_LIBRARIES/libqc-art_intermediates/libqc-art.a” what is required for “out/target/product/FP2/obj/SHARED_LIBRARIES/libart_intermediates/LINKED/libart.so”.

1 Like

As mentionned later in the thread (but discussion is pretty bad at presenting evolutions in the thread when it gets long) it didn’t work out… I had to copy-paste the libart-*.so to the correct folders by hand (this should be fixed by an upcoming release of the blobs) :wink:

I’ll try another build soon.

1 Like

This commit to CyanogenMod looks like it solves our problem.
With these changes applied I was able to build with

export FP2_USE_PREBUILT_LIBART=true
export FP2_USE_PREBUILT_LIBART_COMPILTER=true

removed. :grin:
Can you imagine why there are proprietary versions of ART libs? Maybe some device specific optimizations like they did for Dalvik?

1 Like

Did anybody tried to encrypt the phone with a self-built Android yet? I’m not sure why it’s not working for me. Phone gets stuck on reboot and logcat shows this messages repeating all the time:

I/ThermalEngine( 281): Sensor:pm8941_tz:36558 mC
W/MountService( 6186): Thread MountService still waiting for MountService ready…
W/MountService( 6186): Thread MountService#onDaemonConnected still waiting for MountService ready…
W/MountService( 6186): Thread main still waiting for MountService ready…

2 Likes