At the beginning, great thanks to Comzzmy13 for his work for official LineageOS.
I don't know if it is suitable to post this thread here. If it is not that proper, please tell me!
I want to build LineageOS on my computer and met some problems. I need some help now...
Thanks all the guys coming into this thread!
I followed the official guide to get all the sources, vendor, device, kernel from GitHub. But after running 'brunch libra'. after several minutes, errors occurred.
Environment: Ubuntu 17.10 on a real machine (dual systems with windows 10)
Tools should be enough but I'm not so sure and I just follow the guide.
Firstly, just in case...
Code:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.2
LINEAGE_VERSION=14.1-20171214_170732-UNOFFICIAL-libra
TARGET_PRODUCT=lineage_libra
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a53.a57
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.13.0-17-generic-x86_64-with-Ubuntu-17.10-artful
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NJH47F
OUT_DIR=/home/ippfcox/android/lineage/out
============================================
make: Entering directory '/home/ippfcox/android/lineage'
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.2
LINEAGE_VERSION=14.1-20171214_170732-UNOFFICIAL-libra
TARGET_PRODUCT=lineage_libra
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a53.a57
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.13.0-17-generic-x86_64-with-Ubuntu-17.10-artful
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NJH47F
OUT_DIR=/home/ippfcox/android/lineage/out
============================================
Code:
/home/ippfcox/android/lineage/out/build-lineage_libra.ninja is missing, regenerating...
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.1.2
LINEAGE_VERSION=14.1-20171214_170745-UNOFFICIAL-libra
TARGET_PRODUCT=lineage_libra
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv7-a-neon
TARGET_2ND_CPU_VARIANT=cortex-a53.a57
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.13.0-17-generic-x86_64-with-Ubuntu-17.10-artful
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NJH47F
OUT_DIR=/home/ippfcox/android/lineage/out
============================================
The build log is too long so I just choose the error lines
these seems not the key errors...
Code:
Checking build tools versions...
find: ‘/home/ippfcox/android/lineage/out/target/common/obj/SHARED_LIBRARIES/libwifi-hal-mock_intermediates’: 没有那个文件或目录
PRODUCT_COPY_FILES device/xiaomi/libra/audio/audio_effects.conf:system/etc/audio_effects.conf ignored.
build/core/Makefile:54: Duplicate header copy: /home/ippfcox/android/lineage/out/target/product/libra/obj/include/time-services/time_genoff.h
build/core/Makefile:54: Defined in: device/xiaomi/libra/time-services/Android.mk vendor/qcom/opensource/time-services/Android.mk
The Chinese "没有那个文件或目录" == "No such file or dictionary"
and then
Code:
make: Leaving directory '/home/ippfcox/android/lineage/kernel/xiaomi/msm8992'
make: Entering directory '/home/ippfcox/android/lineage/kernel/xiaomi/msm8992'
/home/ippfcox/android/lineage/kernel/xiaomi/msm8992/Makefile:801: *** 多个目标匹配。 停止。
Makefile:130: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
The Chinese "多个目标匹配。停止。" == "multiple target patterns. stop."
and the last one
Code:
ninja: build stopped: subcommand failed.
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
Please give me some advice! Thanks
I need more info, it is all error log?
I use this guide to build lineageOS: https://wiki.lineageos.org/devices/libra/build
Enviado desde mi Mi-4c mediante Tapatalk
groche97 said:
I need more info, it is all error log?
I use this guide to build lineageOS: https://wiki.lineageos.org/devices/libra/build
Enviado desde mi Mi-4c mediante Tapatalk
Click to expand...
Click to collapse
Yeah, this is also the guide I used. I will post the whole error log below, wait a moment.
@groche97 sorry for waiting so long. Something went wrong with my Internet connection...
before building, I run repo sync.
All the logs are attached below, 241 lines. Thanks!
All right....I will try to use Ubuntu 16.04 to build again...
Ippfcox said:
All right....I will try to use Ubuntu 16.04 to build again...
Click to expand...
Click to collapse
have you build kernel?
i have same error
orfik said:
have you build kernel?
i have same error
Click to expand...
Click to collapse
I think the error of mine is generated when building the kernel. Now I'm trying to build LineageOS 15.1, there is also this error... I will try again after some days.
I have googled this error, maybe you can try to upgrade the build tools? I don't know exactly.
And maybe you can just ask the author cozzmy13. But before that, I think we should try to fix by ourselves.
Ippfcox said:
I think the error of mine is generated when building the kernel.
Click to expand...
Click to collapse
Yes. And i have build kernel successfully. Change Makefile in kernel folder and build kernel for RR based on cm-14.1
I send you this Makefile in pm later. After work
orfik said:
Yes. And i have build kernel successfully. Change Makefile in kernel folder and build kernel for RR based on cm-14.1
I send you this Makefile in pm later. After work
Click to expand...
Click to collapse
Wow! You are great! Waiting for you
I have been experiencing the same kind of issues with the Ninja tool. It leaves the directory with no reason at all (OK, there has to be a reason for it to leave the directory or just encounter an error). I also used this command:
export USE_NINJA=false
And I think it uses the Java to build the ROM but still encounters errors and exits after 1 - 2 minutes into the build process.
Not sure what is the issue or how to fix it. And it is not that I am waiting for the guys at Lineage to build the ROM for me, I wanted to build it for myself and help out. But keep having these errors and everyting goes to dust.
I also tried building Nougat with the same issues.
Off the record, I am building for Bacon, but the process is the same. Looking forward to new ideas/solutions/anything that can help us get past this step and successfully build the ROM.
i have remove ccach in Makefile,but in the end ,I encounter the error below
[ 96% 647/668] Target userdata fs image: /home/zhj/code/LineageOs/out/target/product/libra/userdata.img
Running: mkuserimg.sh -s /home/zhj/code/LineageOs/out/target/product/libra/data /home/zhj/code/LineageOs/out/target/product/libra/userdata.img ext4 data 12469648896 -D /home/zhj/code/LineageOs/out/target/product/libra/system -L data /home/zhj/code/LineageOs/out/target/product/libra/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
make_ext4fs -s -T -1 -S /home/zhj/code/LineageOs/out/target/product/libra/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -L data -l 12469648896 -a data /home/zhj/code/LineageOs/out/target/product/libra/userdata.img /home/zhj/code/LineageOs/out/target/product/libra/data /home/zhj/code/LineageOs/out/target/product/libra/system
Creating filesystem with parameters:
Size: 12469645312
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 32768
Label: data
Blocks: 3044347
Block groups: 93
Reserved block group size: 743
Created filesystem with 38/761856 inodes and 90385/3044347 blocks
/home/zhj/code/LineageOs/out/target/product/libra/userdata.img maxsize=12730643904 blocksize=135168 total=149892064 reserve=128679936
[ 97% 654/668] Building Kernel
make: Entering directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
GEN /home/zhj/code/LineageOs/out/target/product/libra/obj/KERNEL_OBJ/Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (SND_SOC_APQ8074 && SND_SOC_MSM8994) selects SND_SOC_MSM_HDMI_CODEC_RX which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && FB_MSM_MDSS_HDMI_PANEL && (SND_SOC_MSM8974 || SND_SOC_APQ8084 || SND_SOC_MSM8994))
warning: (SND_SOC_APQ8074 && SND_SOC_MSM8994) selects SND_SOC_MSM_HDMI_CODEC_RX which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && FB_MSM_MDSS_HDMI_PANEL && (SND_SOC_MSM8974 || SND_SOC_APQ8084 || SND_SOC_MSM8994))
GEN /home/zhj/code/LineageOs/out/target/product/libra/obj/KERNEL_OBJ/Makefile
CHK include/generated/uapi/linux/version.h
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
Using /home/zhj/code/LineageOs/kernel/xiaomi/libra as source for kernel
CHK include/generated/utsrelease.h
CALL /home/zhj/code/LineageOs/kernel/xiaomi/libra/scripts/checksyscalls.sh
CHK include/generated/compile.h
GZIP kernel/config_data.gz
CHK kernel/config_data.h
make[2]: 'arch/arm64/boot/Image' is up to date.
make: Leaving directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
Building DTBs
make: Entering directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
make[2]: Nothing to be done for 'dtbs'.
make[2]: Nothing to be done for 'dtbs'.
make: Leaving directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
[ 98% 657/668] Target boot image: /home/zhj/code/LineageOs/out/target/product/libra/boot.img
FAILED: /home/zhj/code/LineageOs/out/target/product/libra/boot.img
/bin/bash -c "(/home/zhj/code/LineageOs/out/host/linux-x86/bin/mkbootimg --kernel /home/zhj/code/LineageOs/out/target/product/libra/kernel --ramdisk /home/zhj/code/LineageOs/out/target/product/libra/ramdisk.img --base 0x00000000 --pagesize 4096 --cmdline "console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 boot_cpus=0-5 buildvariant=userdebug" --os_version 8.1.0 --os_patch_level 2018-05-05 -2 --output /home/zhj/code/LineageOs/out/target/product/libra/boot.img ) && (size=\$(for i in /home/zhj/code/LineageOs/out/target/product/libra/boot.img; do stat --format "%s" "\$i" | tr -d '\\n'; echo +; done; echo 0); total=\$(( \$( echo "\$size" ) )); printname=\$(echo -n "/home/zhj/code/LineageOs/out/target/product/libra/boot.img" | tr " " +); img_blocksize=135168; twoblocks=\$((img_blocksize * 2)); onepct=\$(((((69206016 / 100) - 1) / img_blocksize + 1) * img_blocksize)); reserve=\$((twoblocks > onepct ? twoblocks : onepct)); maxsize=\$((69206016 - reserve)); echo "\$printname maxsize=\$maxsize blocksize=\$img_blocksize total=\$total reserve=\$reserve"; if [ "\$total" -gt "\$maxsize" ]; then echo "error: \$printname too large (\$total > [69206016 - \$reserve])"; false; elif [ "\$total" -gt \$((maxsize - 32768)) ]; then echo "WARNING: \$printname approaching size limit (\$total now; limit \$maxsize)"; fi )"
usage: mkbootimg [-h] --kernel KERNEL [--ramdisk RAMDISK] [--second SECOND]
[--cmdline CMDLINE] [--base BASE]
[--kernel_offset KERNEL_OFFSET]
[--ramdisk_offset RAMDISK_OFFSET]
[--second_offset SECOND_OFFSET] [--os_version OS_VERSION]
[--os_patch_level OS_PATCH_LEVEL] [--tags_offset TAGS_OFFSET]
[--board BOARD]
[--pagesize {2048,4096,8192,16384,32768,65536,131072}] [--id]
[--dt DT] -o OUTPUT
mkbootimg: error: unrecognized arguments: -2
ninja: build stopped: subcommand failed.
10:58:38 ninja failed with: exit status 1
Ippfcox said:
Wow! You are great! Waiting for you
Click to expand...
Click to collapse
Can you send me a copy of makefile? I also encountered this problem. Thank
orfik said:
Yes. And i have build kernel successfully. Change Makefile in kernel folder and build kernel for RR based on cm-14.1
I send you this Makefile in pm later. After work
Click to expand...
Click to collapse
can you send me a copy of makefile? I also encountered this problem. Thank
zhanyue1124 said:
[ 96% 647/668] Target userdata fs image: /home/zhj/code/LineageOs/out/target/product/libra/userdata.img
Running: mkuserimg.sh -s /home/zhj/code/LineageOs/out/target/product/libra/data /home/zhj/code/LineageOs/out/target/product/libra/userdata.img ext4 data 12469648896 -D /home/zhj/code/LineageOs/out/target/product/libra/system -L data /home/zhj/code/LineageOs/out/target/product/libra/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin
make_ext4fs -s -T -1 -S /home/zhj/code/LineageOs/out/target/product/libra/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -L data -l 12469648896 -a data /home/zhj/code/LineageOs/out/target/product/libra/userdata.img /home/zhj/code/LineageOs/out/target/product/libra/data /home/zhj/code/LineageOs/out/target/product/libra/system
Creating filesystem with parameters:
Size: 12469645312
Block size: 4096
Blocks per group: 32768
Inodes per group: 8192
Inode size: 256
Journal blocks: 32768
Label: data
Blocks: 3044347
Block groups: 93
Reserved block group size: 743
Created filesystem with 38/761856 inodes and 90385/3044347 blocks
/home/zhj/code/LineageOs/out/target/product/libra/userdata.img maxsize=12730643904 blocksize=135168 total=149892064 reserve=128679936
[ 97% 654/668] Building Kernel
make: Entering directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
GEN /home/zhj/code/LineageOs/out/target/product/libra/obj/KERNEL_OBJ/Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (SND_SOC_APQ8074 && SND_SOC_MSM8994) selects SND_SOC_MSM_HDMI_CODEC_RX which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && FB_MSM_MDSS_HDMI_PANEL && (SND_SOC_MSM8974 || SND_SOC_APQ8084 || SND_SOC_MSM8994))
warning: (SND_SOC_APQ8074 && SND_SOC_MSM8994) selects SND_SOC_MSM_HDMI_CODEC_RX which has unmet direct dependencies (SOUND && !M68K && !UML && SND && SND_SOC && FB_MSM_MDSS_HDMI_PANEL && (SND_SOC_MSM8974 || SND_SOC_APQ8084 || SND_SOC_MSM8994))
GEN /home/zhj/code/LineageOs/out/target/product/libra/obj/KERNEL_OBJ/Makefile
CHK include/generated/uapi/linux/version.h
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
Using /home/zhj/code/LineageOs/kernel/xiaomi/libra as source for kernel
CHK include/generated/utsrelease.h
CALL /home/zhj/code/LineageOs/kernel/xiaomi/libra/scripts/checksyscalls.sh
CHK include/generated/compile.h
GZIP kernel/config_data.gz
CHK kernel/config_data.h
make[2]: 'arch/arm64/boot/Image' is up to date.
make: Leaving directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
Building DTBs
make: Entering directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTLD scripts/mod/modpost
make[2]: Nothing to be done for 'dtbs'.
make[2]: Nothing to be done for 'dtbs'.
make: Leaving directory '/home/zhj/code/LineageOs/kernel/xiaomi/libra'
[ 98% 657/668] Target boot image: /home/zhj/code/LineageOs/out/target/product/libra/boot.img
FAILED: /home/zhj/code/LineageOs/out/target/product/libra/boot.img
/bin/bash -c "(/home/zhj/code/LineageOs/out/host/linux-x86/bin/mkbootimg --kernel /home/zhj/code/LineageOs/out/target/product/libra/kernel --ramdisk /home/zhj/code/LineageOs/out/target/product/libra/ramdisk.img --base 0x00000000 --pagesize 4096 --cmdline "console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 boot_cpus=0-5 buildvariant=userdebug" --os_version 8.1.0 --os_patch_level 2018-05-05 -2 --output /home/zhj/code/LineageOs/out/target/product/libra/boot.img ) && (size=\$(for i in /home/zhj/code/LineageOs/out/target/product/libra/boot.img; do stat --format "%s" "\$i" | tr -d '\\n'; echo +; done; echo 0); total=\$(( \$( echo "\$size" ) )); printname=\$(echo -n "/home/zhj/code/LineageOs/out/target/product/libra/boot.img" | tr " " +); img_blocksize=135168; twoblocks=\$((img_blocksize * 2)); onepct=\$(((((69206016 / 100) - 1) / img_blocksize + 1) * img_blocksize)); reserve=\$((twoblocks > onepct ? twoblocks : onepct)); maxsize=\$((69206016 - reserve)); echo "\$printname maxsize=\$maxsize blocksize=\$img_blocksize total=\$total reserve=\$reserve"; if [ "\$total" -gt "\$maxsize" ]; then echo "error: \$printname too large (\$total > [69206016 - \$reserve])"; false; elif [ "\$total" -gt \$((maxsize - 32768)) ]; then echo "WARNING: \$printname approaching size limit (\$total now; limit \$maxsize)"; fi )"
usage: mkbootimg [-h] --kernel KERNEL [--ramdisk RAMDISK] [--second SECOND]
[--cmdline CMDLINE] [--base BASE]
[--kernel_offset KERNEL_OFFSET]
[--ramdisk_offset RAMDISK_OFFSET]
[--second_offset SECOND_OFFSET] [--os_version OS_VERSION]
[--os_patch_level OS_PATCH_LEVEL] [--tags_offset TAGS_OFFSET]
[--board BOARD]
[--pagesize {2048,4096,8192,16384,32768,65536,131072}] [--id]
[--dt DT] -o OUTPUT
mkbootimg: error: unrecognized arguments: -2
ninja: build stopped: subcommand failed.
10:58:38 ninja failed with: exit status 1
Click to expand...
Click to collapse
have you got the solution as I am also running into same error
Build AOSP on ubuntu 18.04 Bionic Beaver
1. I suggest using screen when build so install it
sudo apt-get install screen
2. Add this line to /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu trusty main
3. Update repository list
sudo apt-get update
4. Install dependencies for building
mkdir -p ~/bin
wget 'https://storage.googleapis.com/git-repo-downloads/repo' -P ~/bin
chmod +x ~/bin/repo
sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev git-core python
5. Setup git
git config --global user.name "your name"
git config --global user.email "your email"
6. Add repo path and enable ccache
nano ~/.bashrc
Add these lines to the bottom of bashrc
export PATH=~/bin:$PATH
export USE_CCACHE=1
export LC_ALL=C
Then to enable these use command
source ~/.bashrc
7. Make working directory
mkdir ~/android
cd ~/android
8. Initialise repo source (In this example we will use AospExtended Oreo )
repo init -u git://github.com/AospExtended/manifest.git -b 8.1.x
9. Sync repository (this could take a while depending on your internet connection, replace x with number of cores available remember to leave some free for system processes)
repo sync -c -jx --force-sync --no-clone-bundle --no-tags
10. Configure how much drive space ccache can use (I recommend 25-30gb)
prebuilts/misc/linux-x86/ccache/ccache -M 25G
11. Configure how much ram Jacks server can use (I recommend at least 8gb but the more resources you use the faster it will build)
export ANDROID_JACK_VM_ARGS="-Xmx8g -Dfile.encoding=UTF-8 -XX:+TieredCompilation"
12. Download device specific trees
Kernel tree
Device tree
Device Common Tree
Vendor Tree
these are specific to each device so you need ones that match your device
13. Build Initialise
. build/envsetup.sh
lunch aosp_devicename-userdebug
An example for Xiaomi Mi Max 2 codename (oxygen)
lunch aosp_oxygen-userdebug
14. Then to start building (replace x with available cores again the more cores made available the quicker it will compile)
make aex -jx
eva0034 said:
Build AOSP on ubuntu 18.04 Bionic Beaver
1. I suggest using screen when build so install it
sudo apt-get install screen
2. Add this line to /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu trusty main
3. Update repository list
sudo apt-get update
4. Install dependencies for building
mkdir -p ~/bin
wget 'https://storage.googleapis.com/git-repo-downloads/repo' -P ~/bin
chmod +x ~/bin/repo
sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev git-core python
5. Setup git
git config --global user.name "your name"
git config --global user.email "your email"
6. Add repo path and enable ccache
nano ~/.bashrc
Add these lines to the bottom of bashrc
export PATH=~/bin:$PATH
export USE_CCACHE=1
Then to enable these use command
source ~/.bashrc
7. Make working directory
mkdir ~/android
cd ~/android
8. Initialise repo source (In this example we will use AospExtended Oreo )
repo init -u git://github.com/AospExtended/manifest.git -b 8.1.x
9. Sync repository (this could take a while depending on your internet connection, replace x with number of cores available remember to leave some free for system processes)
repo sync -c -jx --force-sync --no-clone-bundle --no-tags
10. Configure how much drive space ccache can use (I recommend 25-30gb)
prebuilts/misc/linux-x86/ccache/ccache -M 25G
11. Configure how much ram Jacks server can use (I recommend at least 8gb but the more resources you use the faster it will build)
export ANDROID_JACK_VM_ARGS="-Xmx8g -Dfile.encoding=UTF-8 -XX:+TieredCompilation"
12. Download device specific trees
Kernel tree
Device tree
Device Common Tree
Vendor Tree
these are specific to each device so you need ones that match your device
13. Build Initialise
. build/envsetup.sh
lunch aosp_devicename-userdebug
An example for Xiaomi Mi Max 2 codename (oxygen)
lunch aosp_oxygen-userdebug
14. Then to start building (replace x with available cores again the more cores made available the quicker it will compile)
make aex -jx
Click to expand...
Click to collapse
If you wish to use with another rom this guide add
Code:
sudo apt install selinux
.
If you get an error mentioning STATIC_LIBRARIES/libedify_intermediates/lexer.cpp make sure to also add
"export LC_ALL=C"
in your ~/.bashrc file.
@eva0034 I followed this guide but instead i replaced repo init 8.1.x with 7.1.1 because my device only has nougat support. I get stuck in repository sync at 99% every time. When I abort it shows failure to fetch snapdragon camera.
I posted on aex telegram and they advised me to delete snapdragon camera in repo/manifest xml.
I can't find this folder or file anywhere. Any idea?
undeclared identifiers n7100 build
what do i need to do to fix the errors below?
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:489:17: error: use of undeclared identifier 'GRALLOC_USAGE_YUV_ADDR'
if (usage & GRALLOC_USAGE_YUV_ADDR) {
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:494:87: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s vaddr[0]=%x vaddr[1]=%x vaddr[2]=%x", __func__, vaddr[0], vaddr[1], vaddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:494:97: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s vaddr[0]=%x vaddr[1]=%x vaddr[2]=%x", __func__, vaddr[0], vaddr[1], vaddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:494:107: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s vaddr[0]=%x vaddr[1]=%x vaddr[2]=%x", __func__, vaddr[0], vaddr[1], vaddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:454:49: warning: unused parameter 'module' [-Wunused-parameter]
static int gralloc_lock(gralloc_module_t const* module, buffer_handle_t handle,
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:505:51: warning: unused parameter 'module' [-Wunused-parameter]
static int gralloc_unlock(gralloc_module_t const* module, buffer_handle_t handle)
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:585:89: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s paddr[0]=0x%x paddr[1]=0x%x paddr[2]=0x%x", __func__, paddr[0], paddr[1], paddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:585:99: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s paddr[0]=0x%x paddr[1]=0x%x paddr[2]=0x%x", __func__, paddr[0], paddr[1], paddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:585:109: warning: format specifies type 'unsigned int' but the argument has type 'void *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s paddr[0]=0x%x paddr[1]=0x%x paddr[2]=0x%x", __func__, paddr[0], paddr[1], paddr[2]);
~~ ^~~~~~~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:580:52: warning: unused parameter 'module' [-Wunused-parameter]
static int gralloc_getphys(gralloc_module_t const* module, buffer_handle_t handle, void** paddr)
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:593:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
open: gralloc_device_open
^~~~~
.open =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:598:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
base:
^~~~~
.base =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:600:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
common:
^~~~~~~
.common =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:602:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
tag: HARDWARE_MODULE_TAG,
^~~~
.tag =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:603:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
version_major: 1,
^~~~~~~~~~~~~~
.module_api_version =
hardware/libhardware/include/hardware/hardware.h:114:23: note: expanded from macro 'version_major'
#define version_major module_api_version
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:604:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
version_minor: 0,
^~~~~~~~~~~~~~
.hal_api_version =
hardware/libhardware/include/hardware/hardware.h:132:23: note: expanded from macro 'version_minor'
#define version_minor hal_api_version
^
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:605:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
id: GRALLOC_HARDWARE_MODULE_ID,
^~~
.id =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:606:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
name: "Graphics Memory Allocator Module",
^~~~~
.name =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:607:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
author: "ARM Ltd.",
^~~~~~~
.author =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:608:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
methods: &gralloc_module_methods,
^~~~~~~~
.methods =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:609:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
dso: NULL,
^~~~
.dso =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:610:13: warning: use of GNU old-style field designator extension [-Wgnu-designator]
reserved : {0,},
^~~~~~~~~~
.reserved =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:612:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
registerBuffer: gralloc_register_buffer,
^~~~~~~~~~~~~~~
.registerBuffer =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:613:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
unregisterBuffer: gralloc_unregister_buffer,
^~~~~~~~~~~~~~~~~
.unregisterBuffer =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:614:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
lock: gralloc_lock,
^~~~~
.lock =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:615:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
unlock: gralloc_unlock,
^~~~~~~
.unlock =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:616:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
getphys: gralloc_getphys,
^~~~~~~~
.getphys =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:617:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
perform: NULL,
^~~~~~~~
.perform =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:618:9: warning: use of GNU old-style field designator extension [-Wgnu-designator]
lock_ycbcr: NULL,
^~~~~~~~~~~
.lock_ycbcr =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:620:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
framebuffer: NULL,
^~~~~~~~~~~~
.framebuffer =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:621:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
flags: 0,
^~~~~~
.flags =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:622:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
numBuffers: 0,
^~~~~~~~~~~
.numBuffers =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:623:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
bufferMask: 0,
^~~~~~~~~~~
.bufferMask =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:624:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
lock: PTHREAD_MUTEX_INITIALIZER,
^~~~~
.lock =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:625:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
currentBuffer: NULL,
^~~~~~~~~~~~~~
.currentBuffer =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:626:5: warning: use of GNU old-style field designator extension [-Wgnu-designator]
ion_client: -1,
^~~~~~~~~~~
.ion_client =
hardware/samsung/exynos4/hal/libgralloc_ump/gralloc_module.cpp:616:9: error: field designator 'getphys' does not refer to any field in type 'gralloc_module_t'
getphys: gralloc_getphys,
^
42 warnings and 2 errors generated.
[ 0% 20/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/NOTICE_FILES/src/system/lib/liblights_helper.a.txt
Notice file: hardware/samsung/liblights/NOTICE -- /home/shaun/Desktop/android/out/target/product/n7100/obj/NOTICE_FILES/src/system/lib/liblights_helper.a.txt
[ 0% 21/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/lights.smdk4x12_intermediates/link_type
Check module type: /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/lights.smdk4x12_intermediates/link_type
[ 0% 22/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/alloc_device.o
FAILED: /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/alloc_device.o
/bin/bash -c "(echo "target thumb C++: gralloc.exynos4 <= hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp" ) && (mkdir -p /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/ ) && (PWD=/proc/self/cwd prebuilts/misc/linux-x86/ccache/ccache prebuilts/clang/host/linux-x86/clang-4053586/bin/clang++ -I device/samsung/smdk4412-common/include -I device/samsung/n7100/include -I bionic/libc/include -I hardware/samsung/exynos4/hal/libgralloc_ump/../include -I hardware/samsung/exynos4/hal/libgralloc_ump -I /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates -I /home/shaun/Desktop/android/out/target/product/n7100/gen/SHARED_LIBRARIES/gralloc.exynos4_intermediates -I libnativehelper/include_deprecated \$(cat /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/import_includes) -I system/core/include -I system/media/audio/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I libnativehelper/include -I frameworks/native/include -I frameworks/native/opengl/include -I frameworks/av/include -isystem /home/shaun/Desktop/android/out/target/product/n7100/obj/include -isystem bionic/libc/arch-arm/include -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/uapi/asm-arm -isystem bionic/libc/kernel/android/scsi -isystem bionic/libc/kernel/android/uapi -c -fno-exceptions -Wno-multichar -ffunction-sections -fdata-sections -funwind-tables -fstack-protector-strong -Wa,--noexecstack -Werror=format-security -D_FORTIFY_SOURCE=2 -fno-short-enums -no-canonical-prefixes -DNDEBUG -g -Wstrict-aliasing=2 -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -DNDEBUG -UDEBUG -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 -fdebug-prefix-map=\$PWD/= -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -nostdlibinc -msoft-float -mfloat-abi=softfp -mfpu=neon -march=armv7-a -target arm-linux-androideabi -Bprebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/bin -Wsign-promo -Wno-inconsistent-missing-override -Wno-null-dereference -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -Wno-thread-safety-negative -fvisibility-inlines-hidden -std=gnu++14 -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -fno-rtti -DLOG_TAG=\"gralloc\" -DSAMSUNG_EXYNOS -DSAMSUNG_EXYNOS_CACHE_UMP -DUSE_PARTIAL_FLUSH -DSAMSUNG_EXYNOS4x12 -fPIC -D_USING_LIBCXX -DANDROID_STRICT -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -MD -MF /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/alloc_device.d -o /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/gralloc.exynos4_intermediates/alloc_device.o hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp )"
target thumb C++: gralloc.exynos4 <= hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp
In file included from hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:30:
bionic/libc/include/string.h:164:1: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
struct __bionic_zero_size_is_okay_t {};
^
In file included from hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:41:
hardware/samsung/exynos4/hal/libgralloc_ump/../include/gralloc_priv.h:169:5: warning: field 'ion_client' will be initialized after field 'yaddr' [-Wreorder]
ion_client(0),
^
hardware/samsung/exynos4/hal/libgralloc_ump/../include/gralloc_priv.h:198:5: warning: field 'ion_client' will be initialized after field 'yaddr' [-Wreorder]
ion_client(0),
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:118:17: error: use of undeclared identifier 'GRALLOC_USAGE_HW_FIMC1'; did you mean 'GRALLOC_USAGE_HW_FB'?
if (usage & GRALLOC_USAGE_HW_FIMC1) {
^~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_HW_FB
hardware/libhardware/include/hardware/gralloc.h:96:5: note: 'GRALLOC_USAGE_HW_FB' declared here
GRALLOC_USAGE_HW_FB = 0x00001000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:196:37: error: use of undeclared identifier 'GRALLOC_USAGE_HWC_HWOVERLAY'
if ( (usage < 0 || usage & (GRALLOC_USAGE_HWC_HWOVERLAY | GRALLOC_USAGE_HW_FIMC1)) &&
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:196:67: error: use of undeclared identifier 'GRALLOC_USAGE_HW_FIMC1'; did you mean 'GRALLOC_USAGE_HW_FB'?
if ( (usage < 0 || usage & (GRALLOC_USAGE_HWC_HWOVERLAY | GRALLOC_USAGE_HW_FIMC1)) &&
^~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_HW_FB
hardware/libhardware/include/hardware/gralloc.h:96:5: note: 'GRALLOC_USAGE_HW_FB' declared here
GRALLOC_USAGE_HW_FB = 0x00001000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:199:25: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
if (usage & GRALLOC_USAGE_PRIVATE_NONECACHE) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:208:25: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
if (usage & GRALLOC_USAGE_PRIVATE_NONECACHE) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:234:86: warning: format specifies type 'unsigned int' but the argument has type 'private_handle_t *' [-Wformat]
ALOGD_IF(debug_level > 0, "%s hnd=%x paddr=%x yaddr=%x offset=%x", __func__, hnd, current_address, gReservedMemSize, buffer_offset);
~~ ^~~
system/core/liblog/include/log/log_main.h:206:62: note: expanded from macro 'ALOGD_IF'
((__predict_false(cond)) ? ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__)) \
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:306:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:70:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:61:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:238:17: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
if (usage & GRALLOC_USAGE_HW_ION) {
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:248:34: error: use of undeclared identifier 'GRALLOC_USAGE_HWC_HWOVERLAY'
if (usage < 0 || usage & GRALLOC_USAGE_HWC_HWOVERLAY )
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:259:21: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
if (usage & GRALLOC_USAGE_PRIVATE_NONECACHE) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:275:21: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
if (usage & GRALLOC_USAGE_PRIVATE_NONECACHE) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:507:29: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
if (!(l_usage & GRALLOC_USAGE_HW_ION)) {
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:508:28: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
l_usage |= GRALLOC_USAGE_HW_ION; // Exynos HWC wants ION-friendly memory allocation
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:512:29: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
if (!(l_usage & GRALLOC_USAGE_PRIVATE_NONECACHE)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:513:28: error: use of undeclared identifier 'GRALLOC_USAGE_PRIVATE_NONECACHE'; did you mean 'GRALLOC_USAGE_PRIVATE_MASK'?
l_usage |= GRALLOC_USAGE_PRIVATE_NONECACHE; // Exynos HWC wants ION-friendly memory allocation
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GRALLOC_USAGE_PRIVATE_MASK
hardware/libhardware/include/hardware/gralloc.h:144:5: note: 'GRALLOC_USAGE_PRIVATE_MASK' declared here
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:525:24: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
l_usage |= GRALLOC_USAGE_HW_ION;
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:553:27: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
if (l_usage & GRALLOC_USAGE_HW_ION)
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:570:27: error: use of undeclared identifier 'GRALLOC_USAGE_HW_ION'
if (l_usage & GRALLOC_USAGE_HW_ION)
^
hardware/samsung/exynos4/hal/libgralloc_ump/alloc_device.cpp:664:62: warning: unused parameter 'name' [-Wunused-parameter]
int alloc_device_open(hw_module_t const* module, const char* name, hw_device_t** device)
^
5 warnings and 16 errors generated.
[ 0% 23/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/STATIC_LIBRARIES/liblights_helper_intermediates/lights_helper.o
target thumb C: liblights_helper <= hardware/samsung/liblights/lights_helper.c
[ 0% 24/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/SHARED_LIBRARIES/lights.smdk4x12_intermediates/lights.o
target thumb C: lights.smdk4x12 <= hardware/samsung/liblights/lights.c
[ 0% 25/63617] build setup-jack-server
Ensuring Jack server is installed and started
Jack server already installed in "/home/shaun/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Xmx8g -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/shaun/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
[ 0% 26/63617] build /home/shaun/Desktop/android/out/target/product/n7100/obj/KERNEL_OBJ/.config
Building Kernel Config
make: Entering directory '/home/shaun/Desktop/android/kernel/samsung/smdk4412'
GEN /home/shaun/Desktop/android/out/target/product/n7100/obj/KERNEL_OBJ/Makefile
arch/arm/mach-exynos/Kconfig:875:warning: choice value used outside its choice group
arch/arm/mach-exynos/Kconfig:877:warning: defaults for choice values not supported
warning: (SEC_MODEM_M0_C2C && SEC_MODEM_M0 && SEC_MODEM_U1 && SEC_MODEM_IRON && SEC_MODEM_T0_TD_DUAL) selects LINK_DEVICE_HSIC which has unmet direct dependencies (MISC_DEVICES && MACH_U1 && SEC_MODEM)
warning: (SEC_MODEM_M0_C2C && SEC_MODEM_M0 && SEC_MODEM_IRON && SEC_MODEM_T0_TD_DUAL) selects UMTS_MODEM_XMM6262 which has unmet direct dependencies (MISC_DEVICES && MACH_U1 && SEC_MODEM)
warning: (ARM) selects SECCOMP_FILTER which has unmet direct dependencies (HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET)
warning: (ARM) selects SECCOMP_FILTER which has unmet direct dependencies (HAVE_ARCH_SECCOMP_FILTER && SECCOMP && NET)
warning: (SEC_MODEM_M0_C2C && SEC_MODEM_M0 && SEC_MODEM_U1 && SEC_MODEM_IRON && SEC_MODEM_T0_TD_DUAL) selects LINK_DEVICE_HSIC which has unmet direct dependencies (MISC_DEVICES && MACH_U1 && SEC_MODEM)
warning: (SEC_MODEM_M0_C2C && SEC_MODEM_M0 && SEC_MODEM_IRON && SEC_MODEM_T0_TD_DUAL) selects UMTS_MODEM_XMM6262 which has unmet direct dependencies (MISC_DEVICES && MACH_U1 && SEC_MODEM)
#
Can someone tell me what step am i missing. I didn't get a shot of the vendor, it was done on another screen but it was from the Muppets git lge same branch. Thanks.
Samia Palos said:
If you wish to use with another rom this guide add
Code:
sudo apt install selinux
.
Click to expand...
Click to collapse
this caused to my machine to hang at ubuntu screen at reboot. I entered recovery mode and used sudo apt-get remove selinux but it still hangs.
any idea?
Airtioteclint said:
this caused to my machine to hang at ubuntu screen at reboot. I entered recovery mode and used sudo apt-get remove selinux but it still hangs.
any idea?
Click to expand...
Click to collapse
Don't actually install SELinux. You can build other ROMs just fine without it. (I have only really tried Lineage and Dirty Unicorns though.
Hey there eva0034. I appreciate you writing this up for people!
I attempted using this method for the Galaxy S6 (zerofltexx) but ran in to this hurdle when attempting to lunch.
Code:
[SIZE="3"][COLOR="seagreen"][email protected]:~/android$ lunch aosp_zerofltexx-userdebug[/COLOR]
vendor/aosp/config/bootanimation.mk:28: Target bootanimation res is undefined, using generic bootanimation
Looking for dependencies
Traceback (most recent call last):
File "build/tools/roomservice.py", line 368, in <module>
main()
File "build/tools/roomservice.py", line 312, in main
fetch_dependencies(repo_path)
File "build/tools/roomservice.py", line 225, in fetch_dependencies
dependencies = json.load(dep_f)
File "/usr/lib/python2.7/json/__init__.py", line 291, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 7 column 5 (char 123)[/SIZE]
These are the trees that I am using:
Code:
[SIZE="3"][COLOR="seagreen"][email protected]:~/android$ git clone https://github.com/TeamNexus/android_device_samsung_zerofltexx.git -b nx-8.1 device/samsung/zerofltexx[/COLOR]
Cloning into 'device/samsung/zerofltexx'...
remote: Counting objects: 389, done.
remote: Total 389 (delta 0), reused 0 (delta 0), pack-reused 389
Receiving objects: 100% (389/389), 8.31 MiB | 4.02 MiB/s, done.
Resolving deltas: 100% (220/220), done.
[COLOR="seagreen"][email protected]:~/android$ git clone https://github.com/TeamNexus/android_device_samsung_zero-common.git -b nx-8.1 device/samsung/zero-common[/COLOR]
Cloning into 'device/samsung/zero-common'...
remote: Counting objects: 11826, done.
remote: Compressing objects: 100% (92/92), done.
remote: Total 11826 (delta 58), reused 94 (delta 51), pack-reused 11683
Receiving objects: 100% (11826/11826), 21.12 MiB | 6.67 MiB/s, done.
Resolving deltas: 100% (7040/7040), done.
[COLOR="seagreen"][email protected]:~/android$ git clone https://github.com/TeamNexus/android_kernel_samsung_exynos7420.git -b nx-8.1 kernel/samsung/exynos7420[/COLOR]
Cloning into 'kernel/samsung/exynos7420'...
remote: Counting objects: 5141645, done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 5141645 (delta 20), reused 19 (delta 10), pack-reused 5141592
Receiving objects: 100% (5141645/5141645), 1.24 GiB | 9.76 MiB/s, done.
Resolving deltas: 100% (4260989/4260989), done.
Checking out files: 100% (48940/48940), done.
[COLOR="seagreen"][email protected]:~/android$ git clone https://github.com/TeamNexus/android_vendor_samsung_zero-common.git -b nx-8.1 vendor/samsung/zero-common[/COLOR]
Cloning into 'vendor/samsung/zero-common'...
remote: Counting objects: 2106, done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 2106 (delta 27), reused 48 (delta 14), pack-reused 2031
Receiving objects: 100% (2106/2106), 116.09 MiB | 9.64 MiB/s, done.
Resolving deltas: 100% (1151/1151), done.
Checking out files: 100% (486/486), done.
[/SIZE]
And this is what it looks like when I run the envsetup.sh:
Code:
[SIZE="3"][COLOR="SeaGreen"][email protected]:~/android$ . build/envsetup.sh[/COLOR]
including device/samsung/zerofltexx/vendorsetup.sh
including vendor/aosp/vendorsetup.sh
including sdk/bash_completion/adb.bash[/SIZE]
Wondering if you or anybody else has any ideas as to how to solve this? Do I have to add something to "aex_manifest.xml" in local_manifests perhaps? Thank you to anybody who may be able to help. Am new to this
Edit: Got past the above issues by using a roomservice.xml file and get to around 6% of actual compiling but it throws an error when it gets to building the kernel. I give up for now... too hard for my tiny brain
not doing anything after "make aex -j2"
It just show it at the bottom of the command line and does nothing
Thanks
Shmart1 said:
It just show it at the bottom of the command line and does nothing
Click to expand...
Click to collapse
Maybe if you typed the proper command it might work
Finally to build:
. build/envsetup.sh
lunch aosp_device_codename-userdebug
mka aex -jx
Can someone tell me how to install vendor tree and kernel? i use A605K device, and i researched a bit.
but i still don't know how to install kernel tree and vendor tree. i know device tree and common tree can be installed by put device name folder in sourcefolder/devices folder, and how can i build vendor tree and kernel tree?
tmvkrpxl0 said:
Can someone tell me how to install vendor tree and kernel? i use A605K device, and i researched a bit.
but i still don't know how to install kernel tree and vendor tree. i know device tree and common tree can be installed by put device name folder in sourcefolder/devices folder, and how can i build vendor tree and kernel tree?
Click to expand...
Click to collapse
Since there is no current developer for your device, you are going to have to do create all the trees and kernel all by yourself..
Where the android source code is stored in ubuntu 18.10?
---------- Post added at 08:03 PM ---------- Previous post was at 07:37 PM ----------
aoleary said:
Since there is no current developer for your device, you are going to have to do create all the trees and kernel all by yourself..
Click to expand...
Click to collapse
Can someone tell me where the android source code is stored in ubuntu 18.10?
Vladut123 said:
Where the android source code is stored in ubuntu 18.10?
---------- Post added at 08:03 PM ---------- Previous post was at 07:37 PM ----------
Can someone tell me where the android source code is stored in ubuntu 18.10?
Click to expand...
Click to collapse
You have to press Ctrl+H to see the repo folder
Sent from my [device_name] using XDA-Developers Legacy app
eva0034 said:
Build AOSP on ubuntu 18.04 Bionic Beaver
12. Download device specific trees
Kernel tree
Device tree
Device Common Tree
Vendor Tree
these are specific to each device so you need ones that match your device
Click to expand...
Click to collapse
can you tell more about these steps. For example, where I should download Kernel tree, to which directory? Or where I should download device tree and other components that you mention?
https://github.com/kegang0619/androi...msung_j5y17lte
https://github.com/kegang0619/androi...nos7870-common
Vendor tree:= https://github.com/kegang0619/android_vendor_samsung
Kernel Source:= https://github.com/kegang0619/FlareKernel_AOSP_V2
ROM Source:= https://github.com/AospExtended/plat...rameworks_base
Haste or Dogbin URL:=
https://del.dog/hixepifazo.rb
List Of Things You Have Tried To Do To Try And Resolve This Error:=
I'm building an AEX Oreo ROM. Here are the repositories I cloned https://github.com/kegang0619?tab=repositories
FAILED: TARGET_KERNEL_BINARIES
After a few searches, I thought that must be declared in the BoardConfig.mk of the device tree. But I couldn't figure out.
Any help would be appreciated.
What's the use of screen package?
I did the following but when i do make aex -j$(nproc) it gives this error
ninja: error: unknown target 'aex', did you mean 'dex'?