[UNOFFICIAL BUILD] Pi/e/ test ROM for the LeEco S2

also note, that I am using WSL

Can you use 18.04? I tested script on 18.04.

Yey I can and I did. It worked. It was doing someting for several hours then it ended with this:

[ 29% 26544/89418] //external/llvm/lib/Transforms/Scalar:libLLVMScalarOpts clang++ DeadStoreElimination.cpp
FAILED: /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/DeadStoreElimination.o
PWD=/proc/self/cwd /usr/bin/ccache prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ -c -Iexternal/llvm/lib/Transforms/Scalar  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-expansion-to-defined -Wno-zero-as-null-pointer-constant -fdebug-prefix-map=$PWD/= -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -Werror=format-security -nostdlibinc -march=armv8-a -mcpu=cortex-a53 -Iexternal/llvm/include -Iexternal/llvm/device/include -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-attributes/gen -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-intrinsics/gen -Iexternal/libcxx/include -Iexternal/libcxxabi/include -Isystem/core/include -Isystem/media/audio/include -Ihardware/libhardware/include -Ihardware/libhardware_legacy/include -Ihardware/ril/include -Ilibnativehelper/include -Iframeworks/native/include -Iframeworks/native/opengl/include -Iframeworks/av/include -isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-arm64 -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -Ilibnativehelper/include_jni -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -fomit-frame-pointer -Wall -W -Wno-cast-qual -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wwrite-strings -Werror -Dsprintf=sprintf -W -Wall -Wno-unused-lambda-capture -Wno-unused-parameter -Wno-error=unused-lambda-capture -Wno-error=user-defined-warnings -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin -fPIC -D_USING_LIBCXX -std=gnu++14 -Wsign-promo -Wno-inconsistent-missing-override -Wno-null-dereference -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-thread-safety-negative -Wno-gnu-include-next -fvisibility-inlines-hidden -Wno-sign-promo -std=c++11 -Woverloaded-virtual -fno-rtti  -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-null-pointer-arithmetic -Wno-enum-compare -Wno-enum-compare-switch -MD -MF /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/DeadStoreElimination.o.d -o /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/DeadStoreElimination.o external/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
fatal error: error in backend: IO failure on output stream.
[ 29% 26547/89418] //external/llvm/lib/Transforms/Scalar:libLLVMScalarOpts clang++ IndVarSimplify.cpp
FAILED: /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/IndVarSimplify.o
PWD=/proc/self/cwd /usr/bin/ccache prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ -c -Iexternal/llvm/lib/Transforms/Scalar  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-expansion-to-defined -Wno-zero-as-null-pointer-constant -fdebug-prefix-map=$PWD/= -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -Werror=format-security -nostdlibinc -march=armv8-a -mcpu=cortex-a53 -Iexternal/llvm/include -Iexternal/llvm/device/include -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-attributes/gen -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-intrinsics/gen -Iexternal/libcxx/include -Iexternal/libcxxabi/include -Isystem/core/include -Isystem/media/audio/include -Ihardware/libhardware/include -Ihardware/libhardware_legacy/include -Ihardware/ril/include -Ilibnativehelper/include -Iframeworks/native/include -Iframeworks/native/opengl/include -Iframeworks/av/include -isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-arm64 -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -Ilibnativehelper/include_jni -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -fomit-frame-pointer -Wall -W -Wno-cast-qual -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wwrite-strings -Werror -Dsprintf=sprintf -W -Wall -Wno-unused-lambda-capture -Wno-unused-parameter -Wno-error=unused-lambda-capture -Wno-error=user-defined-warnings -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin -fPIC -D_USING_LIBCXX -std=gnu++14 -Wsign-promo -Wno-inconsistent-missing-override -Wno-null-dereference -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-thread-safety-negative -Wno-gnu-include-next -fvisibility-inlines-hidden -Wno-sign-promo -std=c++11 -Woverloaded-virtual -fno-rtti  -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-null-pointer-arithmetic -Wno-enum-compare -Wno-enum-compare-switch -MD -MF /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/IndVarSimplify.o.d -o /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/IndVarSimplify.o external/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
fatal error: error in backend: IO failure on output stream.
[ 29% 26548/89418] //external/llvm/lib/Transforms/Scalar:libLLVMScalarOpts clang++ LICM.cpp
FAILED: /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/LICM.o
PWD=/proc/self/cwd /usr/bin/ccache prebuilts/clang/host/linux-x86/clang-4691093/bin/clang++ -c -Iexternal/llvm/lib/Transforms/Scalar  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-expansion-to-defined -Wno-zero-as-null-pointer-constant -fdebug-prefix-map=$PWD/= -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -Werror=format-security -nostdlibinc -march=armv8-a -mcpu=cortex-a53 -Iexternal/llvm/include -Iexternal/llvm/device/include -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-attributes/gen -I/srv/src/PIE/out/soong/.intermediates/external/llvm/llvm-gen-intrinsics/gen -Iexternal/libcxx/include -Iexternal/libcxxabi/include -Isystem/core/include -Isystem/media/audio/include -Ihardware/libhardware/include -Ihardware/libhardware_legacy/include -Ihardware/ril/include -Ilibnativehelper/include -Iframeworks/native/include -Iframeworks/native/opengl/include -Iframeworks/av/include -isystem bionic/libc/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-arm64 -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -Ilibnativehelper/include_jni -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -fomit-frame-pointer -Wall -W -Wno-cast-qual -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wwrite-strings -Werror -Dsprintf=sprintf -W -Wall -Wno-unused-lambda-capture -Wno-unused-parameter -Wno-error=unused-lambda-capture -Wno-error=user-defined-warnings -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin -fPIC -D_USING_LIBCXX -std=gnu++14 -Wsign-promo -Wno-inconsistent-missing-override -Wno-null-dereference -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-thread-safety-negative -Wno-gnu-include-next -fvisibility-inlines-hidden -Wno-sign-promo -std=c++11 -Woverloaded-virtual -fno-rtti  -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-null-pointer-arithmetic -Wno-enum-compare -Wno-enum-compare-switch -MD -MF /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/LICM.o.d -o /srv/src/PIE/out/soong/.intermediates/external/llvm/lib/Transforms/Scalar/libLLVMScalarOpts/android_arm64_armv8-a_cortex-a53_core_static/obj/external/llvm/lib/Transforms/Scalar/LICM.o external/llvm/lib/Transforms/Scalar/LICM.cpp
fatal error: error in backend: IO failure on output stream.
[ 29% 26553/89418] //external/llvm/lib/Transforms/Scalar:libLLVMScalarOpts clang++ GVN.cpp
ninja: build stopped: subcommand failed.
21:08:39 ninja failed with: exit status 1

#### failed to build some targets (01:26:57 (hh:mm:ss)) ####

>> [Mon May 18 21:08:40 CEST 2020] Failed build for s2
>> [Mon May 18 21:08:40 CEST 2020] Finishing build for s2
>> [Mon May 18 21:08:40 CEST 2020] Cleaning source dir for device s2
21:10:28 Entire build directory removed.

#### build completed successfully (01:48 (mm:ss)) ####

Switch back to Python3
>> [Mon May 18 21:10:28 CEST 2020] Running end.sh
HEAD is now at 6a2332f s2: fix socket potentially not closed in consumerir
HEAD is now at f18e9ca Merge remote-tracking branch 'origin/lineage-16.0' into v1-pie

I guess, that something went wrong, any idea?

IO failure on output stream. It seems to have trouble with writing files, have enough disk space? Type df

Yes, it was the case. But how much space do I need for this? It already consumed more than 100GB. This time I managed to build 65%, still not enough :slight_smile:

You need about 250Gb.

With Docker, 250 GB (and maybe more, I never succeeded) were needed.

With the script, I only need 220 GB.

Okay then I would need to do it on different machine. I will do it somehow. If I succeed, what is next step?

Get your ROM in /srv/zips/s2 :wink: BTW there is a “bug”. The first time you build the ROM Trebuchet is missing. The second time it is included. I use trebuchet to get the vertical swiping to close apps working, introduced in Android Pie. If it’s not included you’d have to swipe horizontal, i hate that, matter of taste. Bliss Launcher does not support vertical app-close-swipe, but when trebuchet is installed it does!

I use Trebuchet also, so I guess I would need to build it twice? And final question is can I somehow make an OTA update on my device? And for future updates, do I need to do something else? f.e. to get latest /e/ updates etc?

Yes build it twice if you want trebuchet included. For the latest /e/ updates you would have to build again. The script always fetches the latest updates and then apply my patches to the ROM. To do OTA you’d have to setup an OTA server, and put your builds there. The URL would got into the builde.sh script.

And those file from Github as userscripts, patches etc… how can I get those by myself so that they are up to date?

The userscripts are used to apply patches. A patch can be made with this command git diff > example.patch If you want to make binary patches git diff --binary > example2.patch You do this after you’ve made changes tin the source tree. You also could build without them, but the screen would be dark and trebuchet will be missing. Also the encryption would not work. The encryption patch is for 32Gb by the way. If you have 64 don’t apply this (edit userscript).

@andrelam Thank you very much for new update, I am still struggling to get machine with such disc space.

Oops, i did not test that build at all (i only know it boots :stuck_out_tongue_winking_eye:) I was working on the OTA server and needed a know-good configuration. But if it works ok, thats great :grinning: have fun!

It works great so far :slight_smile: