Building /e/ OS with script on debian

Hi all,

I’m trying to build /e/ OS for android Q 10 and htc one m8 device.

My computer work on debian bookworm.

My building script is the following.

https://debian-facile.org/paste-34D92C475C

And finally after launch my script, building script failed at 23% ! Why ?


  HOSTCC  scripts/dtc/dtc.o
  WRAP    arch/arm/include/generated/asm/sizes.h
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/dtc/fstree.o
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/srcpos.o
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/util.o
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.cclang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
:627:32: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((node->parent->addr_cells == -1))
             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.c:627:32: note: remove extraneous parentheses around the comparison to silence this warning
        if ((node->parent->addr_cells == -1))
            ~                         ^    ~
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.c:627:32: note: use '=' to turn this equality comparison into an assignment
        if ((node->parent->addr_cells == -1))
                                      ^~
                                      =
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.c:631:32: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
        if ((node->parent->size_cells == -1))
             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.c:631:32: note: remove extraneous parentheses around the comparison to silence this warning
        if ((node->parent->size_cells == -1))
            ~                         ^    ~
/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/dtc/checks.c:631:32: note: use '=' to turn this equality comparison into an assignment
        if ((node->parent->size_cells == -1))
                                      ^~
                                      =
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
2 warnings generated.
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
make[2]: *** [/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/scripts/Makefile.build:443: scripts/mod] Error 2
make[2]: *** Waiting for unfinished jobs....
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
clang-9: warning: argument unused during compilation: '-fuse-ld=lld' [-Wunused-command-line-argument]
  HOSTLD  scripts/dtc/dtc
make[1]: *** [/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974/Makefile:518: scripts] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:130: sub-make] Error 2
make: Leaving directory '/mnt/my_data/smartphone_builde_e_os/android_10_q/htc_one_m8_v1.13-q/src/Q/kernel/htc/msm8974'
[ 23% 17638/75573] //external/icu/icu4c/source/i18n:libicui18n clang++ numparse_affixes.cpp [linux_glibc]
[ 23% 17639/75573] //external/icu/icu4c/source/i18n:libicui18n clang++ numparse_decimal.cpp [linux_glibc]
[ 23% 17640/75573] //external/icu/icu4c/source/i18n:libicui18n clang++ numparse_currency.cpp [linux_glibc]
[ 23% 17641/75573] //external/icu/icu4c/source/i18n:libicui18n clang++ numparse_parsednumber.cpp [linux_glibc]
[ 23% 17642/75573] //external/icu/icu4c/source/i18n:libicui18n clang++ numparse_impl.cpp [linux_glibc]
ninja: build stopped: subcommand failed.
FAILED: [W][2023-08-02T18:17:27+0200][242308] 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][2023-08-02T18:17:27+0200][242308] 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:33:20 ninja failed with: exit status 1

#### failed to build some targets (17:46 (mm:ss)) ####

>> [mer. 02 août 2023 18:33:20 CEST] Failed build for m8
>> [mer. 02 août 2023 18:33:20 CEST] Finishing build for m8
>> [mer. 02 août 2023 18:33:20 CEST] Cleaning source dir for device m8
18:33:23 Entire build directory removed.

Thanks for your advices

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

I wonder if the void cmdline::logParams(nsjconf_t *) warnings from a parallel build just overflow into the final FAILED: message by ninja and hide the real exit error. They’re warnings and you can afford to ignore them. Just for fun I’d use a very short WORKDIRR path (why the second R, anarchy? :slight_smile: ).

Rerunning a build with -j1 to see it fail sequentially in the console output can help, but you’d need to abandon the buildscript to control how brunch / mka bacon is called.

Where can i give this argu -j1 on my script ?

Thanks a lot

use the offical aosp docs at https://source.android.com/docs/setup/start ( or https://wiki.lineageos.org/devices/m8/build - but it’s old, use the official one)

this is the gist

repo init https://gitlab.e.foundation/e/os/releases -b "v1-q" --git-lfs
repo sync -j4
repo forall -c 'git lfs pull'
git clone -b lineage-17.1 https://github.com/TheMuppets/proprietary_vendor_htc vendor/htc

breakfast is wrapping lunch that is handing your device codename down to build/tools/roomservice.py that gets the device config and kernel. There’s also a wrapper command for breakfast + m - brunch, but let’s do it step by step to get access to -j

source build/envsetup.sh
breakfast m8

finally

m -j1

and then I guess / I hope you get a better error

ah sorry, if you want to cling to scripts, edit the line 311 of build.sh (you do the rename in your own script at the end) at https://gitlab.e.foundation/e/os/docker-lineage-cicd/-/blob/29e64426/build-community.sh#L311

if brunch ${BRUNCH_DEVICE} &>> "$DEBUG_LOG"; then

to

if breakfast ${BRUNCH_DEVICE} &>> "$DEBUG_LOG" && m -j1 &>> "$DEBUG_LOG"; then

as said, I’d hope this will give you a better explanation on the build error. It will be slower to build, because it’s running on one core. You might build first with all your cores, reach the error, then rebuild with -j1 to instantly reach the error through a filled build cache

This topic was automatically closed after 90 days. New replies are no longer allowed.