Build issues using the "docker method" for unofficial Pixel 2 walleye

Hi all,

I was hoping I could get some guidance here as I have been struggling building for Pixel 2 walleye using the “docker procedure”. Something is telling me that it may have to do with this phone not being officially supported but I am not sure.

Having followed the How to Build the /e/ ROM? guide I set the docker variables, took a nap for the sources to download and ended up with an error that I am unable to figure out. Attached below is the output of my failed docker command and the final part from my build log. Would anyone care to assist?

Docker output:

$ sudo docker run \
	-v "/run/media/prokel/9cdd7881-1a66-48b3-b598-f71137d12da4/E/src:/srv/src" \
	-v "/run/media/prokel/9cdd7881-1a66-48b3-b598-f71137d12da4/E/zips:/srv/zips" \
	-v "/run/media/prokel/9cdd7881-1a66-48b3-b598-f71137d12da4/E/logs:/srv/logs" \
	-v "/run/media/prokel/9cdd7881-1a66-48b3-b598-f71137d12da4/E/ccache:/srv/ccache" \
	-e "BRANCH_NAME=v0.14.1-q" \
	-e "DEVICE_LIST=walleye" \
	-e "OTA_URL=<ota-server-url>" \
	-e "REPO=https://gitlab.e.foundation/e/os/releases.git" \
	registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community
	[sudo] password for prokel: 
	Set cache size limit to 50.0 GB
	>> [Fri Feb 12 20:00:20 UTC 2021] Branch:  v0.14.1-q
	>> [Fri Feb 12 20:00:20 UTC 2021] Devices: walleye,
	>> [Fri Feb 12 20:00:42 UTC 2021] (Re)initializing branch repository
	  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
	                                 Dload  Upload   Total   Spent    Left  Speed
	100 32963    0 32963    0     0   9192      0 --:--:--  0:00:03 --:--:--  9189
	[{"name":"v0.14.2-q","message":"","target":"8e6eefd1a9141e2b5f959c56640163eceaf4fe0e","commit":{"id":"8e6eefd1a9141e2b5f959c56640163eceaf4fe0e","short_id":"8e6eefd1","created_at":"2<STRIPPED MASSIVE JSON>
	android_packages_apps_Email%2522+after:%25222020-09-26+02:20:00+%252B0200%2522+before:%25222020-10-24+02:21:00+%252B0200%2522) |\n\n### Device specific"},"protected":true}]
	Branch name v0.14.1-q is a tag on e/os/releases, prefix with refs/tags/ for 'repo init'
	>> [Fri Feb 12 20:00:54 UTC 2021] Copying '/srv/local_manifests/*.xml' to '.repo/local_manifests/'
	>> [Fri Feb 12 20:01:01 UTC 2021] Syncing branch repository
	>> [Fri Feb 12 20:07:23 UTC 2021] Setting "UNOFFICIAL" as release type
	>> [Fri Feb 12 20:07:23 UTC 2021] Adding OTA URL overlay (for custom URL <ota-server-url>)
	>> [Fri Feb 12 20:07:23 UTC 2021] Preparing build environment
	>> [Fri Feb 12 20:07:31 UTC 2021] Starting build for walleye, v0.14.1-q branch
	ANDROID_JACK_VM_ARGS=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G
	Switch to Python2
	>> [Fri Feb 12 20:19:15 UTC 2021] Failed build for walleye
	>> [Fri Feb 12 20:19:15 UTC 2021] Finishing build for walleye
	>> [Fri Feb 12 20:19:15 UTC 2021] Cleaning source dir for device walleye
	Switch back to Python3
	$ 

Tail of build log file:

...
[ 97% 136/139] test android/soong/sysprop
[ 98% 137/139] test android/soong/apex
[ 99% 138/139] cp out/soong/.bootstrap/bin/soong_build
[100% 139/139] 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/oneplus/avicii/Android.bp:78:1: module "vendor.qti.hardware.capabilityconfigstore@1.0" variant "android_arm64_armv8-a_cortex-a73_vendor_shared": module source path "vendor/oneplus/avicii/proprietary/vendor/lib64/vendor.qti.hardware.capabilityconfigstore@1.0.so" does not exist
error: vendor/oneplus/avicii/Android.bp:59:1: module "libthermalclient" variant "android_arm64_armv8-a_cortex-a73_vendor_shared": module source path "vendor/oneplus/avicii/proprietary/vendor/lib64/libthermalclient.so" does not exist
error: vendor/oneplus/avicii/Android.bp:40:1: module "libplatformconfig" variant "android_arm64_armv8-a_cortex-a73_vendor_shared": module source path "vendor/oneplus/avicii/proprietary/vendor/lib64/libplatformconfig.so" does not exist
20:19:14 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.

#### failed to build some targets (03:43 (mm:ss)) ####

I am confused why the missing module “libplatformconfig” is searched for in the vendor/oneplus directory when building for google/walleye? Directory google/walleye does exist and is ~498 MB in size but does not contain this shared object. Sorry, I’m not very compile-savvy.

Thank you for any hints! D.

Hi,

Walleye is supported with Pie and Q by LineageOS, that’s a good start :slight_smile:

I’ll try :

  1. to remove the whole “OTA_URL” line (please see https://gitlab.e.foundation/e/backlog/-/issues/2519)
  2. to put the docker command in a script, and run it in root shell, not sudo (sudo su -, then script)

PS : there is a v0.14.2-q available :wink:

1 Like

Hi, thanks for your reply and tips!

I removed the OTA_URL variable, put the command in a script, did a sudo su - and executed – I got a similar fatal error. I’m pasting some terminal and log output below, should anyone care to take a look? Sorry, I’m not rather unexperienced with compiling and probably cannot read it properly, in order to catch the root cause :confused:

Terminal, executing the docker script:

# ./build-e-walleye-142q.sh 
Set cache size limit to 50.0 GB
>> [Fri Feb 19 08:22:04 UTC 2021] Branch:  v0.14.2-q
>> [Fri Feb 19 08:22:04 UTC 2021] Devices: walleye,
>> [Fri Feb 19 08:22:04 UTC 2021] (Re)initializing branch repository
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 32963    0 32963    0     0  89330      0 --:--:-- --:--:-- --:--:-- 89089
[{"name":"v0.14.2-q","message":"","target":"8e6eefd1a9141e2b5f959c56640163eceaf4fe0e"
...<SNIP>...
evice specific"},"protected":true}]
Branch name v0.14.2-q is a tag on e/os/releases, prefix with refs/tags/ for 'repo init'
>> [Fri Feb 19 08:22:05 UTC 2021] Copying '/srv/local_manifests/*.xml' to '.repo/local_manifests/'
>> [Fri Feb 19 08:22:06 UTC 2021] Syncing branch repository
>> [Fri Feb 19 08:22:40 UTC 2021] Setting "UNOFFICIAL" as release type
>> [Fri Feb 19 08:22:40 UTC 2021] Adding OTA URL overlay (for custom URL )
>> [Fri Feb 19 08:22:40 UTC 2021] Preparing build environment
>> [Fri Feb 19 08:22:40 UTC 2021] Starting build for walleye, v0.14.2-q branch
ANDROID_JACK_VM_ARGS=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G
Switch to Python2
>> [Fri Feb 19 08:23:24 UTC 2021] Failed build for walleye
>> [Fri Feb 19 08:23:24 UTC 2021] Finishing build for walleye
>> [Fri Feb 19 08:23:24 UTC 2021] Cleaning source dir for device walleye
Switch back to Python3
#  

Part of repo-20210219.log:

>> [Fri Feb 19 08:22:04 UTC 2021] (Re)initializing branch repository

... A new version of repo (2.11) is available.
... You should upgrade soon:
    cp /srv/src/Q/.repo/repo/repo /usr/local/bin/repo


repo has been initialized in /srv/src/Q
>> [Fri Feb 19 08:22:06 UTC 2021] Syncing branch repository

... A new version of repo (2.11) is available.
... You should upgrade soon:
    cp /srv/src/Q/.repo/repo/repo /usr/local/bin/repo

hardware/qcom-caf/apq8084/display: Shared project LineageOS/android_hardware_qcom_display found, disabling pruning.
hardware/qcom-caf/msm8916/display: Shared project LineageOS/android_hardware_qcom_display found, disabling pruning.
...<SNIP>...
hardware/qcom-caf/sm8250/audio: Shared project e/os/android_hardware_qcom_audio found, disabling pruning.
hardware/qcom/audio/default: Shared project e/os/android_hardware_qcom_audio found, disabling pruning.
Traceback (most recent call last):
  File "/srv/src/Q/.repo/repo/main.py", line 627, in <module>
    _Main(sys.argv[1:])
  File "/srv/src/Q/.repo/repo/main.py", line 601, in _Main
    result = run()
  File "/srv/src/Q/.repo/repo/main.py", line 594, in <lambda>
    run = lambda: repo._Run(name, gopts, argv) or 0
  File "/srv/src/Q/.repo/repo/main.py", line 260, in _Run
    result = cmd.Execute(copts, cargs)
  File "/srv/src/Q/.repo/repo/subcmds/sync.py", line 956, in Execute
    if self.UpdateProjectList(opt):
  File "/srv/src/Q/.repo/repo/subcmds/sync.py", line 653, in UpdateProjectList
    if not project.DeleteWorktree(
  File "/srv/src/Q/.repo/repo/project.py", line 1447, in DeleteWorktree
    if self.IsDirty():
  File "/srv/src/Q/.repo/repo/project.py", line 593, in IsDirty
    self.work_git.update_index('-q',
  File "/srv/src/Q/.repo/repo/project.py", line 3033, in runner
    raise GitError('%s %s: %s' %
error.GitError: kernel/google/wahoo update-index: fatal: .git/index: index file smaller than expected

Part of eelo-0.14-20210219-UNOFFICIAL-walleye.log:

>> [Fri Feb 19 08:22:40 UTC 2021] Starting build for walleye, v0.14.2-q branch
08:22:44 Build sandboxing disabled due to nsjail error.
Trying dependencies-only mode on a non-existing device tree?
08:22:45 Build sandboxing disabled due to nsjail error.

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
LINEAGE_VERSION=0.14-q-20210219-UNOFFICIAL-walleye
TARGET_PRODUCT=lineage_walleye
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a73
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a73
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.9.16-1-MANJARO-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=device/google/wahoo vendor/google/camera hardware/google/pixel vendor/google/walleye
WITH_SU=false
============================================
08:22:46 Build sandboxing disabled due to nsjail error.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
LINEAGE_VERSION=0.14-q-20210219-UNOFFICIAL-walleye
TARGET_PRODUCT=lineage_walleye
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a73
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a73
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.9.16-1-MANJARO-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=device/google/wahoo vendor/google/camera hardware/google/pixel vendor/google/walleye
WITH_SU=false
============================================
[100% 1/1] out/soong/.minibootstrap/minibp out/soong/.bootstrap/build.ninja
[  1% 2/139] compile out/soong/.bootstrap/loadplugins/obj/loadplugins.a
[  2% 3/139] compile out/soong/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a
...<SNIP>...
[ 97% 136/139] test android/soong/sysprop
[ 98% 137/139] test android/soong/apex
[ 99% 138/139] cp out/soong/.bootstrap/bin/soong_build
[100% 139/139] 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: external/iptables/iptables/Android.bp:33:1: module "xtables.lock" variant "android_arm64_armv8-a_cortex-a73_core": module source path "external/iptables/iptables/xtables.lock" does not exist
ninja: build stopped: subcommand failed.
08:23:24 soong bootstrap failed with: exit status 1

#### failed to build some targets (39 seconds) ####

>> [Fri Feb 19 08:23:24 UTC 2021] Failed build for walleye
>> [Fri Feb 19 08:23:24 UTC 2021] Finishing build for walleye
>> [Fri Feb 19 08:23:24 UTC 2021] Cleaning source dir for device walleye
08:23:25 Entire build directory removed.

#### build completed successfully (1 seconds) ####

Would you be able to assist here? Should I possibly do some cleanup first?

Thank you!

Hi,
Just start the same build on my server, I’ll keep you posted.

I got some not-so-bad news : build is failing for me too, with similar messages.

From https://forum.xda-developers.com/t/rom-official-lineage-os-17-1-for-pixel-2-2-xl.3984909/ and some research in Gitlab I added a custom roomservice.xml manifest file :

 <manifest>
<project name="LineageOS/android_device_google_walleye" path="device/google/walleye" remote="github"/>
<project name="LineageOS/android_device_google_muskie" path="device/google/muskie" remote="github"/>
<project name="LineageOS/android_kernel_google_wahoo" path="kernel/google/wahoo" remote="github"/>
<project name="TheMuppets/proprietary_vendor_google" path="vendor/google" remote="github"/>
</manifest>

The “vendor/google” show no error, but conflicts with the /e/ GitLab :frowning:
I removed this line, then I got the same messages as yours.

So I’m starting to think that the /e/ repository is kinda corrupt, or we are missing something …

You may want to open a case, so a /e/ dev could help.

By the way, my building script including custom manifest :

#!/bin/bash
docker pull registry.gitlab.e.foundation/e/os/docker-lineage-cicd:community
docker run \
-v "/srv/src:/srv/src" \
-v "/srv/zips:/srv/zips" \
-v "/srv/logs:/srv/logs" \
-v "/srv/ccache:/srv/ccache" \
-v "/srv/local_manifests:/srv/local_manifests" \
-e "BRANCH_NAME=v0.14.2-q" \
-e "DEVICE_LIST=walleye" \
-e "MINIMAL_APPS=true" \
-e "REPO=https://gitlab.e.foundation/e/os/releases.git" \
-e "CCACHE_SIZE=30G" \
-e "ANDROID_JACK_VM_ARGS=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx20G" \
registry.gitlab.e.foundation/e/os/docker-lineage-cicd:community

Hi @smu44,

I really appreciate the time you put into double checking the build steps – I transferred the scenario to /e/ GitLab Issue #2614, feel free to add/correct any details, if needed.

Thanks!

You’re welcome :slight_smile:

I’ll launch a new build to get clean logs, and ass them to the issue.
Meanwhile, you may find this thread interesting : Unable to fully sync the tree

1 Like