Iodé 7.3 build for Google tablet (tangorpro) fails

I’m trying to build iodé 7.3 (based on 7-staging) for my Google Tablet (tangorpro) but it fails. Currently I’ve 7.2 running as user build on my tablet.

Thanks to @petefoth and @vince31fr we could manage some issues syncing the repo. Unfortunately it stops at a later stage:

FAILED: out/soong/build.lineage_tangorpro.ninja
error: packages/modules/Telephony/apex/Android.bp:31:1: "com.android.telephonycore" depends on undefined module "com.android.telephonycore.certificate.override".
Or did you mean ["com.android.telephony.certificate.override" "libcom.android.media.swcodec.apexcodecs-header"]?
07:49:49 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.

Maybe the reorganisation of the repo is the issue that there are some missing packages…

2 Likes

The HEAD commit of the repo packages/modules/Telephony should be 6175c04a2cb3254455c58c9c653dc36a8a7e6dac.

In that revision, Android.bp does not contain any reference to a module called com.android.telephonycore.certificate.override.
What is the first commit of packages/modules/Telephony in your sources ?

After a fresh checkout of v7-staging branch, the only reference to com.android.telephonycore.certificate.override is this one, which does not play a role during the build:

./lineage/scripts/lineage-priv-template/keys.mk:61:

So, there should be a problem in your sources.

I forget to mention that I made a clean checkout yesterday. I let it run on my old one and the new one.

Nevertheless the keys.mk was a good hint. Copied the files from the template folder to the proper location and let the key.sh run. It created new certificates. With that the error at this point is gone and the build starts. Unfortunately it stops again at

FAILED: 
build/make/core/base_rules.mk:513: error: overriding commands for target `out/target/product/tangorpro/system_ext/etc/iode-snort/default-apps', previously defined at build/make/core/base_rules.mk:513

Ok, this comes from new wip changes that were pushed when fixing the sources the first time. That should be good now.

Btw, changing keys may lead to some dramatic issues… You should refer to this page : Signing Builds | LineageOS Wiki

1 Like

I’ll give it a new try. Otherwise I start from scratch pulling the repo..
The existing keys haven’t been touched. They should be fine.

Just noting that I will be starting my v7.3 unofficial builds for Pixels including tangorpro (and now a few Motos) later today. I’ll let you know how they go.

I just downloaded the sources again and started from scratch. The result is fine:
build completed successfully (02:48:21 (hh:mm:ss))

I haven’t installed it yet but I’m confident that it work :slightly_smiling_face:
Thanks a lot for your help…

So you did not need to do what you described in your earlier post for the build to succeed?

The first error was related to missing certificates. This could be fixed by creating them using the keys.sh tool in the lineage-priv folder. The error was:

FAILED: out/soong/build.lineage_tangorpro.ninja
error: packages/modules/Telephony/apex/Android.bp:31:1: "com.android.telephonycore" depends on undefined module "com.android.telephonycore.certificate.override".
Or did you mean \["com.android.telephony.certificate.override" "libcom.android.media.swcodec.apexcodecs-header"\]?
07:49:49 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.

The second error was related to earlier run attempts where some files has been mangled (I guess). This could be fixed by starting from scratch, meaning delete the sources and let them download again by the container. Oft course, the lineage-priv folder with the keys needs to be copied in place before starting the build. With that it worked fine. The related error was

FAILED: 
build/make/core/base_rules.mk:513: error: overriding commands for target `out/target/product/tangorpro/system_ext/etc/iode-snort/default-apps', previously defined at build/make/core/base_rules.mk:513 

So, if I understand you correctly, the latest v7 sources *do not build ‘out of the box’? It is necessary to create new certificates borfore the bold can succeed?

That’s a shame: up to now the docker image handled key / certificate creation ‘automatically’. Unfortunate when source updates break stuff.

Thinking about it though, latest LineageOS 23.2 sources are building fine so, if this is a problem, it’s specific to iodéOS.

EDIT: Or us it because you are making user builds, and this step is not needed for userdebug builds? I’m confused

Hi @rik Are the 7.3 bulds going OK for you? Did you need to do stuff with new certificates / keys?

I have been building v7.3 all night and don’t see any errors. In fact those are done now I am building v6-staging (v6.13) for the older devices. I didn’t make any changes to the build script or run any process to generate extra keys etc.

I didn’t yet test install v7.3 but again the builds seem to be completing fine.

Thanks

So, if I understand you correctly, the latest v7 sources *do not build ‘out of the box’? It is necessary to create new certificates borfore the bold can succeed?

Yes, I needed to create the certificates on my own. I’m not quite sure if the certificates created by the container should be used within the lineage-priv folder. When I remember well it does not create this folder on its own. I think this are different ones. Maybe it is related to the “user” build and/or the preparation for the locked bootloader later on.

Installation went fine even the updater app behaved a little bit strange. When the screen went of the progress is lost and it just showed the version installed.

@rik can you do me a favor and check if Bluetooth is working on your device (if you have a Google Tablet). On my one Bluetooth is not working anymore.

adb logcat - Debug messages

03-11 19:21:49.734 1394 1537 I ActivityManager: Start proc 5398:com.android.bluetooth/1002 for service {com.android.bluetooth/com.android.bluetooth.btservice.AdapterService}
03-11 19:21:49.773 5398 5398 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 5398 (main), pid 5398 (main)
03-11 19:21:49.996 5405 5405 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-11 19:21:49.996 5405 5405 F DEBUG : LineageOS Version: ‘7.3-20260310-UNOFFICIAL-tangorpro’
03-11 19:21:49.996 5405 5405 F DEBUG : Build fingerprint: ‘google/tangorpro/tangorpro:16/BP4A.260205.001/14624666:user/release-keys’
03-11 19:21:49.996 5405 5405 F DEBUG : Kernel Release: ‘6.1.145-android14-11-gc1de4747ac59-ab14219743’
03-11 19:21:49.996 5405 5405 F DEBUG : Revision: ‘MP1.0’
03-11 19:21:49.996 5405 5405 F DEBUG : ABI: ‘arm64’
03-11 19:21:49.996 5405 5405 F DEBUG : Timestamp: 2026-03-11 19:21:49.840484418+0100
03-11 19:21:49.996 5405 5405 F DEBUG : Process uptime: 0s
03-11 19:21:49.996 5405 5405 F DEBUG : Executable: /system/bin/app_process64
03-11 19:21:49.996 5405 5405 F DEBUG : Cmdline: zygote64
03-11 19:21:49.996 5405 5405 F DEBUG : pid: 5398, tid: 5398, name: main >>> zygote64 <<<
03-11 19:21:49.996 5405 5405 F DEBUG : uid: 1002
03-11 19:21:49.996 5405 5405 F DEBUG : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
03-11 19:21:49.996 5405 5405 F DEBUG : esr: 0000000092000006 (Data Abort Exception 0x24)
03-11 19:21:49.996 5405 5405 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
03-11 19:21:49.996 5405 5405 F DEBUG : Abort message: ‘JNI FatalError called: (com.android.bluetooth) frameworks/base/core/jni/com_android_internal_os_Zygote.cpp:2152: selinux_android_setcontext(1002, 0, “default:privapp:targetSdkVersion=36:partition=system:complete”, “com.android.bluetooth”) failed’
03-11 19:21:49.996 5405 5405 F DEBUG : x0 0000000000000000 x1 0000000000001516 x2 0000000000000006 x3 0000007fc97cff80
03-11 19:21:49.996 5405 5405 F DEBUG : x4 666d6873716e6160 x5 666d6873716e6160 x6 666d6873716e6160 x7 7f7f7f7f7f7f7f7f
03-11 19:21:49.996 5405 5405 F DEBUG : x8 00000000000000f0 x9 e29124370f458702 x10 0000000000000001 x11 00000073a2954f90
03-11 19:21:49.996 5405 5405 F DEBUG : x12 0000000069b1b2bd x13 000000007fffffff x14 00000000000054a6 x15 000000005fff20a9
03-11 19:21:49.996 5405 5405 F DEBUG : x16 00000073a29bd120 x17 00000073a29a4dc0 x18 00000073bc5b4000 x19 0000000000001516
03-11 19:21:49.996 5405 5405 F DEBUG : x20 0000000000001516 x21 00000000ffffffff x22 00000070ebd60000 x23 00000070ebd61070
03-11 19:21:49.996 5405 5405 F DEBUG : x24 00000073bc2b3640 x25 00000000000003ea x26 0000007fc97d8550 x27 0000001800803400
03-11 19:21:49.996 5405 5405 F DEBUG : x28 0000007fc97d9844 x29 0000007fc97d0000
03-11 19:21:49.996 5405 5405 F DEBUG : lr 00000073a293d4e8 sp 0000007fc97cff80 pc 00000073a293d50c pst 0000000000001000
03-11 19:21:49.996 5405 5405 F DEBUG : esr 0000000092000006
03-11 19:21:49.996 5405 5405 F DEBUG : 23 total frames
03-11 19:21:49.996 5405 5405 F DEBUG : backtrace:
03-11 19:21:49.996 5405 5405 F DEBUG : #00 pc 000000000007550c /apex/com.android.runtime/lib64/bionic/libc.so (abort+156) (BuildId: b6a814fe4bee3292db1b51622de6e23f)
03-11 19:21:49.996 5405 5405 F DEBUG : #01 pc 0000000000922024 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1012) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #02 pc 0000000000014db0 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80) (BuildId: 01f56bead4468a24561430f970f06de2)
03-11 19:21:49.996 5405 5405 F DEBUG : #03 pc 0000000000014250 /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+544) (BuildId: 01f56bead4468a24561430f970f06de2)
03-11 19:21:49.996 5405 5405 F DEBUG : #04 pc 0000000000877738 /apex/com.android.art/lib64/libart.so (art::JNI::FatalError(_JNIEnv*, char const*)+216) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #05 pc 000000000025b484 /system/lib64/libandroid_runtime.so (android::zygote::ZygoteFailure(_JNIEnv*, char const*, _jstring*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&)+196) (BuildId: 0427484e379a21ad1b4c7b4d1a93abed)
03-11 19:21:49.996 5405 5405 F DEBUG : #06 pc 0000000000267a5c /system/lib64/libandroid_runtime.so ((anonymous namespace)::SpecializeCommon(_JNIEnv*, unsigned int, unsigned int, _jintArray*, int, _jobjectArray*, long, long, long, int, _jstring*, _jstring*, bool, bool, _jstring*, _jstring*, bool, _jobjectArray*, _jobjectArray*, bool, bool, bool)+26204) (BuildId: 0427484e379a21ad1b4c7b4d1a93abed)
03-11 19:21:49.996 5405 5405 F DEBUG : #07 pc 000000000025fd00 /system/lib64/libandroid_runtime.so (android::com_android_internal_os_Zygote_nativeSpecializeAppProcess(_JNIEnv*, _jclass*, int, int, _jintArray*, int, _jobjectArray*, int, _jstring*, _jstring*, unsigned char, _jstring*, _jstring*, unsigned char, _jobjectArray*, _jobjectArray*, unsigned char, unsigned char, unsigned char)+320) (BuildId: 0427484e379a21ad1b4c7b4d1a93abed)
03-11 19:21:49.996 5405 5405 F DEBUG : #08 pc 000000000085ba0c /system/framework/arm64/boot-framework.oat (art_jni_trampoline+316) (BuildId: c8fed3b36ded979be85de26b128e62ce3fa93c32)
03-11 19:21:49.996 5405 5405 F DEBUG : #09 pc 00000000006808b8 /apex/com.android.art/lib64/libart.so (nterp_helper+2152) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #10 pc 0000000000315ef8 /system/framework/framework.jar (offset 0x2100000) (com.android.internal.os.Zygote.specializeAppProcess+0)
03-11 19:21:49.996 5405 5405 F DEBUG : #11 pc 0000000000680834 /apex/com.android.art/lib64/libart.so (nterp_helper+2020) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #12 pc 0000000000315894 /system/framework/framework.jar (offset 0x2100000) (com.android.internal.os.Zygote.childMain+676)
03-11 19:21:49.996 5405 5405 F DEBUG : #13 pc 00000000007e47d4 /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteConnection.processCommand+1588) (BuildId: c8fed3b36ded979be85de26b128e62ce3fa93c32)
03-11 19:21:49.996 5405 5405 F DEBUG : #14 pc 00000000007e62ec /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteServer.runSelectLoop+2076) (BuildId: c8fed3b36ded979be85de26b128e62ce3fa93c32)
03-11 19:21:49.996 5405 5405 F DEBUG : #15 pc 00000000007f6dd8 /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2888) (BuildId: c8fed3b36ded979be85de26b128e62ce3fa93c32)
03-11 19:21:49.996 5405 5405 F DEBUG : #16 pc 00000000002d5a60 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #17 pc 00000000002d4634 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+884) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #18 pc 00000000006263d8 /apex/com.android.art/lib64/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+168) (BuildId: 4cc6544f0ee910f79d9a0707b3532da0)
03-11 19:21:49.996 5405 5405 F DEBUG : #19 pc 000000000010bc28 /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, …)+104) (BuildId: 0427484e379a21ad1b4c7b4d1a93abed)
03-11 19:21:49.996 5405 5405 F DEBUG : #20 pc 000000000013528c /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vectorandroid::String8 const&, bool)+908) (BuildId: 0427484e379a21ad1b4c7b4d1a93abed)
03-11 19:21:49.996 5405 5405 F DEBUG : #21 pc 00000000000025dc /system/bin/app_process64 (main+1276) (BuildId: 9b476ac393aa32ec13d0d91f59cc26a3)
03-11 19:21:49.996 5405 5405 F DEBUG : #22 pc 0000000000068948 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120) (BuildId: b6a814fe4bee3292db1b51622de6e23f)

adb logcat - Stacktrace

03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: Cannot acquire BluetoothActivityEnergyInfo
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: java.util.concurrent.ExecutionException: java.lang.RuntimeException: error: 9
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:372)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2072)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.BluetoothPowerStatsCollector.collectBluetoothActivityInfo(BluetoothPowerStatsCollector.java:191)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.BluetoothPowerStatsCollector.collectStats(BluetoothPowerStatsCollector.java:155)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.PowerStatsCollector.collectAndDeliverStats(PowerStatsCollector.java:196)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.PowerStatsCollector.lambda$forceSchedule$1(PowerStatsCollector.java:185)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.PowerStatsCollector.$r8$lambda$S8t6eDCBuELjdSNvyveTMprEzE0(PowerStatsCollector.java:0)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.PowerStatsCollector$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.Handler.handleCallback(Handler.java:1070)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.Handler.dispatchMessage(Handler.java:125)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.Looper.dispatchMessage(Looper.java:333)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.Looper.loopOnce(Looper.java:263)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.Looper.loop(Looper.java:367)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.os.HandlerThread.run(HandlerThread.java:139)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: Caused by: java.lang.RuntimeException: error: 9
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.BluetoothPowerStatsCollector$1.onBluetoothActivityEnergyInfoError(BluetoothPowerStatsCollector.java:180)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.bluetooth.BluetoothAdapter.lambda$requestControllerActivityEnergyInfo$27(BluetoothAdapter.java:2513)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.bluetooth.BluetoothAdapter$$ExternalSyntheticLambda27.run(D8$$SyntheticClass:0)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.SystemServerInitThreadPool$$ExternalSyntheticLambda0.execute(R8$$SyntheticClass:0)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at android.bluetooth.BluetoothAdapter.requestControllerActivityEnergyInfo(BluetoothAdapter.java:2511)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.BatteryStatsImpl$BluetoothStatsRetrieverImpl.requestControllerActivityEnergyInfo(BatteryStatsImpl.java:471)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: at com.android.server.power.stats.BluetoothPowerStatsCollector.collectBluetoothActivityInfo(BluetoothPowerStatsCollector.java:169)
03-11 19:21:43.584 1394 1555 E BluetoothPowerStatsCollector: … 11 more

Hmm, the indicator for the fingerprint reader to unlock the screen is also at the wrong location :thinking:

Sorry I don’t own one. I mainly build them so I have the option to sell them from my personal business, https://openmobile.us/

There are some users of my builds though, you may be able to check with them on the unofficial pixel builds thread

I do have intention to look at bootloader relocking eventually… Vincent noted that it shouldn’t require user instead of userdebug builds? But honestly I haven’t tried any of it yet. Sorry I am yet to digest the info on iodé - signed build · Issue #786 · lineageos4microg/docker-lineage-cicd · GitHub that you have contributed or give any feedback there.

One more comment: I did get this feedback from a user about how to relock that I also need to make time to digest and possibly try, do you know of it?

I haven’t seen it yet. But I will also have a look and put it to the pieces I already got from other users. At some stage we’ll have enough to build it successfully.

1 Like

I solved this issue by recreating the certificates. I just forget to change the keys.sh script accordingly (the line with the certificate subject). After changing it to my subject and building iodé again it is now displaying it on the correct location.

I assume that it was an issue with the newly created certs as they were made for this components. But of course it could be that something has been fixed in the code meanwhile…