Build Aosp Extended on Ubuntu 18.04 (Bionic Beaver) - Android General

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'?

Related

[Q] Compiling Screencap for Samsung galaxy tab 2 10.1 4.1.1

Hi, I am trying to recompile the screencap executable to tweak the code for my needs.
Unfortunetaly, I get some compilation error when i compile the code
I am compiling with ndk-build from android-ndk-r9
Here is the log:
[email protected]:~/Development/Hello_Screencap-2$ /home/lafd/Development/android-ndk-r9/ndk-build
Android NDK: WARNING: APP_PLATFORM android-18 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
Compile++ thumb : Hello-Sreencap-2 <= Hello_Screencap-2.cpp
Executable : Hello-Sreencap-2
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:36: error: undefined reference to 'android::ScreenshotClient::ScreenshotClient()'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:41: error: undefined reference to 'android::SurfaceComposerClient::getBuiltInDisplay(int)'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:41: error: undefined reference to 'android::ScreenshotClient::update(android::sp<android::IBinder> const&)'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/utils/StrongPointer.h:149: error: undefined reference to 'android::RefBase::decStrong(void const*) const'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:44: error: undefined reference to 'android::ScreenshotClient::getWidth() const'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:45: error: undefined reference to 'android::ScreenshotClient::getHeight() const'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:46: error: undefined reference to 'android::ScreenshotClient::getFormat() const'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:47: error: undefined reference to 'android::ScreenshotClient::getSize() const'
/home/lafd/Development/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/Hello-Sreencap-2/Hello_Screencap-2.o: in function main:jni/Hello_Screencap-2.cpp:54: error: undefined reference to 'android::ScreenshotClient::~ScreenshotClient()'
collect2: ld returned 1 exit status
make: *** [obj/local/armeabi/Hello-Sreencap-2] Error 1
Well it seems that every calls that needs the android namespace can't be referenced.
But, SurfaceComposerClient is included which defines the android namespace
Here is the c++ code snippet:
#include <utils/RefBase.h>
#include <binder/IBinder.h>
#include <binder/MemoryHeapBase.h>
#include <gui/ISurfaceComposer.h>
#include <gui/SurfaceComposerClient.h>
#include <dlfcn.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
using namespace android;
static void do_save(const char *filename, const void *buf, size_t size)
{
int out = open(filename, O_RDWR|O_CREAT, 0666);
int len = write(out, buf, size);
printf("Wrote %d bytes to out.\n", len);
close(out);
}
int main (int ac, char **av)
{
ScreenshotClient ssc;
const void *pixels;
size_t size;
int buffer_index;
if(ssc.update( android::SurfaceComposerClient::getBuiltInDisplay( android::ISurfaceComposer::eDisplayIdMain)) != NO_ERROR )
{
//printf("Captured: w=%d, h=%d, format=%d\n");
ssc.getWidth();
ssc.getHeight();
ssc.getFormat();
size = ssc.getSize();
do_save(av[1], pixels, size);
}
else
{
printf(" screen shot client Captured Failed");
}
return 0;
}
And The Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SHARED_LIBRARIES := \
libcutils \
libutils \
libbinder \
libskia \
libui \
libgui
LOCAL_SRC_FILES:= \
Hello_Screencap-2.cpp
LOCAL_MODULE:= Hello-Sreencap-2
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES += \
external/skia/include/core \
external/skia/include/effects \
external/skia/include/images \
external/skia/src/ports \
external/skia/src/core \
external/skia/include/utils \
include $(BUILD_EXECUTABLE)
When I compile the screencap from cyanogenmod, the compilation works but when the executable runs it shows an error about CANNOT LINK EXECUTABLE cannot locate symbol Zn7androidscreenshotclient...
If you need more don't hesitate

[Q] Compiling gcc and toolchain for use ON android device

Hello all. I have built the android-ndk-r9d toolchain on my Ubuntu machine, and it will compile a few things like nmap and perl just fine with some tweaking (I forgot the links but there are projects that give the options to use when compiling these). But I haven't seen any successful compilations of more recent versions of gcc with bionic.
I did some digging around in spartacus' terminal-ide project, the point of which is to have java, vim, gcc for use on the device itself, I found that gcc was version 4.4.0. I have tried to reach him via email to see what ./configure settings he used, but to no response.
Has anyone else attempted this, to build android gcc in versions more recent than 4.4.0 for compiling software on the device? What configure settings have you tried, and how much have you modified the gcc source code itself? Or is everyone content to build other projects using their regular Linux box?
My device in question is a nexus 5, which has more than enough CPU power to do this, to quell any concerns people will have to that end.
Well, I had a day free yesterday and tried everything again, and I believe I hit the same stopping point error after correcting several others. Only this time, I made an actual script and patchfiles to handle everything to make this more organized. Again has anyone attempted to do this?
First, the script.
Code:
#!/bin/bash
HOME_DIR=/home/jmanley
GCC_BUILD_DIR=$HOME_DIR/gcc-android-build
HOST=arm-linux-androideabi
CFLAGS='-Wall -O -mandroid -mbionic'
LIBCFLAGS='-O2 -mandroid -mbionic'
LIBCPPFLAGS='-O2 -mandroid -mbionic'
LIBCXXFLAGS='-O2 -mandroid -mbionic -fno-implicit-templates'
PREFIX=/data
TOOLCHAIN_DIR=$HOME_DIR/arm-linux-androideabi-4.8
SYSROOT=$TOOLCHAIN_DIR/sysroot
GCC_VERSION=4.9.0
MPFR_VERSION=3.1.2
GMP_VERSION=6.0.0a
RENAMED_GMP_VERSION=6.0.0
MPC_VERSION=1.0.2
LDFLAGS='-lc -ldl -lgcc -lm -static'
LIBS='-lc -ldl -lgcc -lm -lsupc++ -lgnustl_shared -lgmp'
CC=arm-linux-androideabi-gcc
CXX=arm-linux-androideabi-g++
LD=arm-linux-androideabi-ld
RANLIB=arm-linux-androideabi-ranlib
AR=arm-linux-androideabi-ar
STRIP=arm-linux-androideabi-strip
PATH=$TOOLCHAIN_DIR/bin:$PATH
cd $HOME_DIR
mkdir $GCC_BUILD_DIR
tar -jxf gcc-$GCC_VERSION.tar.bz2
cd $HOME_DIR/gcc-$GCC_VERSION
tar -jxf ../gmp-$GMP_VERSION.tar.bz2
mv gmp-$RENAMED_GMP_VERSION gmp
tar -jxf ../mpfr-$MPFR_VERSION.tar.bz2
mv mpfr-$MPFR_VERSION mpfr
tar -zxf ../mpc-$MPC_VERSION.tar.gz
mv mpc-$MPC_VERSION mpc
patch -Np0 -i $HOME_DIR/getpagesize-gcc.patch
patch -Np0 -i $HOME_DIR/mpfr-impl.patch
patch -Np0 -i $HOME_DIR/libcpp-files.patch
patch -Np0 -i $HOME_DIR/libcpp-macro.patch
cd $GCC_BUILD_DIR
../gcc-$GCC_VERSION/configure \
--prefix=$PREFIX --host=$HOST --disable-option-checking --disable-ld \
--enable-shared --enable-languages=c \
--disable-bootstrap -disable-gold --disable-fortran --disable-libssp \
--disable-libquadmath --disable-libquadmath-support --disable-libada \
--disable-multilib --disable-libgomp --disable-cloog --disable-werror \
--with-sysroot=$SYSROOT --disable-nls --disable-long-long
make
sudo make install
Second, the actual error in question.
Code:
../../../gcc-4.9.0/gmp/mpz/powm_ui.c:162: error: undefined reference to '__gmpn_invert_limb'
divrem_1.c:228: error: undefined reference to '__gmpn_invert_limb'
divrem_1.c:149: error: undefined reference to '__gmpn_invert_limb'
divrem_2.c:91: error: undefined reference to '__gmpn_invert_limb'
collect2: error: ld returned 1 exit status
make[2]: *** [cc1] Error 1
make[2]: Leaving directory `/home/jmanley/gcc-android-build/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/home/jmanley/gcc-android-build'
make: *** [all] Error 2
Now, some of the patchfiles I made to fix previous errors. Is any of this recommended?
Code:
*** libiberty/getpagesize.c 2005-03-27 07:31:13.000000000 -0800
--- getpagesize.c 2014-07-13 14:59:40.270231633 -0700
***************
*** 60,71 ****
# endif /* PAGESIZE */
#endif /* GNU_OUR_PAGESIZE */
- int
- getpagesize (void)
- {
- return (GNU_OUR_PAGESIZE);
- }
-
#else /* VMS */
#if 0 /* older distributions of gcc-vms are missing <syidef.h> */
--- 60,65 ----
Code:
*** libcpp/files.c 2014-01-02 14:24:45.000000000 -0800
--- files.c 2014-07-13 19:09:23.685783988 -0700
***************
*** 716,726 ****
cpp_error (pfile, CPP_DL_WARNING,
"%s is shorter than expected", file->path);
file->buffer = _cpp_convert_input (pfile,
CPP_OPTION (pfile, input_charset),
buf, size + 16, total,
&file->buffer_start,
! &file->st.st_size);
file->buffer_valid = true;
return true;
--- 716,728 ----
cpp_error (pfile, CPP_DL_WARNING,
"%s is shorter than expected", file->path);
+ off_t ot = (off_t) file->st.st_size;
file->buffer = _cpp_convert_input (pfile,
CPP_OPTION (pfile, input_charset),
buf, size + 16, total,
&file->buffer_start,
! &ot);
! file->st.st_size = ot;
file->buffer_valid = true;
return true;
Code:
*** libcpp/macro.c 2014-02-18 22:05:55.000000000 -0800
--- macro.c 2014-07-13 19:55:27.751477291 -0700
***************
*** 250,256 ****
struct tm *tb = NULL;
struct stat *st = _cpp_get_file_stat (file);
if (st)
! tb = localtime (&st->st_mtime);
if (tb)
{
char *str = asctime (tb);
--- 250,260 ----
struct tm *tb = NULL;
struct stat *st = _cpp_get_file_stat (file);
if (st)
! {
! time_t tt = (time_t) st->st_mtime;
! tb = localtime (&tt);
! st->st_mtime = tt;
! }
if (tb)
{
char *str = asctime (tb);
Code:
*** mpfr/src/mpfr-impl.h 2013-03-13 08:37:36.000000000 -0700
--- mpfr-impl.h 2014-07-13 18:44:36.599599742 -0700
***************
*** 1135,1142 ****
#include <locale.h>
/* Warning! In case of signed char, the value of MPFR_DECIMAL_POINT may
be negative (the ISO C99 does not seem to forbid negative values). */
! #define MPFR_DECIMAL_POINT (localeconv()->decimal_point[0])
! #define MPFR_THOUSANDS_SEPARATOR (localeconv()->thousands_sep[0])
#else
#define MPFR_DECIMAL_POINT ((char) '.')
#define MPFR_THOUSANDS_SEPARATOR ('\0')
--- 1135,1142 ----
#include <locale.h>
/* Warning! In case of signed char, the value of MPFR_DECIMAL_POINT may
be negative (the ISO C99 does not seem to forbid negative values). */
! #define MPFR_DECIMAL_POINT ((char) '.')
! #define MPFR_THOUSANDS_SEPARATOR ('\0')
#else
#define MPFR_DECIMAL_POINT ((char) '.')
#define MPFR_THOUSANDS_SEPARATOR ('\0')

Android AOSP source code's static analyser don't work.

My computer use Ubuntu 16.04 X64 LTS, and I compile Android 6.0's source code.And I success compile all code.
Then, CODE_ROOT/build/envsetup.sh is every insteresting.Look this function
Code:
# Return driver for "make", if any (eg. static analyzer)
function getdriver()
{
local T="$1"
test "$WITH_STATIC_ANALYZER" = "0" && unset WITH_STATIC_ANALYZER
if [ -n "$WITH_STATIC_ANALYZER" ]; then
echo "\
$T/prebuilts/misc/linux-x86/analyzer/tools/scan-build/scan-build \
--use-analyzer $T/prebuilts/misc/linux-x86/analyzer/bin/analyzer \
--status-bugs \
--top=$T"
fi
}
then,I insert defect code in CODE_ROOT/frameworks/av/media/mediaserver/main_mediaserver.cpp
Code:
int main(int argc __unused, char** argv)
{
signal(SIGPIPE, SIG_IGN);
char value[PROPERTY_VALUE_MAX];
bool doLog = (property_get("ro.test_harness", value, "0") > 0) && (atoi(value) == 1);
int b = 3 / 0;
int bb = 3 / 0;
malloc(-1);
pid_t childPid;
// FIXME The advantage of making the process containing media.log service the parent process of
// the process that contains all the other real services, is that it allow
then, run these commands
Code:
WITH_STATIC_ANALYZER=1
mmm frameworks/av/media/mediaserver/
but,result is this
Code:
scan-build: Emitting reports for this run to '/tmp/scan-build-2016-10-10-214038-24568-1'.
make: Entering directory '/home/cao/code/aosp/6.0'
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-38-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_BUILD_TYPE=release
BUILD_ID=MRA58K
OUT_DIR=/mnt/big_disk/aosp/out/6.0
============================================
Import includes file: /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/import_includes
target thumb C++: libregistermsext <= frameworks/av/media/mediaserver/register.cpp
Export includes file: frameworks/av/media/mediaserver/Android.mk -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/export_includes
target StaticLib: libregistermsext (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/libregistermsext.a)
Import includes file: /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/import_includes
target thumb C++: mediaserver <= frameworks/av/media/mediaserver/main_mediaserver.cpp
frameworks/av/media/mediaserver/main_mediaserver.cpp: In function 'int main(int, char**)':
frameworks/av/media/mediaserver/main_mediaserver.cpp:49:15: warning: division by zero [-Wdiv-by-zero]
int b = 3 / 0;
^
frameworks/av/media/mediaserver/main_mediaserver.cpp:50:16: warning: division by zero [-Wdiv-by-zero]
int bb = 3 / 0;
^
frameworks/av/media/mediaserver/main_mediaserver.cpp:51:15: warning: ignoring return value of 'void* malloc(size_t)', declared with attribute warn_unused_result [-Wunused-result]
malloc(-1);
^
target Executable: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/LINKED/mediaserver)
target Unpacked: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/PACKED/mediaserver)
target Symbolic: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/symbols/system/bin/mediaserver)
Export includes file: frameworks/av/media/mediaserver/Android.mk -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/export_includes
target Strip: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/mediaserver)
Notice file: frameworks/av/media/mediaserver/NOTICE -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/NOTICE_FILES/src//system/bin/mediaserver.txt
Notice file: frameworks/av/media/mediaserver/NOTICE -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/NOTICE_FILES/src//system/lib/libregistermsext.a.txt
Install: /mnt/big_disk/aosp/out/6.0/target/product/generic/system/bin/mediaserver
make: Leaving directory '/home/cao/code/aosp/6.0'
scan-build: Removing directory '/tmp/scan-build-2016-10-10-214038-24568-1' because it contains no reports.
scan-build: No bugs found.
Obviously,clang warning these defects.But ! finally,<scan-build: No bugs found.>
WHY NO BUGS???
still fail
ic2y said:
My computer use Ubuntu 16.04 X64 LTS, and I compile Android 6.0's source code.And I success compile all code.
Then, CODE_ROOT/build/envsetup.sh is every insteresting.Look this function
Code:
# Return driver for "make", if any (eg. static analyzer)
function getdriver()
{
local T="$1"
test "$WITH_STATIC_ANALYZER" = "0" && unset WITH_STATIC_ANALYZER
if [ -n "$WITH_STATIC_ANALYZER" ]; then
echo "\
$T/prebuilts/misc/linux-x86/analyzer/tools/scan-build/scan-build \
--use-analyzer $T/prebuilts/misc/linux-x86/analyzer/bin/analyzer \
--status-bugs \
--top=$T"
fi
}
then,I insert defect code in CODE_ROOT/frameworks/av/media/mediaserver/main_mediaserver.cpp
Code:
int main(int argc __unused, char** argv)
{
signal(SIGPIPE, SIG_IGN);
char value[PROPERTY_VALUE_MAX];
bool doLog = (property_get("ro.test_harness", value, "0") > 0) && (atoi(value) == 1);
int b = 3 / 0;
int bb = 3 / 0;
malloc(-1);
pid_t childPid;
// FIXME The advantage of making the process containing media.log service the parent process of
// the process that contains all the other real services, is that it allow
then, run these commands
Code:
WITH_STATIC_ANALYZER=1
mmm frameworks/av/media/mediaserver/
but,result is this
Code:
scan-build: Emitting reports for this run to '/tmp/scan-build-2016-10-10-214038-24568-1'.
make: Entering directory '/home/cao/code/aosp/6.0'
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=6.0
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-38-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_BUILD_TYPE=release
BUILD_ID=MRA58K
OUT_DIR=/mnt/big_disk/aosp/out/6.0
============================================
Import includes file: /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/import_includes
target thumb C++: libregistermsext <= frameworks/av/media/mediaserver/register.cpp
Export includes file: frameworks/av/media/mediaserver/Android.mk -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/export_includes
target StaticLib: libregistermsext (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/STATIC_LIBRARIES/libregistermsext_intermediates/libregistermsext.a)
Import includes file: /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/import_includes
target thumb C++: mediaserver <= frameworks/av/media/mediaserver/main_mediaserver.cpp
frameworks/av/media/mediaserver/main_mediaserver.cpp: In function 'int main(int, char**)':
frameworks/av/media/mediaserver/main_mediaserver.cpp:49:15: warning: division by zero [-Wdiv-by-zero]
int b = 3 / 0;
^
frameworks/av/media/mediaserver/main_mediaserver.cpp:50:16: warning: division by zero [-Wdiv-by-zero]
int bb = 3 / 0;
^
frameworks/av/media/mediaserver/main_mediaserver.cpp:51:15: warning: ignoring return value of 'void* malloc(size_t)', declared with attribute warn_unused_result [-Wunused-result]
malloc(-1);
^
target Executable: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/LINKED/mediaserver)
target Unpacked: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/PACKED/mediaserver)
target Symbolic: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/symbols/system/bin/mediaserver)
Export includes file: frameworks/av/media/mediaserver/Android.mk -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/export_includes
target Strip: mediaserver (/mnt/big_disk/aosp/out/6.0/target/product/generic/obj/EXECUTABLES/mediaserver_intermediates/mediaserver)
Notice file: frameworks/av/media/mediaserver/NOTICE -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/NOTICE_FILES/src//system/bin/mediaserver.txt
Notice file: frameworks/av/media/mediaserver/NOTICE -- /mnt/big_disk/aosp/out/6.0/target/product/generic/obj/NOTICE_FILES/src//system/lib/libregistermsext.a.txt
Install: /mnt/big_disk/aosp/out/6.0/target/product/generic/system/bin/mediaserver
make: Leaving directory '/home/cao/code/aosp/6.0'
scan-build: Removing directory '/tmp/scan-build-2016-10-10-214038-24568-1' because it contains no reports.
scan-build: No bugs found.
Obviously,clang warning these defects.But ! finally,<scan-build: No bugs found.>
WHY NO BUGS???
Click to expand...
Click to collapse

[patch] Android Shell (mksh) bash_profile replacement

Android default shell is a bit tricky when you want to do customiztaion. So, i just happen to browsing a bit to its source and do a little patch. This is a bit dangerous coz it'll automatically eval the .shinit in /sdcard/ which we know some apps wight r/w that file, use with caution. Tested on x86, 4.4.2. ASUS Zenfone C.
Patch,
Code:
diff --git a/src/main.c b/src/main.c
index ebbadd9..712d5f9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -38,6 +38,10 @@ __RCSID("$MirOS: src/bin/mksh/main.c,v 1.322 2016/11/11 23:48:30 tg Exp $");
extern char **environ;
+#ifndef FORCE_LOAD
+#define FORCE_LOAD "/sdcard/.shinit"
+#endif
+
#ifndef MKSHRC_PATH
#define MKSHRC_PATH "~/.mkshrc"
#endif
@@ -619,6 +623,7 @@ main_init(int argc, const char *argv[], Source **sp, struct block **lp)
if (cp[0] != '\0')
include(cp, 0, NULL, true);
}
+ include(FORCE_LOAD, 0, NULL, true);
} else {
include(MKSH_SUID_PROFILE, 0, NULL, true);
/* turn off -p if not set explicitly */
Build-step, tweak a bit to compatible with your phone.
Code:
# clone repo
$ git clone https://android.googlesource.com/platform/external/mksh
# setting up standalone-toolchain
$ $NDK_ROOT/build/tools/make_standalone_toolchain.py --api 19 --install-dir toolchain/ --arch x86
$ export CROSS=toolchain/bin/i686-linux-android
$ export CC=${CROSS}-gcc
$ export AS=${CROSS}-as
$ export LD=${CROSS}-ld
$ export AR=${CROSS}-ar
# Apply patch
$ patch src/main.c android.patch
# Build time!
$ ./src/Build.sh
Push and replace mksh to android, dont forget to make a backup for original mksh in case things goes wrong.
This mksh will force load .shinit in /sdcard/ (/sdcard/.shinit). example for my .shinit,
Code:
export PATH=/data/local/bin:$PATH
alias bash='bash --rcfile /sdcard/bashrc'
alias gdb='gdb -q'
alias ll='ls -laH'

Error while building any AOSP ROM on MAC

I'm getting this error when trying to build any ROM on my MAC. I haven't even managed to build a single ROM due to this issue.
The code below is for the pixel experience ROM based on android 10 and the device I'm building for is the Xiaomi Redmi Note 3(kenzo).
All ROMs give me the exact same error.
Please help me guys. Really wanna learn...
The error:
Code:
PANKAJs-iMac:firstrom pankajjaiswal$ lunch aosp_kenzo-userdebug
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
Trying dependencies-only mode on a non-existing device tree?
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
CUSTOM_VERSION=PixelExperience_kenzo-10.0-20200224-1205-UNOFFICIAL
TARGET_PRODUCT=aosp_kenzo
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a53.a57
HOST_ARCH=x86_64
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-17.7.0-x86_64-10.13.6
HOST_BUILD_TYPE=release
BUILD_ID=QQ1B.200205.002
OUT_DIR=/Volumes/android/firstrom/out
PRODUCT_SOONG_NAMESPACES= hardware/qcom-caf/msm8952 frameworks/av/camera/cameraserver frameworks/av/services/camera/libcameraservice
============================================
PANKAJs-iMac:firstrom pankajjaiswal$ mka bacon -j4
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
CUSTOM_VERSION=PixelExperience_kenzo-10.0-20200224-1206-UNOFFICIAL
TARGET_PRODUCT=aosp_kenzo
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=cortex-a53
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=cortex-a53.a57
HOST_ARCH=x86_64
HOST_OS=darwin
HOST_OS_EXTRA=Darwin-17.7.0-x86_64-10.13.6
HOST_BUILD_TYPE=release
BUILD_ID=QQ1B.200205.002
OUT_DIR=/Volumes/android/firstrom/out
PRODUCT_SOONG_NAMESPACES= hardware/qcom-caf/msm8952 frameworks/av/camera/cameraserver frameworks/av/services/camera/libcameraservice
============================================
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
[100% 140/140] initializing build system ...
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
[ 24% 142/584] including art/Android.mk ...
art/build/Android.common.mk:51: warning: unsupported HOST_ARCH=x86_64
[ 59% 348/584] including hardware/qcom-caf/msm8952/Android.mk ...
hardware/qcom-caf/msm8952/media/Android.mk:4: warning: target list is : msm8952
[100% 584/584] writing build rules ...
build/make/core/base_rules.mk:495: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/etc/init/[email protected]'
build/make/core/base_rules.mk:495: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/etc/init/[email protected]'
build/make/core/base_rules.mk:495: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/etc/init/[email protected]'
build/make/core/base_rules.mk:495: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/etc/init/[email protected]'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/bin/wcnss_service'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/bin/wcnss_service'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/bin/hw/rild'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/bin/hw/rild'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/[email protected]'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/libril.so'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib/libril.so'
build/make/core/Makefile:28: warning: overriding commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib64/libril.so'
build/make/core/base_rules.mk:480: warning: ignoring old commands for target `/Volumes/android/firstrom/out/target/product/kenzo/system/vendor/lib64/libril.so'
[ 2% 1980/80076] target C++: libgps.utils <= device/xiaomi/msm8956-common/gps
device/xiaomi/msm8956-common/gps/utils/loc_cfg.cpp:384:11: warning: unused variable 'lasts' [-Wunused-variable]
char *lasts;
^
device/xiaomi/msm8956-common/gps/utils/loc_cfg.cpp:385:22: warning: unused variable 'config_value' [-Wunused-variable]
loc_param_v_type config_value;
^
device/xiaomi/msm8956-common/gps/utils/loc_cfg.cpp:386:14: warning: unused variable 'i' [-Wunused-variable]
uint32_t i;
^
3 warnings generated.
[ 2% 1986/80076] target C++: libloc_core <= device/xiaomi/msm8956-common/gps/
device/xiaomi/msm8956-common/gps/core/data-items/DataItemsFactoryProxy.cpp:71:79: warning: format specifies type 'unsigned int' but the argument has type 'loc_core::get_concrete_data_item_fn *' (aka 'loc_core::IDataItemCore *(*)(e_DataItemId)') [-Wformat]
LOC_LOGD("Loaded function %s : %x",DATA_ITEMS_GET_CONCRETE_DI,getConcreteDIFunc);
~~ ^~~~~~~~~~~~~~~~~
device/xiaomi/msm8956-common/gps/utils/log_util.h:110:43: note: expanded from macro 'LOC_LOGD'
#define LOC_LOGD(...) IF_LOC_LOGD { ALOGD(__VA_ARGS__); }
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:226:52: note: expanded from macro 'ALOGD'
#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))
^~~~~~~~~~~
system/core/liblog/include/log/log_main.h:331: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:94: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:85:34: note: expanded from macro 'android_printLog'
__android_log_print(prio, tag, __VA_ARGS__)
^~~~~~~~~~~
1 warning generated.
[ 2% 1987/80076] target C++: libloc_core <= device/xiaomi/msm8956-common/gps/
device/xiaomi/msm8956-common/gps/core/loc_core_log.cpp:105:34: warning: variable 'loc_eng_aiding_data_bits' is not needed and will not be emitted [-Wunneeded-internal-declaration]
static const loc_name_val_s_type loc_eng_aiding_data_bits[] =
^
device/xiaomi/msm8956-common/gps/core/loc_core_log.cpp:121:18: warning: unused variable 'loc_eng_aiding_data_bit_num' [-Wunused-const-variable]
static const int loc_eng_aiding_data_bit_num = sizeof(loc_eng_aiding_data_bits) / sizeof(loc_name_val_s_type);
^
2 warnings generated.
[ 2% 1991/80076] target C++: libgps.utils <= device/xiaomi/msm8956-common/gps
device/xiaomi/msm8956-common/gps/utils/loc_target.cpp:216:9: warning: unused variable 'ret' [-Wunused-variable]
int ret = 0;
^
1 warning generated.
[ 2% 2008/80076] target C++: libgps.utils <= device/xiaomi/msm8956-common/gps
device/xiaomi/msm8956-common/gps/utils/loc_nmea.cpp:985:11: warning: unused variable 'pMarker' [-Wunused-variable]
char* pMarker = sentence;
^
device/xiaomi/msm8956-common/gps/utils/loc_nmea.cpp:986:9: warning: unused variable 'lengthRemaining' [-Wunused-variable]
int lengthRemaining = sizeof(sentence);
^
device/xiaomi/msm8956-common/gps/utils/loc_nmea.cpp:987:9: warning: unused variable 'length' [-Wunused-variable]
int length = 0;
^
device/xiaomi/msm8956-common/gps/utils/loc_nmea.cpp:989:9: warning: unused variable 'sentenceCount' [-Wunused-variable]
int sentenceCount = 0;
^
device/xiaomi/msm8956-common/gps/utils/loc_nmea.cpp:990:9: warning: unused variable 'sentenceNumber' [-Wunused-variable]
int sentenceNumber = 1;
^
5 warnings generated.
[ 2% 2024/80076] target C++: libloc_core <= device/xiaomi/msm8956-common/gps/
device/xiaomi/msm8956-common/gps/core/SystemStatus.cpp:1423:37: warning: 'reinterpret_cast' to class 'loc_core::SystemStatusNetworkInfo *' from its base at non-zero offset 'loc_core::IDataItemCore *' behaves differently from 'static_cast' [-Wreinterpret-base-class]
SystemStatusNetworkInfo* data = reinterpret_cast<SystemStatusNetworkInfo*>(dataitem);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
device/xiaomi/msm8956-common/gps/core/SystemStatus.cpp:1423:37: note: use 'static_cast' to adjust the pointer correctly while downcasting
SystemStatusNetworkInfo* data = reinterpret_cast<SystemStatusNetworkInfo*>(dataitem);
^~~~~~~~~~~~~~~~
static_cast
device/xiaomi/msm8956-common/gps/core/SystemStatus.cpp:1570:12: warning: 26 enumeration values not handled in switch: 'INVALID_DATA_ITEM_ID', 'AIRPLANEMODE_DATA_ITEM_ID', 'ENH_DATA_ITEM_ID'... [-Wswitch]
switch(dataitem->getId())
^
2 warnings generated.
[ 2% 2034/80076] target C++: libgnss <= device/xiaomi/msm8956-common/gps/gnss
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:205:33: warning: 'reinterpret_cast' to class 'loc_core::SystemStatusNetworkInfo *' from its base at non-zero offset 'loc_core::IDataItemCore *' behaves differently from 'static_cast' [-Wreinterpret-base-class]
reinterpret_cast<SystemStatusNetworkInfo*>(each);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:205:33: note: use 'static_cast' to adjust the pointer correctly while downcasting
reinterpret_cast<SystemStatusNetworkInfo*>(each);
^~~~~~~~~~~~~~~~
static_cast
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:213:48: warning: 'reinterpret_cast' to class 'loc_core::SystemStatusTac *' from its base at non-zero offset 'loc_core::IDataItemCore *' behaves differently from 'static_cast' [-Wreinterpret-base-class]
SystemStatusTac* tac = reinterpret_cast<SystemStatusTac*>(each);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:213:48: note: use 'static_cast' to adjust the pointer correctly while downcasting
SystemStatusTac* tac = reinterpret_cast<SystemStatusTac*>(each);
^~~~~~~~~~~~~~~~
static_cast
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:220:54: warning: 'reinterpret_cast' to class 'loc_core::SystemStatusMccMnc *' from its base at non-zero offset 'loc_core::IDataItemCore *' behaves differently from 'static_cast' [-Wreinterpret-base-class]
SystemStatusMccMnc* mccmnc = reinterpret_cast<SystemStatusMccMnc*>(each);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
device/xiaomi/msm8956-common/gps/gnss/XtraSystemStatusObserver.cpp:220:54: note: use 'static_cast' to adjust the pointer correctly while downcasting
SystemStatusMccMnc* mccmnc = reinterpret_cast<SystemStatusMccMnc*>(each);
^~~~~~~~~~~~~~~~
static_cast
3 warnings generated.
[ 2% 2036/80076] target C++: liblocation_api <= device/xiaomi/msm8956-common/
device/xiaomi/msm8956-common/gps/location/LocationAPIClientBase.cpp:156:18: warning: unused variable 'session' [-Wunused-variable]
uint32_t session = 0;
^
1 warning generated.
[ 3% 2406/80076] target C: libwpa_client <= external/wpa_supplicant_8/wpa_sup
external/wpa_supplicant_8/wpa_supplicant/src/common/wpa_ctrl.c:291:9: warning: 'readdir_r' is deprecated: readdir_r is deprecated; use readdir instead [-Wdeprecated-declarations]
while (readdir_r(dir, &entry, &result) == 0 && result != NULL) {
^
bionic/libc/include/dirent.h:83:92: note: 'readdir_r' has been explicitly marked deprecated here
int readdir_r(DIR* __dir, struct dirent* __entry, struct dirent** __buffer) __attribute__((__deprecated__("readdir_r is deprecated; use readdir instead")));
^
1 warning generated.
[ 3% 2447/80076] Building Kernel Config
FAILED: /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/.config
/bin/bash -c "(PATH=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-/bin:\$PATH PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/bin:\$PATH LD_LIBRARY_PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/lib:\$LD_LIBRARY_PATH PERL5LIB=/Volumes/android/firstrom/prebuilts/tools-custom/common/perl-base /Volumes/android/firstrom/prebuilts/build-tools/darwin-x86/bin/make -j CFLAGS_MODULE=\"-fno-pic\" HOSTCFLAGS=\"-I/Volumes/android/firstrom/external/elfutils/libelf -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib\" HOSTCC=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-gcc HOSTCXX=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ -C kernel/xiaomi/msm8956 O=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/local/bin/ccache /Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-\" VARIANT_DEFCONFIG= SELINUX_DEFCONFIG= lineageos_kenzo_defconfig ) && (if [ ! -z \"\" ]; then echo \"Overriding kernel config with ''\"; echo >> /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/.config; PATH=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-/bin:\$PATH PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/bin:\$PATH LD_LIBRARY_PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/lib:\$LD_LIBRARY_PATH PERL5LIB=/Volumes/android/firstrom/prebuilts/tools-custom/common/perl-base /Volumes/android/firstrom/prebuilts/build-tools/darwin-x86/bin/make -j CFLAGS_MODULE=\"-fno-pic\" HOSTCFLAGS=\"-I/Volumes/android/firstrom/external/elfutils/libelf -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib\" HOSTCC=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-gcc HOSTCXX=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ -C kernel/xiaomi/msm8956 O=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/local/bin/ccache /Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-\" oldconfig; fi ) && (PATH=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-/bin:\$PATH PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/bin:\$PATH LD_LIBRARY_PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/lib:\$LD_LIBRARY_PATH PERL5LIB=/Volumes/android/firstrom/prebuilts/tools-custom/common/perl-base /Volumes/android/firstrom/prebuilts/build-tools/darwin-x86/bin/make -j CFLAGS_MODULE=\"-fno-pic\" HOSTCFLAGS=\"-I/Volumes/android/firstrom/external/elfutils/libelf -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib\" HOSTCC=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-gcc HOSTCXX=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ -C kernel/xiaomi/msm8956 O=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/local/bin/ccache /Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-\" savedefconfig ) && (if [ ! -z \"\" ]; then echo \"Using additional config ''\"; kernel/xiaomi/msm8956/scripts/kconfig/merge_config.sh -m -O /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/.config kernel/xiaomi/msm8956/arch/arm64/configs/; PATH=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-/bin:\$PATH PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/bin:\$PATH LD_LIBRARY_PATH=/Volumes/android/firstrom/prebuilts/tools-custom/darwin-x86/lib:\$LD_LIBRARY_PATH PERL5LIB=/Volumes/android/firstrom/prebuilts/tools-custom/common/perl-base /Volumes/android/firstrom/prebuilts/build-tools/darwin-x86/bin/make -j CFLAGS_MODULE=\"-fno-pic\" HOSTCFLAGS=\"-I/Volumes/android/firstrom/external/elfutils/libelf -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib\" HOSTCC=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-gcc HOSTCXX=/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1/bin/i686-apple-darwin11-g++ -C kernel/xiaomi/msm8956 O=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/local/bin/ccache /Volumes/android/firstrom/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"/Volumes/android/firstrom/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androidkernel-\" KCONFIG_ALLCONFIG=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/.config alldefconfig; fi )"
make: Entering directory '/Volumes/android/firstrom/kernel/xiaomi/msm8956'
GEN /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/Makefile
HOSTCC scripts/basic/fixdep
couldn't understand kern.osversion `17.7.0'
i686-apple-darwin11-gcc: error trying to exec 'as': execvp: No such file or directory
make[2]: *** [scripts/Makefile.host:118: scripts/basic/fixdep] Error 1
make[1]: *** [/Volumes/android/firstrom/kernel/xiaomi/msm8956/Makefile:425: scripts_basic] Error 2
make: *** [Makefile:130: sub-make] Error 2
make: Leaving directory '/Volumes/android/firstrom/kernel/xiaomi/msm8956'
17:49:38 ninja failed with: exit status 1
#### failed to build some targets (13:45 (mm:ss)) ####
PANKAJs-iMac:firstrom pankajjaiswal$
Seppppx said:
I don't know what the error means, but this is the error.
KCONFIG_ALLCONFIG=/Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/.config alldefconfig; fi )"
make: Entering directory '/Volumes/android/firstrom/kernel/xiaomi/msm8956'
GEN /Volumes/android/firstrom/out/target/product/kenzo/obj/KERNEL_OBJ/Makefile
HOSTCC scripts/basic/fixdep
couldn't understand kern.osversion `17.7.0'
i686-apple-darwin11-gcc: error trying to exec 'as': execvp: No such file or directory
make[2]: *** [scripts/Makefile.host:118: scripts/basic/fixdep] Error 1
make[1]: *** [/Volumes/android/firstrom/kernel/xiaomi/msm8956/Makefile:425: scripts_basic] Error 2
make: *** [Makefile:130: sub-make] Error 2
make: Leaving directory '/Volumes/android/firstrom/kernel/xiaomi/msm8956'
17:49:38 ninja failed with: exit status 1
#### failed to build some targets (13:45 (mm:ss))
Click to expand...
Click to collapse
Ye ik,
i686-apple-darwin11-gcc: error trying to exec 'as': execvp: No such file or directory
But I can't figure out why, I know some people that compilation on Catalina is not broken. I'm running High Sierra tho
Can someone help?
Bro did u solve it?
0

Categories

Resources