[Solved] Cannot build unsupported /e/ rom using the docker method


I have problems using the docker method for building an unsupported rom (crownlte). I was able to build bonito with docker (which is fully supported though) so I know that my system is configured right.

In my case, I’m trying to build crownlte (galaxy note 9), the source are available through this manifest:

(I had to remove the xml parts to post the message)
project name=“synt4x93/android_device_samsung_universal9810-common” path=“device/samsung/universal9810-common” remote=“github”
project name=“synt4x93/android_device_samsung_crownlte” path=“device/samsung/crownlte” remote=“github”
project name=“LineageOS/android_hardware_samsung” path=“hardware/samsung” remote=“github”
project name=“synt4x93/proprietary_vendor_samsung_universal9810-common” path=“vendor/samsung/universal9810-common” remote=“github”
project name=“synt4x93/android_kernel_samsung_universal9810-crown” path=“kernel/samsung/universal9810-crown” remote=“github”

This is the manifest given on the github page of synt4x93, is it compatible with the build system?

And this is my command line:

docker run
-v “/storage/e/manifests:/srv/local_manifests”
-v “/storage/e/src:/srv/src”
-v “/storage/e/zips:/srv/zips”
-v “/storage/e/logs:/srv/logs”
-v “/storage/e/ccache:/srv/ccache”
-e “BRANCH_NAME=v1-oreo”
-e “DEVICE_LIST=crownlte”
-e “CUSTOM_PACKAGES=‘MuPDF GmsCore GsfProxy FakeStore com.google.android.maps.jar Mail BlissLauncher BlissIconPack MozillaNlpBackend OpenWeatherMapWeatherProvider AccountManager MagicEarth OpenCamera eDrive Weather Notes Tasks NominatimNlpBackend DroidGuard OpenKeychain Message Browser BrowserWebView Apps LibreOfficeViewer’”
-e “SIGNATURE_SPOOFING=restricted”
-e “OTA_URL=https://localhost/”
-e “REPO=https://gitlab.e.foundation/e/os/android.git”
-e “ANDROID_JACK_VM_ARGS=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx2G”

All parts should be there but it’s as if the tool was unable to reach the source I mentioned, the one in the synt4x93 repo, outside of the default lineage repo. I just see an error related to duplicate path (fatal: duplicate path prebuilts/prebuiltapks in /srv/src/OREO/.repo/manifest.xml)

It doesn’t seem to be fatal though, as the compile goes on by falling back on a few sources available in the usual (but incomplete) lineageos github for crown, but not the one I mentioned in my manifest. And since this official source is incomplete the proces fails.

Also, which command is the right one to get the container? There are two different mentioned in the wiki:



I don’t know much about docker. I’m always building this way. [HOWTO] Build /e/ without docker for non LineageOS supported devices

You can give it a try

I can confirm I succeeded building for xiaomi/chiron only using the way harvey186 mentioned :slight_smile:

Anyway, you should use the e.foundation container.

Oh yes, sure. Haven’t seen. you MUST use the e.foundation container, it’s incl. the script for patching lineage and e, as far as I know.

But If you are using the builde.sh script, it will use the right container

Thanks for the replies.

I’ve restarted from scratch and it works now, I have a zip for the galaxy note 9. My guess is that the process falling back to the official repo downloaded some files from two different sources, and that they somehow survived the cleanup phase at the end of the failing build step, clogging the tree. Is there a command to really clean up the tree instead of redownloading everything?

Is anyone wanting to test this rom? I can purchase the phone “in the dark” but…

You can clean up your build environment with ‘sudo make clean’