Fetch errors when building using the docker method

Hello, I’m new to building /e/OS, so issue is probably an obvious mistake on my part.

When trying to build the rom for a Google Pixel 6a using the following command,

sudo docker run -v "/srv/e/src:/srv/src" -v "/srv/e/zips:/srv/zips" -v "/srv/e/logs:/srv/logs" -v "/srv/e/ccache:/srv/ccache" -e "BRANCH_NAME=v1-t" -e "DEVICE_LIST=bluejay" -e "OTA_URL=<ota-server-url>" -e "REPO=https://gitlab.e.foundation/e/os/android.git" registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

the build process eventually fails, generating the following log:

>> [Mon May 13 16:18:46 UTC 2024] (Re)initializing branch repository
repo: reusing existing repo client checkout in /srv/src/T

repo has been initialized in /srv/src/T
>> [Mon May 13 16:18:49 UTC 2024] Syncing branch repository
error: Cannot fetch LineageOS/android_bionic from https://github.com/LineageOS/android_bionic
error: Cannot fetch LineageOS/android_system_core from https://github.com/LineageOS/android_system_core
error: Cannot fetch e/os/android_frameworks_opt_vcard from https://gitlab.e.foundation/e/os/android_frameworks_opt_vcard
error: Cannot fetch kernel/devices/google/tangorpro from https://android.googlesource.com/kernel/devices/google/tangorpro
error: Cannot fetch platform/external/marisa-trie from https://android.googlesource.com/platform/external/marisa-trie
error: Cannot fetch platform/external/iptables from https://android.googlesource.com/platform/external/iptables
error: Cannot fetch platform/external/modp_b64 from https://android.googlesource.com/platform/external/modp_b64
error: Cannot fetch platform/external/mdnsresponder from https://android.googlesource.com/platform/external/mdnsresponder
error: Cannot fetch platform/external/squashfs-tools from https://android.googlesource.com/platform/external/squashfs-tools
error: Cannot fetch kernel/google-modules/touch/sec_touch from https://android.googlesource.com/kernel/google-modules/touch/sec_touch
error: Cannot fetch LineageOS/android_bionic from https://github.com/LineageOS/android_bionic
error: Cannot fetch kernel/google-modules/touch/sec_touch from https://android.googlesource.com/kernel/google-modules/touch/sec_touch
error: Cannot fetch platform/external/modp_b64 from https://android.googlesource.com/platform/external/modp_b64
error: Cannot fetch LineageOS/android_system_core from https://github.com/LineageOS/android_system_core
error: Cannot fetch platform/external/iptables from https://android.googlesource.com/platform/external/iptables
error: Cannot fetch platform/external/squashfs-tools from https://android.googlesource.com/platform/external/squashfs-tools
error: Cannot fetch e/os/android_frameworks_opt_vcard from https://gitlab.e.foundation/e/os/android_frameworks_opt_vcard
error: Cannot fetch platform/external/marisa-trie from https://android.googlesource.com/platform/external/marisa-trie
error: Cannot fetch kernel/devices/google/tangorpro from https://android.googlesource.com/kernel/devices/google/tangorpro
error: Cannot fetch platform/external/mdnsresponder from https://android.googlesource.com/platform/external/mdnsresponder
error: Cannot checkout LineageOS/android_bionic: ManifestInvalidRevisionError: revision refs/heads/lineage-20.0 in LineageOS/android_bionic not found
error: in `sync -c -j8 --force-sync`: revision refs/heads/lineage-20.0 in LineageOS/android_bionic not found

Repeated build processes generate the same log.

Anyone have an idea what I’m doing wrong?

Hi,

Looks like a network error from your Docker container, to Internet.
Could you please describe precisely your dev host, also try running the command without sudo (that’s to say: logged in as root)?

Hey,

dev host is a fedora system, booted from USB Stick on a laptop to save disk space. The OS uses btrfs as its filesystem, while the drive I’ve mounted to /srv is formatted as ext4.
The whole thing is running through a VPN connection, so obviously networking isn’t the smoothest.
What I found strange about network errors is that I’d expect to get different errors each time, not exactly the same log each time.
I’m not logged in as root.

Not sure about Docker and VPNs. Sorry no more free time here, Internet may have answers!

Heh, thanks nonetheless!

I think I’m having the same issue.
I know it must be a docker issue in some way and not something in my computer’s network because I can ‘git clone’ the same repo just fine.
My setup is almost the same, I’m also running docker on a Fedora 40 Workstation machine with a btrfs file system and my /srv on an xfs filesystem.

Have you gotten around this? I’m willing to provide any information (logs, manifests, device trees)
(I’ve searched the internet for solutions to no avail)

edit: my user is part of the docker group, so I’m able to run docker without sudo.

Uncertain of this as I don’t use docker as it is so difficult to debug! I performed this and sure enough could run the docker demo without root, but I am not sure you can build e without root or extra special measures. I did have masses of fail logs when I experimented without root, much less with root even a few successes!

Without use of docker the repo command itself would suggest something like
run

 repo sync -c -j 1 --fail-fast  # to fail at the first error

The -j flag sets the number of jobs run at once, and is set by docker to run at full nproc I always use a maximum of nproc -1 (preset by vendor-e more info here [HOWTO] build /e/ the (full) classic way (no docker, no scripts, just 'make'). Slight speculation on my part, but this might account for what seems quite a random list of fails that maybe are just being repeated as docker does not ever “slow down”.

The instructions do say they are based on Ubuntu and I found docker to work in Debian, but Fedora is known for being quite strictly “open source” so might be less suitable for Android cross platform stuff, idk.

1 Like