Build fails building APPs

Thanks for your quick responses Manoj.

Yes. Today’s built used community. In previous builds I had to change DEVICE_LIST to DEVICE, and remove OTA_URL line for the build to work for the build to work. This morning I had to change back to DEVICE_LIST.

At least I learned that when the last thing you see is a line saying
Set cache size limit to 50.0 GB
this means there is something wrong in your docker run... command line` :slight_smile:

Is there any way to track functional changes to the build tools (e.g. the docker image or the official docker run command) or get notifications when they happen? Is there a particular gitlab project I should be checking more often?

That’s another change :slight_smile: I used community this morning because using latest failed.

Thanks. I may have another go too, using the ‘official’ script.

Tried again and failed at the same place:
[ 89% 31034/34785] target R.java/Manifest.java: Settings (/srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/src/R.stamp)
Full details of the error output at https://pastebin.com/U31nL2Sz

I got the docker image with this command copy/pasted from the ‘How to build’ wiki
docker pull registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

My docker run command was copied from that page, and I made the following changes:

  • added condor,surnia to DEVICE_LIST
  • removed the OTA_URL line, as I don’t have any value to put in it
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-nougat" \
-e "DEVICE_LIST=condor,surnia" \
-e "REPO=https://gitlab.e.foundation/e/os/android.git" \
registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

The surnia build is still running, but I expect it to fail at the same point :frowning:

Time to take the weekend off I think :slight_smile: Thanks for your help

Hi. Is there any news on this, or on where I can track whether the latest Docker image is working or not?
Thanks

Unfortunately I was not able to check this last weekend. Maybe not this week as well as am busy with some development work which keeps my PC fully occupied for most of the day. Will try to find some time to check what the issue is.

You could try leaving the APPs out of the build, then just install whatever you needed later :+1:

Thanks. I’ll happily try that, but I don’t know how to go about it.

  1. Is there a file present in the Docker image that I can edit to remove APPS before I start the docker run command? If so which file (or files) is it?
  2. Do I have to wait until docker has completed the repo sync, stop the docker instance somehow, edit a file, then restart `docker?
  3. Or do I have to wait until the build fails, edit a file then restart the build or run docker run... again?

Edit: From what I hear on Telegram, it is not possible to exclude APPS from the Docker build. It seems the only way to build without APPS is to build without Docker, which is not going to be feasible for me :frowning:

I finally got the time to test the Docker image and build command and it worked perfectly :slight_smile:
Have added a few screenshots and the details of the steps here

Thanks. The thing that stands out for me is that you are building a Pie image, and I am trying and failing to build a Nougat image. I wonder is there is some difference, perhaps in the APPS source, between the two branches. I will have another attempt, probably tomorrow. If that fails I guess I will have to go down the ‘build without Docker’ path.

Thanks again for your efforts

This build is still failing

I followed these steps with the following results:

  1. Building the Pie ROM for a3xelte works as @Manoj describes
  2. Change the docker run command to this (to build Nougat ROMS for suzran and surnia devices
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-nougat" \
    -e "DEVICE_LIST=suzuran,surnia" \
    -e "REPO=https://gitlab.e.foundation/e/os/android.git" \
    registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community
  1. The suzuran build fails, exactly as described in my other post. The log file is available here
  2. The surnia build is still running, but I fully expect that it will fail too :slightly_frowning_face: [Edit] The surnia build failed too. The log file is here
    So it seems that the current Docker image does not work for building Nougat ROMs. I have asked in another post if anyone else has managed to build Nougat ROMs recently, but there have been no responses either positive or negative).
    Maybe time to raise an issue I think.

thta’s the error:
[ 88% 43827/49662] target R.java/Manifest.java: Settings (/srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/src/R.stamp)
FAILED: /bin/bash -c "(rm -rf /srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/src/R.stamp && mkdir -p /srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/src/ ) && (mkdir -p /srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/src ) && (mkdir -p /srv/src/NOUGAT/out/target/common/obj/APPS/Settings_intermediates/ ) && (/srv/src/NOUGAT/out/host/linux-x86/bin/aapt package --auto-add-overlay --auto-add-overlay -z --extra-packages

Which java jdk do you have installed ? Nougat builds are needing an different than pie builds.

Java

Different versions of LineageOS require different JDK (Java Development Kit) versions.

  • LineageOS 16.0: OpenJDK 1.9 (included by default)
  • LineageOS 14.1-15.1: OpenJDK 1.8 (install openjdk-8-jdk )
  • LineageOS 11.0-13.0: OpenJDK 1.7 (install openjdk-7-jdk )*

I have whatever JDK is in the Docker image.
And it looks like the error maybe happens earlier - see this reply from @andrelam

@andrelam found the problem

Blockquote
andrelam:netherlands:
I think the problem is the naming. Lineage uses this repo. You can see the build error: build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_suzuran". Stop. build/core/product_config.mk:249: *** Can not locate config makefile for product "cm_suzuran". Stop. build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_suzuran". Stop. The build system does not look for PRODUCT_NAME := full_suzuran . Don’t know why Lineage uses that naming.

Both the devices suzuran and surnia are not supported by Lineage OS . Which will make it difficult to build it using Docker or by following the official build document. It is better to use the non docker way to build such un-supported devices. we have some posts on build for un supported devices on this forum.

1 Like

are you the same guy as in telegram group asking ? If yes, I have given you a solution

Yes I am. I only recently realized that you are also @Guntram in telegram :slight_smile:

I know that these devices are not officially supported, but a couple of weeks ago I was able to build for suzuran. That is why I have been continuing to use Docker. Clearly something changed since my successful build, and I was hoping it would be relatively easy to change it back. Also my home computer is not powerful enough for ROM building so I have been using ‘throw-away’ compute instances from Vultr, and the Docker build path is better for that use case. But if it isn’t going to work, I’ll try it the other way.

Do you know if there are any officially supported devices which still use Nougat rather than Pie?
Eidt: OK I’ve found the list of supported devices, including some based on Nougat . I’ll have a try at building one of those.

Thank you and @Manoj for your help, here and in Telegram. I’ll try to stop bothering you now :slight_smile:

Indeed. I confirmed this by attempting to build nougat ROMs for sumire and condor. Both are supported devices, and both failed in the same way, at the same point.

Logs for these builds, are available here

The last successful official build for sumire was on May 15th e-0.9-n-2020051554230-dev-sumire.zip

As far as I have read the reason is wrong java jdk

If you know a location with the right file, fork it and put it in your roomservice.xml

This problem is now fixed. Thank you to all who helped.
Sadly the build failed right at the end, when trying to create the image because it was too big for the device (condor). I believe this is a known problem and I’ll see if I can find a way to solve ir work around it.
Thanks again

yes, and I hate this error :face_with_symbols_over_mouth:

So you can use this way. In most case the system.img is than small enough that the build will finish

Remark: You don’t need repo sync. You have all sources available.