Hello XDA users!
I'm so confused with this thing. I've been trying to do that nearly a month. After a billion google queries and phone reboots (if my N4 could throw up, it would) I got nothing.
First of all, I can't compile the kernel.
Sys info: I'm on Arch Linux 3.12.1-3-ARCH 64 bit.
I have all the three google toolchains (arm-linux-androideabi-4.{6,7,8}) and currently I'm trying with 4.8.
With default config (I stress that) I get this: http://showterm.io/1a41b9af919653f53a890
I use google's repo (https://android.googlesource.com/kernel/msm.git) on the android-msm-mako-3.4-kitkat-mr0 branch (I use occam-krt16o build on my N4).
I know this must be noobish problem, but I have no idea what's the problem...
Thanks in advance!
I've got some news!
First of all, you need to edit scripts/gcc-wrapper.py to use python2.7 and not 3.
However, 4.8 toolchain spits some errors and I'm not really into casting spells just to compile with 4.8 instead of 4.7. If there is a major difference between them (performance improvements etc.) I'll look into it.
Now it's time to implement the framebuffer changes to the .config
for more info:
http://forum.xda-developers.com/showpost.php?p=10075806&postcount=3
http://forum.xda-developers.com/showpost.php?p=18256605&postcount=1
UPDATE: Well, I applied this patch (https://github.com/Tasssadar/kernel...a9d#diff-94babbe85a910bf17f882465a760c431R608), I can only get blank screen. Any ideas?
Bump.
Hi does anyone know how to get this to work.
I have an Alcatel OT918D ANDROID 2.3.5.
I have managed to compile my own kernel and boot it. But for adding the frame buffer option in the makefile I get this error during compilation:
**************************************************************************************************************
drivers/video/console/fbcon.c:638: note: expected 'struct file *' but argument is of type 'struct fb_info *'
drivers/video/console/fbcon.c:638: error: too few arguments to function 'info->fbops->fb_open'
drivers/video/console/fbcon.c: In function 'con2fb_release_oldinfo':
drivers/video/console/fbcon.c:670: warning: passing argument 1 of 'oldinfo->fbops->fb_release' from incompatible pointer type
drivers/video/console/fbcon.c:670: note: expected 'struct file *' but argument is of type 'struct fb_info *'
drivers/video/console/fbcon.c:670: error: too few arguments to function 'oldinfo->fbops->fb_release'
drivers/video/console/fbcon.c:673: warning: passing argument 1 of 'newinfo->fbops->fb_release' from incompatible pointer type
drivers/video/console/fbcon.c:673: note: expected 'struct file *' but argument is of type 'struct fb_info *'
drivers/video/console/fbcon.c:673: error: too few arguments to function 'newinfo->fbops->fb_release'
drivers/video/console/fbcon.c: In function 'fbcon_startup':
drivers/video/console/fbcon.c:868: warning: passing argument 1 of 'info->fbops->fb_open' from incompatible pointer type
drivers/video/console/fbcon.c:868: note: expected 'struct file *' but argument is of type 'struct fb_info *'
drivers/video/console/fbcon.c:868: error: too few arguments to function 'info->fbops->fb_open'
drivers/video/console/fbcon.c: In function 'fbcon_exit':
drivers/video/console/fbcon.c:3388: warning: passing argument 1 of 'info->fbops->fb_release' from incompatible pointer type
drivers/video/console/fbcon.c:3388: note: expected 'struct file *' but argument is of type 'struct fb_info *'
drivers/video/console/fbcon.c:3388: error: too few arguments to function 'info->fbops->fb_release'
make[3]: *** [drivers/video/console/fbcon.o] Error 1
make[2]: *** [drivers/video/console] Error 2
make[1]: *** [drivers/video] Error 2
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
CC [M] ../mediatek/source/kernel/drivers/lttng/probes/net-extended-trace.o
CC [M] ../mediatek/source/kernel/drivers/lttng/probes/block-trace.o
CC ../mediatek/source/kernel/kernel/trace_mt65xx_mon.o
LD [M] ../mediatek/source/kernel/drivers/lttng/ltt-relay.o
CC ../mediatek/source/kernel/drivers/m4u/m4u_kernel.o
../mediatek/source/kernel/drivers/m4u/m4u_kernel.c: In function 'm4u_user_v2p':
../mediatek/source/kernel/drivers/m4u/m4u_kernel.c:66: warning: format '%d' expects type 'int', but argument 3 has type 'struct task_struct *'
************************************************************************************************************
ok i have decided to make my own kernel.....but i dont know what is wrong everything is just good but at the end i dont get anything...
The guides i am using :-
http://forum.xda-developers.com/showthread.php?t=1748297
http://forum.xda-developers.com/showthread.php?t=2021202
I am using a prebuild ubuntu build it contains all the packages....
Using matrix kernel source :-https://github.com/mathkid95/linux_lg_kitkat
And google toolchain.
This is what i get:-
[email protected]:~/android/kernel/kitkat$ export ARCH=arm
[email protected]:~/android/kernel/kitkat$ export CROSS_COMPILE=/home/android/android/toolchain/arm-linux-androideabi-4.8/bin/arm-linux-androideabi-
[email protected]:~/android/kernel/kitkat$ make mako_defconfig
init/Kconfig:1265:warning: defaults for choice values not supported
warning: (ARCH_MSM_KRAITMP && ARCH_MSM_CORTEX_A5) selects HAVE_HW_BRKPT_RESERVED_RW_ACCESS which has unmet direct dependencies (HAVE_HW_BREAKPOINT)
warning: (ARCH_MSM_KRAITMP && ARCH_MSM_CORTEX_A5) selects HAVE_HW_BRKPT_RESERVED_RW_ACCESS which has unmet direct dependencies (HAVE_HW_BREAKPOINT)
#
# configuration written to .config
#
[email protected]:~/android/kernel/kitkat$ make -j4
scripts/kconfig/conf --silentoldconfig Kconfig
init/Kconfig:1265:warning: defaults for choice values not supported
warning: (ARCH_MSM_KRAITMP && ARCH_MSM_CORTEX_A5) selects HAVE_HW_BRKPT_RESERVED_RW_ACCESS which has unmet direct dependencies (HAVE_HW_BREAKPOINT)
warning: (ARCH_MSM_KRAITMP && ARCH_MSM_CORTEX_A5) selects HAVE_HW_BRKPT_RESERVED_RW_ACCESS which has unmet direct dependencies (HAVE_HW_BREAKPOINT)
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm/mach-msm/cpufreq.o
arch/arm/mach-msm/cpufreq.c: In function 'msm_cpufreq_target':
arch/arm/mach-msm/cpufreq.c:103:2: error: implicit declaration of function 'cpufreq_frequency_get_table' [-Werror=implicit-function-declaration]
table = cpufreq_frequency_get_table(policy->cpu);
^
arch/arm/mach-msm/cpufreq.c:103:8: warning: assignment makes pointer from integer without a cast [enabled by default]
table = cpufreq_frequency_get_table(policy->cpu);
^
arch/arm/mach-msm/cpufreq.c:104:2: error: implicit declaration of function 'cpufreq_frequency_table_target' [-Werror=implicit-function-declaration]
if (cpufreq_frequency_table_target(policy, table, target_freq, relation,
^
arch/arm/mach-msm/cpufreq.c:111:2: error: invalid use of undefined type 'struct cpufreq_frequency_table'
pr_debug("CPU[%d] target %d relation %d (%d-%d) selected %d\n",
^
In file included from include/linux/kernel.h:22:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/stat.h:60,
from include/linux/module.h:10,
from arch/arm/mach-msm/cpufreq.c:22:
arch/arm/mach-msm/cpufreq.c:113:34: error: dereferencing pointer to incomplete type
policy->min, policy->max, table[index].frequency);
^
include/linux/printk.h:202:38: note: in definition of macro 'pr_debug'
no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
^
arch/arm/mach-msm/cpufreq.c:115:2: error: invalid use of undefined type 'struct cpufreq_frequency_table'
ret = set_cpu_freq(policy, table[index].frequency);
^
arch/arm/mach-msm/cpufreq.c:115:34: error: dereferencing pointer to incomplete type
ret = set_cpu_freq(policy, table[index].frequency);
^
arch/arm/mach-msm/cpufreq.c: In function 'msm_cpufreq_limits_init':
arch/arm/mach-msm/cpufreq.c:145:9: warning: assignment makes pointer from integer without a cast [enabled by default]
table = cpufreq_frequency_get_table(cpu);
^
arch/arm/mach-msm/cpufreq.c:151:3: error: invalid use of undefined type 'struct cpufreq_frequency_table'
for (i = 0; (table.frequency != CPUFREQ_TABLE_END); i++) {
^
arch/arm/mach-msm/cpufreq.c:151:21: error: dereferencing pointer to incomplete type
for (i = 0; (table.frequency != CPUFREQ_TABLE_END); i++) {
^
arch/arm/mach-msm/cpufreq.c:151:38: error: 'CPUFREQ_TABLE_END' undeclared (first use in this function)
for (i = 0; (table.frequency != CPUFREQ_TABLE_END); i++) {
^
arch/arm/mach-msm/cpufreq.c:151:38: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-msm/cpufreq.c:152:4: error: invalid use of undefined type 'struct cpufreq_frequency_table'
if (table.frequency > max)
^
arch/arm/mach-msm/cpufreq.c:152:13: error: dereferencing pointer to incomplete type
if (table.frequency > max)
^
arch/arm/mach-msm/cpufreq.c:153:5: error: invalid use of undefined type 'struct cpufreq_frequency_table'
max = table.frequency;
^
arch/arm/mach-msm/cpufreq.c:153:16: error: dereferencing pointer to incomplete type
max = table.frequency;
^
arch/arm/mach-msm/cpufreq.c:154:4: error: invalid use of undefined type 'struct cpufreq_frequency_table'
if (table.frequency < min)
^
arch/arm/mach-msm/cpufreq.c:154:13: error: dereferencing pointer to incomplete type
if (table.frequency < min)
^
arch/arm/mach-msm/cpufreq.c:155:5: error: invalid use of undefined type 'struct cpufreq_frequency_table'
min = table.frequency;
^
arch/arm/mach-msm/cpufreq.c:155:16: error: dereferencing pointer to incomplete type
min = table.frequency;
^
arch/arm/mach-msm/cpufreq.c: In function 'msm_cpufreq_init':
arch/arm/mach-msm/cpufreq.c:201:8: warning: assignment makes pointer from integer without a cast [enabled by default]
table = cpufreq_frequency_get_table(policy->cpu);
^
arch/arm/mach-msm/cpufreq.c:212:2: error: implicit declaration of function 'cpufreq_frequency_table_cpuinfo' [-Werror=implicit-function-declaration]
if (cpufreq_frequency_table_cpuinfo(policy, table)) {
^
arch/arm/mach-msm/cpufreq.c:233:2: error: invalid use of undefined type 'struct cpufreq_frequency_table'
if (cur_freq != table[index].frequency) {
^
arch/arm/mach-msm/cpufreq.c:233:23: error: dereferencing pointer to incomplete type
if (cur_freq != table[index].frequency) {
^
arch/arm/mach-msm/cpufreq.c:235:3: error: invalid use of undefined type 'struct cpufreq_frequency_table'
ret = acpuclk_set_rate(policy->cpu, table[index].frequency,
^
arch/arm/mach-msm/cpufreq.c:235:44: error: dereferencing pointer to incomplete type
ret = acpuclk_set_rate(policy->cpu, table[index].frequency,
^
arch/arm/mach-msm/cpufreq.c:239:3: error: invalid use of undefined type 'struct cpufreq_frequency_table'
pr_info("cpufreq: cpu%d init at %d switching to %d\n",
^
In file included from include/linux/kernel.h:22:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/stat.h:60,
from include/linux/module.h:10,
from arch/arm/mach-msm/cpufreq.c:22:
arch/arm/mach-msm/cpufreq.c:240:33: error: dereferencing pointer to incomplete type
policy->cpu, cur_freq, table[index].frequency);
^
include/linux/printk.h:179:34: note: in definition of macro 'pr_info'
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
^
arch/arm/mach-msm/cpufreq.c:241:3: error: invalid use of undefined type 'struct cpufreq_frequency_table'
cur_freq = table[index].frequency;
^
arch/arm/mach-msm/cpufreq.c:241:19: error: dereferencing pointer to incomplete type
cur_freq = table[index].frequency;
^
arch/arm/mach-msm/cpufreq.c: At top level:
arch/arm/mach-msm/cpufreq.c:310:3: error: 'cpufreq_freq_attr_scaling_available_freqs' undeclared here (not in a function)
&cpufreq_freq_attr_scaling_available_freqs,
^
cc1: some warnings being treated as errors
make[1]: *** [arch/arm/mach-msm/cpufreq.o] Error 1
make: *** [arch/arm/mach-msm] Error 2
make: *** Waiting for unfinished jobs....
GZIP kernel/config_data.gz
CHK kernel/config_data.h
[email protected]:~/android/kernel/kitkat$
Click to expand...
Click to collapse
help me guys...im doing this for the first time.......
What should i do...
Also tell me how can i add other kernel features like faux sound...thank you..
Hey guys
I've a problem with compiling my kernel, especially with one thing. The error has to do with block/elevator.o, does anybody know a fix for this build error?
Code:
CC block/elevator.o
block/elevator.c: In function ‘elv_reinsert_request’:
block/elevator.c:628:38: error: ‘struct elevator_ops’ has no member named ‘elevator_reinsert_req_fn’
if (!q->elevator->elevator_type->ops.elevator_reinsert_req_fn)
^
block/elevator.c:631:39: error: ‘struct elevator_ops’ has no member named ‘elevator_reinsert_req_fn’
res = q->elevator->elevator_type->ops.elevator_reinsert_req_fn(q, rq);
^
block/elevator.c: In function ‘elv_completed_request’:
block/elevator.c:854:4: error: ‘struct request_queue’ has no member named ‘notified_urgent’
q->notified_urgent = false;
^
block/elevator.c:855:4: error: ‘struct request_queue’ has no member named ‘dispatched_urgent’
q->dispatched_urgent = false;
^
make[1]: *** [block/elevator.o] Error 1
make: *** [block] Error 2
make: *** Waiting for unfinished jobs....
Thanks in advance!
Anyone?
So I've build aosp in the past for nexus 10 but figured with some xda help we might be able to get this running.
device/samsung/manta/ revision="android-m-preview-2"
kernel is prebuilt and included in device tree
binaries are newest available Android 5.1.1 (LMY48T)
current problem I'm having is with Bluetooth
Code:
target thumb C: libbt-brcm_bta <= system/bt/bta/./dm/bta_dm_act.c
system/bt/bta/./dm/bta_dm_act.c: In function 'bta_dm_set_visibility':
system/bt/bta/./dm/bta_dm_act.c:542:5: warning: implicit declaration of function 'BTM_BleReadDiscoverability' [-Wimplicit-function-declaration]
UINT16 le_disc_mode = BTM_BleReadDiscoverability();
^
system/bt/bta/./dm/bta_dm_act.c:544:5: warning: implicit declaration of function 'BTM_BleReadConnectability' [-Wimplicit-function-declaration]
UINT16 le_conn_mode = BTM_BleReadConnectability();
^
system/bt/bta/./dm/bta_dm_act.c: In function 'bta_dm_remove_device':
system/bt/bta/./dm/bta_dm_act.c:669:85: error: 'tBTA_DM_PEER_DEVICE' has no member named 'transport'
btm_remove_acl( p_dev->bd_addr, bta_dm_cb.device_list.peer_device[i].transport);
^
In file included from system/bt/bta/../include/bt_target.h:1714:0,
from system/bt/bta/./dm/bta_dm_act.c:26:
system/bt/bta/./dm/bta_dm_act.c:671:71: error: 'tBTA_DM_PEER_DEVICE' has no member named 'transport'
bta_dm_cb.device_list.peer_device[i].transport);
^
system/bt/bta/../include/bt_trace.h:369:181: note: in definition of macro 'APPL_TRACE_DEBUG'
#define APPL_TRACE_DEBUG(...) {if (appl_trace_level >= BT_TRACE_LEVEL_DEBUG) LogMsg(TRACE_CTRL_GENERAL | TRACE_LAYER_NONE | TRACE_ORG_APPL | TRACE_TYPE_DEBUG, ##__VA_ARGS__);}
^
system/bt/bta/./dm/bta_dm_act.c:674:56: error: 'tBTA_DM_PEER_DEVICE' has no member named 'transport'
if(bta_dm_cb.device_list.peer_device[i].transport == BT_TRANSPORT_LE)
^
system/bt/bta/./dm/bta_dm_act.c:690:5: warning: implicit declaration of function 'BTM_ReadConnectedTransportAddress' [-Wimplicit-function-declaration]
if ((other_transport && (BTM_ReadConnectedTransportAddress(other_address, other_transport))) ||
^
system/bt/bta/./dm/bta_dm_act.c:701:82: error: 'tBTA_DM_PEER_DEVICE' has no member named 'transport'
btm_remove_acl(other_address,bta_dm_cb.device_list.peer_device[i].transport);
^
system/bt/bta/./dm/bta_dm_act.c: In function 'bta_dm_discover_device':
system/bt/bta/./dm/bta_dm_act.c:2318:52: error: 'tBTM_INQ_RESULTS' has no member named 'device_type'
&& (bta_dm_search_cb.p_btm_inq_info->results.device_type == BT_DEVICE_TYPE_BLE)
^
build/core/binary.mk:801: recipe for target 'out/target/product/manta/obj/STATIC_LIBRARIES/libbt-brcm_bta_intermediates/./dm/bta_dm_act.o' failed
make: *** [out/target/product/manta/obj/STATIC_LIBRARIES/libbt-brcm_bta_intermediates/./dm/bta_dm_act.o] Error 1
#### make failed to build some targets (22:50 (mm:ss)) ####
got past the bluetooth problem
looks like i needed to enable BLE
http://review.cyanogenmod.org/#/c/46447
now another problem but this shouldn't be as hard to deal with:
Code:
target thumb C: audio.primary.manta <= device/samsung/manta/audio/audio_hw.c
device/samsung/manta/audio/audio_hw.c:35:36: fatal error: videodev2_exynos_media.h: No such file or directory
#include <videodev2_exynos_media.h>
^
compilation terminated.
build/core/binary.mk:801: recipe for target 'out/target/product/manta/obj/SHARED_LIBRARIES/audio.primary.manta_intermediates/audio_hw.o' failed
make: *** [out/target/product/manta/obj/SHARED_LIBRARIES/audio.primary.manta_intermediates/audio_hw.o] Error 1
#### make failed to build some targets (01:52:41 (hh:mm:ss)) ####
fixed fatal error: videodev2_exynos_media.h
forgot to add hardware/samsung_slsi/exynos5
next problem
Code:
target thumb C++: libbubblelevel <= device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp
device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp: In member function 'int android::BubbleLevelImpl::init()':
device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp:55:24: error: 'getInstance' is not a member of 'android::SensorManager'
SensorManager& mgr(SensorManager::getInstance());
^
device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp: At global scope:
device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp:254:32: warning: unused parameter 'fd' [-Wunused-parameter]
static int sensor_callback(int fd, int events, void* data)
^
device/samsung/manta/bubblelevel/BubbleLevelImpl.cpp:254:40: warning: unused parameter 'events' [-Wunused-parameter]
static int sensor_callback(int fd, int events, void* data)
^
build/core/binary.mk:706: recipe for target 'out/target/product/manta/obj/SHARED_LIBRARIES/libbubblelevel_intermediates/BubbleLevelImpl.o' failed
make: *** [out/target/product/manta/obj/SHARED_LIBRARIES/libbubblelevel_intermediates/BubbleLevelImpl.o] Error 1
#### make failed to build some targets (09:30 (mm:ss)) ####
SensorManager
so 6.0 changed "getInstance" so I'm trying to update it but I'm not so good with cpp so having a hard time.
what I'm trying to change - https://android.googlesource.com/de...d-m-preview-2/bubblelevel/BubbleLevelImpl.cpp
Code:
SensorManager& mgr(SensorManager::getInstance());
Sensor const* const* sensorList;
SensorManager 5.1 - https://github.com/android/platform_frameworks_base/blob/lollipop-release/native/android/sensor.cpp
Code:
ASensorManager* ASensorManager_getInstance()
{
return &SensorManager::getInstance();
}
SensorManager 6.0 - https://github.com/android/platform...marshmallow-release/native/android/sensor.cpp
Code:
android::Mutex android::SensorManager::sLock;
std::map<String16, SensorManager*> android::SensorManager::sPackageInstances;
ASensorManager* ASensorManager_getInstance()
{
return ASensorManager_getInstanceForPackage(NULL);
}
ASensorManager* ASensorManager_getInstanceForPackage(const char* packageName)
{
if (packageName) {
return &SensorManager::getInstanceForPackage(String16(packageName));
} else {
return &SensorManager::getInstanceForPackage(String16());
}
}
Still Stuck...
using this I'm able to gets past the last error but I'm not sure if it functions correct.
Code:
SensorManager& mgr(SensorManager::getInstanceForPackage(String16()));
Sensor const* const* sensorList;
now I'm on this error
Code:
target SharedLib: libbubblelevel (out/target/product/manta/obj/SHARED_LIBRARIES/libbubblelevel_intermediates/LINKED/libbubblelevel.so)
frameworks/native/include/gui/SensorManager.h:102: error: undefined reference to 'android::SensorManager::sLock'
frameworks/native/include/gui/SensorManager.h:102: error: undefined reference to 'android::SensorManager::sPackageInstances'
collect2: error: ld returned 1 exit status
build/core/shared_library_internal.mk:80: recipe for target 'out/target/product/manta/obj/SHARED_LIBRARIES/libbubblelevel_intermediates/LINKED/libbubblelevel.so' failed
make: *** [out/target/product/manta/obj/SHARED_LIBRARIES/libbubblelevel_intermediates/LINKED/libbubblelevel.so] Error 1
#### make failed to build some targets (55 seconds) ####
You can do it!
Sent from my SM-G925P using Tapatalk
Could you report any fixes that you made?
Keep at it your doing great thx!
@NeoGman i am stuck with the switch from libstlport to libcxx. the hardware/samsung_slsi uses libstlport. I have corrected the makefile to use libcxx with am stuck with
hardware/samsung_slsi/exynos5/mobicore/common/LogWrapper/log.h:121:24: error: unable to find string literal operator 'operator""__VA_ARGS__'
_LOG_E(" *** ERROR: "__VA_ARGS__); \
^
Did you manage to solve that one ?
scanno said:
@NeoGman i am stuck with the switch from libstlport to libcxx. the hardware/samsung_slsi uses libstlport. I have corrected the makefile to use libcxx with am stuck with
hardware/samsung_slsi/exynos5/mobicore/common/LogWrapper/log.h:121:24: error: unable to find string literal operator 'operator""__VA_ARGS__'
_LOG_E(" *** ERROR: "__VA_ARGS__); \
^
Did you manage to solve that one ?
Click to expand...
Click to collapse
Are you using the android-m-preview-2 branch?
also looking at the diff has been helping me.
https://android.googlesource.com/pl...5/+/android-5.1.1_r24^1..android-m-preview-2/
and I'm still stuck were i was last post I'm not sure what to do :/ i cant find any other device that uses this bubble level SensorManager thing.
NeoGman said:
Are you using the android-m-preview-2 branch?
also looking at the diff has been helping me.
https://android.googlesource.com/pl...5/+/android-5.1.1_r24^1..android-m-preview-2/
and I'm still stuck were i was last post I'm not sure what to do :/ i cant find any other device that uses this bubble level SensorManager thing.
Click to expand...
Click to collapse
No I am using the 6.0.0_r1 branch and the samsung_slsi with the latest commits. I think I got past your error by adding an include to bubblelevel.
ISensorManager has more includes then lollipop, so I added that to bubblelevel.
Let you know what include I added. Not at my PC right now.
I have been working on this today too. I have the 6.0.0_r1 tag checked out and device/samsung/manta and harware/samsung_slsi are on m-preview-2. I also had to revert commit f5f584ee173faef40f226c6e0e8580a2ecbe079b in hardware/invensense. I got past the bubblelevel error with the following diff:
Code:
--- a/bubblelevel/BubbleLevelImpl.cpp
+++ b/bubblelevel/BubbleLevelImpl.cpp
@@ -21,6 +21,12 @@
#include <binder/IServiceManager.h>
#include "BubbleLevelImpl.h"
+using android::SensorManager;
+using android::String16;
+
+android::Mutex android::SensorManager::sLock;
+std::map<String16, SensorManager*> android::SensorManager::sPackageInstances;
+
namespace android {
static int sensor_callback(int fd, int events, void* data);
@@ -52,7 +58,7 @@ int BubbleLevelImpl::init()
return mInitStatus;
}
- SensorManager& mgr(SensorManager::getInstance());
+ SensorManager& mgr(SensorManager::getInstanceForPackage(String16()));
Sensor const* const* sensorList;
mNumSensors = mgr.getSensorList(&sensorList);
So now I am past that error, but just got a new ones. This is in hardware/samsung_slsi.
Code:
hardware/samsung_slsi/exynos5/libcamera2/ExynosCamera2.cpp:108:9: error: 'HAL_PIXEL_FORMAT_RAW_SENSOR' was not declared in this scope
HAL_PIXEL_FORMAT_RAW_SENSOR,
^
Code:
hardware/samsung_slsi/exynos5/gralloc/gralloc.cpp:155:14: error: 'HAL_PIXEL_FORMAT_sRGB_A_8888' was not declared in this scope
case HAL_PIXEL_FORMAT_sRGB_A_8888:
^
hardware/samsung_slsi/exynos5/gralloc/gralloc.cpp:156:14: error: 'HAL_PIXEL_FORMAT_sRGB_X_8888' was not declared in this scope
case HAL_PIXEL_FORMAT_sRGB_X_8888:
^
hardware/samsung_slsi/exynos5/gralloc/gralloc.cpp:163:14: error: 'HAL_PIXEL_FORMAT_RAW_SENSOR' was not declared in this scope
case HAL_PIXEL_FORMAT_RAW_SENSOR:
^
I haven't investigated those errors yet, just wanted to post how I fixed the bubblelevel error.
The diff that cuases the error is here:
https://android.googlesource.com/platform/hardware/qcom/display/+/9c043ca^!/
Right, I found that too. Here is the diff to eliminate those errors:
Code:
diff --git a/gralloc/gralloc.cpp b/gralloc/gralloc.cpp
index b5f269b..6ef3a45 100644
--- a/gralloc/gralloc.cpp
+++ b/gralloc/gralloc.cpp
@@ -152,15 +152,11 @@ static int gralloc_alloc_rgb(int ionfd, int w, int h, int format, int usage,
case HAL_PIXEL_FORMAT_RGBA_8888:
case HAL_PIXEL_FORMAT_RGBX_8888:
case HAL_PIXEL_FORMAT_BGRA_8888:
- case HAL_PIXEL_FORMAT_sRGB_A_8888:
- case HAL_PIXEL_FORMAT_sRGB_X_8888:
- bpp = 4;
- break;
case HAL_PIXEL_FORMAT_RGB_888:
bpp = 3;
break;
case HAL_PIXEL_FORMAT_RGB_565:
- case HAL_PIXEL_FORMAT_RAW_SENSOR:
+ case HAL_PIXEL_FORMAT_RAW16:
bpp = 2;
break;
case HAL_PIXEL_FORMAT_BLOB:
diff --git a/libcamera2/ExynosCamera2.cpp b/libcamera2/ExynosCamera2.cpp
index 35bb9f5..e06f670 100644
--- a/libcamera2/ExynosCamera2.cpp
+++ b/libcamera2/ExynosCamera2.cpp
@@ -105,7 +105,7 @@ const nsecs_t Sensor::kFrameDurationRange[2] =
const uint8_t Sensor::kColorFilterArrangement = ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB;
const uint32_t kAvailableFormats[5] = {
- HAL_PIXEL_FORMAT_RAW_SENSOR,
+ HAL_PIXEL_FORMAT_RAW16,
HAL_PIXEL_FORMAT_BLOB,
HAL_PIXEL_FORMAT_RGBA_8888,
HAL_PIXEL_FORMAT_YV12,
Now I have another error with ExynosCameraHWInterface2:
Code:
hardware/samsung_slsi/exynos5/libcamera2/ExynosCameraHWInterface2.cpp:6519:5: sorry, unimplemented: non-trivial designated initializers not supported
};
^
I suspect this has something to do with the struct format. https://android.googlesource.com/de...w-release/camera/QCamera2/HAL/QCamera2Hal.cpp is how the same HAL struct is initialized on the marshmallow-release branch for the Nexus 5, but I haven't figured out how fix ExynosCameraHWInterface2.cpp yet, simply adding a "." before the variables and changing the ":" to "=" doesn't work.
holtr94 said:
Now I have another error with ExynosCameraHWInterface2:
Code:
hardware/samsung_slsi/exynos5/libcamera2/ExynosCameraHWInterface2.cpp:6519:5: sorry, unimplemented: non-trivial designated initializers not supported
};
^
I suspect this has something to do with the struct format. https://android.googlesource.com/de...w-release/camera/QCamera2/HAL/QCamera2Hal.cpp is how the same HAL struct is initialized on the marshmallow-release branch for the Nexus 5, but I haven't figured out how fix ExynosCameraHWInterface2.cpp yet, simply adding a "." before the variables and changing the ":" to "=" doesn't work.
Click to expand...
Click to collapse
i think this fixes it https://android.googlesource.com/pl...llow-release/modules/camera/CameraHAL.cpp#173
if that wasn't it here what mine looks like right now
Code:
extern "C" {
struct camera_module HAL_MODULE_INFO_SYM = {
common : {
.tag = HARDWARE_MODULE_TAG,
.module_api_version = CAMERA_MODULE_API_VERSION_2_0,
.hal_api_version = HARDWARE_HAL_API_VERSION,
.id = CAMERA_HARDWARE_MODULE_ID,
.name = "Exynos Camera HAL2",
.author = "Samsung Corporation",
.methods = &camera_module_methods,
.dso = NULL,
.reserved = {0},
},
.get_number_of_cameras = HAL2_getNumberOfCameras,
.get_camera_info = HAL2_getCameraInfo,
.set_callbacks = NULL,
.get_vendor_tag_ops = NULL,
.open_legacy = NULL,
.set_torch_mode = NULL,
.init = NULL,
.reserved = {0},
};
}
}; // namespace android
libmalicore.bc error
not sure what to do about this one search's don't yield much.
Code:
target Strip: libmalicore (out/target/product/manta/obj/lib/libmalicore.bc)
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-strip:out/target/product/manta/symbols/system/vendor/lib/libmalicore.bc: File format not recognized
build/core/dynamic_binary.mk:113: recipe for target 'out/target/product/manta/obj/lib/libmalicore.bc' failed
make: *** [out/target/product/manta/obj/lib/libmalicore.bc] Error 1
#### make failed to build some targets (49 seconds) ####
NeoGman said:
not sure what to do about this one search's don't yield much.
Code:
target Strip: libmalicore (out/target/product/manta/obj/lib/libmalicore.bc)
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-strip:out/target/product/manta/symbols/system/vendor/lib/libmalicore.bc: File format not recognized
build/core/dynamic_binary.mk:113: recipe for target 'out/target/product/manta/obj/lib/libmalicore.bc' failed
make: *** [out/target/product/manta/obj/lib/libmalicore.bc] Error 1
#### make failed to build some targets (49 seconds) ####
Click to expand...
Click to collapse
I was able to fix this by adding this below line #116 in vendor/samsung/manta/proprietary/Android.mk
Code:
LOCAL_STRIP_MODULE := false
The build successfully completed for me after that! I'm working on flashing it now.
EDIT: The build just loops on the Google logo. I'm going to investigate more tomorrow.
Make sure you boot in permissive mode. Selinux has changed also
Verstuurd vanaf mijn TF300T met Tapatalk
Good luck guys, hope you can deal with all these problems and give us something stable with M.
scanno said:
Make sure you boot in permissive mode. Selinux has changed also
Verstuurd vanaf mijn TF300T met Tapatalk
Click to expand...
Click to collapse
I'm not totally sure how to boot in permissive mode, I added this line to device/samsung/manta/BoardConfig.mk and rebuilt.
Code:
BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive
Is that the right way to boot permissive? It still looped on the Google logo anyways.
I've uploaded the img files I compiled, if anyone else wants to flash them with fastboot and mess around.
Hi guys, I don't know if this is the correct section for this, of not then feel free to move it.
I'm trying to build Android 5.1.1_r38 from source on a Intel i5 mechine running Ubuntu 16.04.
After about an hour running, If gives me the following errors
Code:
external/chromium_org/third_party/yasm/source/patched-yasm/tools/genmacro/genmacro.c:90: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/tools/genmacro/genmacro.c:48: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/tools/genmacro/genmacro.c:55: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/tools/genmacro/genmacro.c:68: error: unsupported reloc 43
clang: error: linker command failed with exit code 1 (use -v to see invocation)
build/core/host_executable_internal.mk:31: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmacro_x86_host_gyp_intermediates/genmacro' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmacro_x86_host_gyp_intermediates/genmacro] Error 1
make: *** Waiting for unfinished jobs....
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/third_party/yasm/source/patched-yasm/libyasm/genmodule.o: unsupported reloc 43 against global symbol stderr
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/third_party/yasm/source/patched-yasm/libyasm/genmodule.o: unsupported reloc 43 against global symbol stderr
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/third_party/yasm/source/patched-yasm/libyasm/genmodule.o: unsupported reloc 43 against global symbol stderr
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/third_party/yasm/source/patched-yasm/libyasm/genmodule.o: unsupported reloc 43 against global symbol stderr
external/chromium_org/third_party/yasm/source/patched-yasm/libyasm/genmodule.c:87: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/libyasm/genmodule.c:63: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/libyasm/genmodule.c:174: error: unsupported reloc 43
external/chromium_org/third_party/yasm/source/patched-yasm/libyasm/genmodule.c:183: error: unsupported reloc 43
host StaticLib: third_party_yasm_genperf_libs_x86_host_gyp_32 (out/host/linux-x86/obj32/STATIC_LIBRARIES/third_party_yasm_genperf_libs_x86_host_gyp_intermediates/third_party_yasm_genperf_libs_x86_host_gyp.a)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
build/core/host_executable_internal.mk:31: recipe for target 'out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/genmodule' failed
make: *** [out/host/linux-x86/obj32/EXECUTABLES/third_party_yasm_genmodule_x86_host_gyp_intermediates/genmodule] Error 1
I've run apt-get update and make clobber and anything else I can think of (note: I'm quite new to ubuntu)
If you need any more info, just feel free to ask, as I'm not sure what you need to help me.
Thanks in advance.