Build /e/ for Sony Xperia XZ1 Compact (lilac - not 'lily'!)

… Later:

Build now failing with
[ 99% 1249/1250] glob vendor/qcom/opensource/interfaces/wifi/supplicant/2.0/src ninja: error: 'vendor/sony/lilac/proprietary/app/CameraAddonPermission-release/CameraAddonPermission-release.apk', needed by '/srv/src/PIE/out/target/product/lilac/obj/APPS/CameraAddonPermission-release_intermediates/package.apk', missing and no known rule to make it

I think I am now well out of my depth, and I’m going to give up for now. I may have a go at building a lineage4microg ROM. That has worked for me before for phones where I couldn’t build /e/.

Thanks for all your help

I have found a repo with the files I seem to need: https://github.com/russel5/aex_vendor_sony_lilac/branches. The developer builds the Treble/Pie/XZ1c AOSP Extended ROM which is Pie, (as well as Oreo and Android 10 AOSP Extended ROMS. If I pointed my roomservice.xml at the 9.x branch would it be likely to work, or do I need to find a version that is LineageOS specific?

[edit] There’s one way to find out - build in progress! But if this is a stupid idea, please tell me before I try to flash it on my shiny new(-ish) phone :wink:
(sorry if this is a stupid question, but, as I mentioned before I am a bit out of my depth :slight_smile:)

[2 hours later] The build succeeded :grinning: I’ve posted a link in the Unofficial Builds category

I’m experimenting with building without Docker using information received from @itsclarence . Still working with an Ovh remote server, thi time running ubuntu 20.04.

I have installed all the build tools, done the repo sync and setup the environment

breakfast lilac gives the output

    [W][2020-11-15T18:01:12+0000][69057] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    [W][2020-11-15T18:01:12+0000][69057] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files
    Trying dependencies-only mode on a non-existing device tree?
    [W][2020-11-15T18:01:13+0000][69142] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    [W][2020-11-15T18:01:13+0000][69142] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files

    ============================================
    PLATFORM_VERSION_CODENAME=REL
    PLATFORM_VERSION=10
    LINEAGE_VERSION=0.13-q-20201115-UNOFFICIAL-lilac
    TARGET_PRODUCT=lineage_lilac
    TARGET_BUILD_VARIANT=userdebug
    TARGET_BUILD_TYPE=release
    TARGET_ARCH=arm64
    TARGET_ARCH_VARIANT=armv8-a
    TARGET_CPU_VARIANT=generic
    TARGET_2ND_ARCH=arm
    TARGET_2ND_ARCH_VARIANT=armv8-a
    TARGET_2ND_CPU_VARIANT=generic
    HOST_ARCH=x86_64
    HOST_2ND_ARCH=x86
    HOST_OS=linux
    HOST_OS_EXTRA=Linux-5.4.0-48-generic-x86_64-Ubuntu-20.04.1-LTS
    HOST_CROSS_OS=windows
    HOST_CROSS_ARCH=x86
    HOST_CROSS_2ND_ARCH=x86_64
    HOST_BUILD_TYPE=release
    BUILD_ID=QQ3A.200805.001
    OUT_DIR=out
    PRODUCT_SOONG_NAMESPACES=vendor/sony/lilac hardware/qcom-caf/msm8998
    ============================================

which looks plausible.
However brunch lilac gives

    [W][2020-11-15T18:10:54+0000][69566] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    [W][2020-11-15T18:10:54+0000][69566] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files
    [W][2020-11-15T18:10:54+0000][69570] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    [W][2020-11-15T18:10:54+0000][69570] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files
    [100% 1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
    FAILED: out/soong/build.ninja
    out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Android.bp
    error: vendor/sony/lilac/Android.bp:195:1: module "qcrilmsgtunnel" variant "android_common": module source path "vendor/sony/lilac/proprietary/product/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk" does not exist
    error: vendor/sony/lilac/Android.bp:22:1: module "CameraAddonPermission-release" variant "android_common": module source path "vendor/sony/lilac/proprietary/app/CameraAddonPermission-release/CameraAddonPermission-release.apk" does not exist
    error: vendor/sony/lilac/Android.bp:231:1: module "qcrilhook" variant "android_common": module source path "vendor/sony/lilac/proprietary/product/framework/qcrilhook.jar" does not exist
    error: vendor/sony/lilac/Android.bp:62:1: module "ArtFilterCamera-xhdpi-release" variant "android_common": module source path "vendor/sony/lilac/proprietary/priv-app/ArtFilterCamera-xhdpi-release/ArtFilterCamera-xhdpi-release.apk" does not exist
    FAILED: [W][2020-11-15T18:10:54+0000][69590] void cmdline::logParams(nsjconf_t *)():250 Process will be UID/EUID=0 in the global user namespace, and will have user root-level access to files
    [W][2020-11-15T18:10:54+0000][69590] void cmdline::logParams(nsjconf_t *)():260 Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files
    18:11:23 soong bootstrap failed with: exit status 1

so clearly something is wrong :frowning:

My roomservice.xml contains

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

    <!-- SONY -->
    <project name="whatawurst/android_kernel_sony_msm8998" path="kernel/sony/msm8998" remote="github" revision="lineage-17.1" />
    <project name="whatawurst/android_device_sony_yoshino-common" path="device/sony/yoshino-common" remote="github" revision="lineage-17.1" />
    <project name="whatawurst/android_device_sony_lilac" path="device/sony/lilac" remote="github" revision="lineage-17.1" />

    <!-- Pinned blobs for lilac -->
    <project name="whatawurst/android_vendor_sony_lilac" path="vendor/sony/lilac" remote="github" revision="lineage-17.1" />

</manifest>

I’m going to stop now (and power down the remote server). But I would be grateful for any ideas where to start looking when I decide to have another go

Check your /lilac/proprietary/ folder. Seems that not all sources are available.