Trying to port to MB886 - Struggling with build setup - Omni Q&A

Hello,
I've successfully built CM12 in the past for the Motorola Atrix HD (mb886), and was looking to try porting omni 5.0 to the device.
I've set up the device at https://github.com/ssuds/android_device_motorola_mb886 following the steps at http://docs.omnirom.org/Porting_Omni_To_Your_Device. I believe I've set up the omni_mb886.mk and omni.dependencies files correctly, but please feel free to refer to my github source to confirm.
To accommodate the external references to common CM modules I added:
Code:
<remote name="cm"
review="review.cyanogenmod.org"
fetch="https://github.com/CyanogenMod" />
to manifest XML. I also added:
Code:
<remote name="tm"
fetch="https://github.com/TheMuppets" />
to account for proprietary blobs.
When I try building, I get the below error:
Code:
[email protected]:~/android/omni$ brunch mb886
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
WARNING: Trying to fetch a device that's already there
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
** Don't have a product spec for: 'omni_mb886'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
And If I enter the lunch menu, I get:
Code:
[email protected]:~/android/omni/.repo$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
Which would you like? [aosp_arm-eng]
I'm stumped and not really sure where to go from here... Thank you in advance for your assistance.

Also, am getting a bunch of errors when I try to repo sync
Code:
error: Cannot fetch platform/external/markdown
warn: --force-broken, continuing to sync
Fetching projects: 26% (126/481) Fetching project android_hardware_qcom_media
error: Cannot fetch platform/packages/wallpapers/MusicVisualization
warn: --force-broken, continuing to sync
Fetching project platform/frameworks/opt/photoviewer
error: Cannot fetch platform/external/mp4parser
warn: --force-broken, continuing to sync
Fetching project platform/external/compiler-rt
Fetching project platform/external/chromium_org/third_party/sfntly/cpp/src
error: Cannot fetch device/generic/mini-emulator-arm64
warn: --force-broken, continuing to sync
also
Code:
Traceback (most recent call last):
File "/home/shreyas/android/omni/.repo/repo/main.py", line 506, in <module>
_Main(sys.argv[1:])
File "/home/shreyas/android/omni/.repo/repo/main.py", line 482, in _Main
result = repo._Run(argv) or 0
File "/home/shreyas/android/omni/.repo/repo/main.py", line 161, in _Run
result = cmd.Execute(copts, cargs)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 641, in Execute
fetched = self._Fetch(to_fetch, opt)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 356, in _Fetch
self._GCProjects(projects)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 374, in _GCProjects
bare_git.gc('--auto')
File "/home/shreyas/android/omni/.repo/repo/project.py", line 2549, in runner
p.stderr))
error.GitError: platform/external/eclipse-windowbuilder gc: fatal: Not a git repository: '/home/shreyas/android/omni/.repo/projects/external/eclipse-windowbuilder.git'
The repo sync command I'm using is
repo sync -j1 -f --no-clone-bundle

Getting closer, I hope...
Now am able to get the mb886 in the lunch menu... With a catch.
If I do a breakfast command, it shows the lunch menu with only the "full-eng" option. After that, if I do the lunch command it only shows "full-eng".
However, if I setup my build environment again ( . build/envsetup.sh) and then lunch, omni_mb886-userdebug shows up... But the build breaks with that error.
Code:
[email protected]:~/android/omni$ . build/envsetup.sh
including device/motorola/mb886/vendorsetup.sh
[email protected]:~/android/omni$ breakfast
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
Which would you like? [aosp_arm-eng] ^C
[email protected]:~/android/omni$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
Which would you like? [aosp_arm-eng] ^C
[email protected]:~/android/omni$ . build/envsetup.sh
including device/motorola/mb886/vendorsetup.sh
[email protected]:~/android/omni$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_mips-eng
4. aosp_mips64-eng
5. aosp_x86-eng
6. aosp_x86_64-eng
7. omni_mb886-userdebug
Which would you like? [aosp_arm-eng] 7
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
WARNING: Trying to fetch a device that's already there
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
** Don't have a product spec for: 'omni_mb886'
** Do you have the right repo manifest?
[email protected]:~/android/omni$
Same thing happens if I try to brunch
Code:
[email protected]:~/android/omni$ brunch mb886
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
WARNING: Trying to fetch a device that's already there
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/motorola/mb886/omni_mb886.mk]]: "frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk" does not exist. Stop.
** Don't have a product spec for: 'omni_mb886'
** Do you have the right repo manifest?

So it looks like I'm actually missing a bunch of build directories, which totally explains why this isn't working out...
My CM directory:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
My Omni directory:
Clearly this is linked to my issues with repo... So I guess the real question is, what is wrong with my repo setup that is causing these issues?
Edit: My omni directory is a mere 676 MB... I should have realized this much sooner.
Edit2: I think I'm on the right track. Starting from scratch using the repo reference flag linked to my already downloaded source. 60% of the source is downloaded so far, we will see where it goes.

Update:
It builds! Finally got all my references and source synced properly. Omni is building for the MB886 currently.

Hit a new snag while building.
The build starts out fine. However, it only lasts about 5 minutes and then ends with:
Code:
make: *** No rule to make target `/home/shreyas/omni2/out/target/common/obj/JAVA_LIBRARIES/qcmediaplayer_intermediates/classes.jar', needed by `/home/shreyas/omni2/out/target/common/obj/PACKAGING/boot-jars-package-check_intermediates/stamp'. Stop.
make: *** Waiting for unfinished jobs....
logtags: /home/shreyas/omni2/out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/src/src/java/com/android/internal/telephony/EventLogTags.java <= frameworks/opt/telephony/src/java/com/android/internal/telephony/EventLogTags.logtags
[email protected]:~/omni2$
There's no ZIP in the Out>Target>Product>mb886 directory.
Same thing happens whether I use brunch mb886 or lunch mb886 and then mka...
Anyone have any ideas? @TecknoFreak maybe?
Edit:Think I might have got it, my javac version was on 1.7 and i switched it back to 1.6... we shall see.
Edit2: now it builds further but breaks on an audio blob
Code:
target thumb C: libalsa-intf <= hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c
hardware/qcom/audio/legacy/libalsa-intf/alsa_mixer.c:33:23: fatal error: sound/tlv.h: No such file or directory
#include <sound/tlv.h>
^
compilation terminated.
make: *** [/home/shreyas/omni2/out/target/product/mb886/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_mixer.o] Error 1
make: *** Waiting for unfinished jobs....
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_avail':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:401:9: warning: format '%d' expects argument of type 'int', but argument 4 has type 'snd_pcm_uframes_t' [-Wformat=]
ALOGV("hw_ptr = %d buf_size = %d appl_ptr = %d\n",
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:401:9: warning: format '%d' expects argument of type 'int', but argument 6 has type 'snd_pcm_uframes_t' [-Wformat=]
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'dst_address':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:467:22: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
return pcm->addr + pcm_offset;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:471:57: warning: unused parameter 'offset' [-Wunused-parameter]
int mmap_transfer(struct pcm *pcm, void *data, unsigned offset,
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer_capture':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:505:26: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
src_addr = pcm->addr + pcm_offset;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:492:65: warning: unused parameter 'offset' [-Wunused-parameter]
int mmap_transfer_capture(struct pcm *pcm, void *data, unsigned offset,
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_write_mmap':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:555:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((bytes_written >= pcm->sw_p->start_threshold) && (!pcm->start)) {
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:526:50: warning: unused parameter 'data' [-Wunused-parameter]
static int pcm_write_mmap(struct pcm *pcm, void *data, unsigned count)
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'enable_timer':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:668:8: warning: return makes integer from pointer without a cast [enabled by default]
return &bad_pcm;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:697:11: warning: return makes integer from pointer without a cast [enabled by default]
return &bad_pcm;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_open':
hardware/qcom/audio/legacy/libalsa-intf/alsa_pcm.c:780:9: warning: return makes pointer from integer without a cast [enabled by default]
return -EINVAL;
^
real 25m34.029s
user 66m21.505s
sys 16m39.325s
[email protected]:~/omni2$
tlv.h exists in my ~/omni2/kernel/motorola/msm8960-common/include/sound directory, same place it did for cm12 which built fine.
Edit3: Think I'm getting closer... Now I'm getting this
Code:
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_view_TextureView.cpp
frameworks/base/core/jni/android_view_Surface.cpp: In function 'void android::nativeSetDirtyRect(JNIEnv*, jclass, jlong, jobject)':
frameworks/base/core/jni/android_view_Surface.cpp:206:14: error: 'class android::Surface' has no member named 'setDirtyRect'
surface->setDirtyRect(&rect);
^
make: *** [/home/shreyas/omni2/out/target/product/mb886/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_view_Surface.o] Error 1
make: *** Waiting for unfinished jobs....
real 4m8.158s
user 4m55.351s
sys 2m13.800s
[email protected]:~/omni2$
Edit4: Found some very relevant stuff in this thread: http://forum.xda-developers.com/omni/general/help-regarding-compiling-omnirom-cm-t2964759/page2
Edit5: Tweaked the surface.cpp as that thread recommended, see https://github.com/ssuds/android_frameworks_base/commit/84c26243dcfcba9aee824dfddd11b2a3405c006b
Now the tlv.h: No such file or directory error is back:
Code:
target thumb C: libalsa-intf <= hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c
target Prebuilt: am (/home/shreyas/omni2/out/target/product/mb886/obj/EXECUTABLES/am_intermediates/am)
hardware/qcom/audio/legacy/libalsa-intf/alsa_mixer.c:33:23: fatal error: sound/tlv.h: No such file or directory
#include <sound/tlv.h>
^
compilation terminated.
make: *** [/home/shreyas/omni2/out/target/product/mb886/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_mixer.o] Error 1
make: *** Waiting for unfinished jobs....
Notice file: frameworks/base/cmds/am/NOTICE -- /home/shreyas/omni2/out/target/product/mb886/obj/NOTICE_FILES/src//system/bin/am.txt
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_identifier':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:77:43: warning: unused parameter 'fmt' [-Wunused-parameter]
char *snd_use_case_identifier(const char *fmt, ...)
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_free_list':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:89:40: warning: parameter 'list' set but not used [-Wunused-but-set-parameter]
int snd_use_case_free_list(const char *list[], int items)
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:89:52: warning: unused parameter 'items' [-Wunused-parameter]
int snd_use_case_free_list(const char *list[], int items)
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_get_list':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:132:15: warning: assignment from incompatible pointer type [enabled by default]
*list = (char ***)uc_mgr->card_ctxt_ptr->verb_list;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:156:15: warning: assignment from incompatible pointer type [enabled by default]
*list = verb_list[verb_index].device_list;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:180:15: warning: assignment from incompatible pointer type [enabled by default]
*list = verb_list[verb_index].modifier_list;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_apply_mixer_controls':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:792:65: warning: comparison between pointer and integer [enabled by default]
(check_devices_for_voice_call(uc_mgr, use_case) != NULL))
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_mgr_reload':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:1986:49: warning: unused parameter 'uc_mgr' [-Wunused-parameter]
int snd_use_case_mgr_reload(snd_use_case_mgr_t *uc_mgr) {
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'print_list':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:3102:47: warning: unused parameter 'verb_index' [-Wunused-parameter]
static int print_list(card_mctrl_t *list, int verb_index, int count)
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_ucm_parse_section':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:3303:13: warning: format '%d' expects a matching 'int' argument [-Wformat=]
ALOGV("Effects mixer ctl: %s: %d\n", list->effects_mixer_ctl);
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c: In function 'free_list':
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:3597:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
mindex < list[case_index].ena_mixer_list[index].value;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:3615:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
mindex < list[case_index].dis_mixer_list[index].value;
^
hardware/qcom/audio/legacy/libalsa-intf/alsa_ucm.c:3583:40: warning: unused parameter 'verb_index' [-Wunused-parameter]
void free_list(card_mctrl_t *list, int verb_index, int count)
^
real 12m37.998s
user 27m33.618s
sys 6m41.232s
[email protected]:~/omni2$

Any luck on this? I get the exact same error, except I'm building AOSP.

I somehow missed this thread.
Some of the issues I saw there look like they may have been CAF-related. With 5.0, we never completed the process of merging the CAF branches of frameworks/av and frameworks/native so they coexisted. (To make a long story short, that was primarily my task and I was catastrophically burned out and pretty much gone for 3-4 months... Then 5.1 dropped.)
As of today, working on a CAF device requires syncing the android-5.1-caf branches of frameworks/native and frameworks/av - Also, we use a different naming method for determining which QCOM CAF variant of display/audio/media HALs to use. You might want to try finding a device with a similar CPU to get ideas of how that was brought up. I remember when bringing up falcon in 4.4, I also had to add some oddball Moto-specific patches that aren't in our 5.x branches because I never had the time to resurrect that device. (I have more time now, but I've got a LOT of catching up to do...)
Right now:
CAF "b-family" (8226, 8974, etc) devices are current focus, especially 8974s, I'm going to be working this weekend on getting the CAF branches of av/native to coexist in our tree without syncing funky branches
CAF "a-family" devices (8960, 8064, etc.) are "here be dragons" - The Sony guys have them semi-working I believe, but the a-fam stuff needs a LOT of work. Getting a bootable device is feasible, but getting a usable device (especially media/AV stuff) requires us to fix a bunch of stuff

Entropy512 said:
I somehow missed this thread.
Some of the issues I saw there look like they may have been CAF-related.
Click to expand...
Click to collapse
Awesome, thank you for the direction @Entropy512! I've been kinda busy with other stuff recently, but when I get the chance I'll definitely try again to spin this up using that set up!

ssuds said:
Also, am getting a bunch of errors when I try to repo sync
Code:
error: Cannot fetch platform/external/markdown
warn: --force-broken, continuing to sync
Fetching projects: 26% (126/481) Fetching project android_hardware_qcom_media
error: Cannot fetch platform/packages/wallpapers/MusicVisualization
warn: --force-broken, continuing to sync
Fetching project platform/frameworks/opt/photoviewer
error: Cannot fetch platform/external/mp4parser
warn: --force-broken, continuing to sync
Fetching project platform/external/compiler-rt
Fetching project platform/external/chromium_org/third_party/sfntly/cpp/src
error: Cannot fetch device/generic/mini-emulator-arm64
warn: --force-broken, continuing to sync
also
Code:
Traceback (most recent call last):
File "/home/shreyas/android/omni/.repo/repo/main.py", line 506, in <module>
_Main(sys.argv[1:])
File "/home/shreyas/android/omni/.repo/repo/main.py", line 482, in _Main
result = repo._Run(argv) or 0
File "/home/shreyas/android/omni/.repo/repo/main.py", line 161, in _Run
result = cmd.Execute(copts, cargs)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 641, in Execute
fetched = self._Fetch(to_fetch, opt)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 356, in _Fetch
self._GCProjects(projects)
File "/home/shreyas/android/omni/.repo/repo/subcmds/sync.py", line 374, in _GCProjects
bare_git.gc('--auto')
File "/home/shreyas/android/omni/.repo/repo/project.py", line 2549, in runner
p.stderr))
error.GitError: platform/external/eclipse-windowbuilder gc: fatal: Not a git repository: '/home/shreyas/android/omni/.repo/projects/external/eclipse-windowbuilder.git'
The repo sync command I'm using is
repo sync -j1 -f --no-clone-bundle
Click to expand...
Click to collapse
Hi there,
How did you get rid of these errors?
I use these commands but get the above errors all the time:
repo init -u https://github.com/omnirom/android.git -b android-4.4
repo sync -j4 -f --no-clone-bundle
I am just a beginner so help will be appreciated...
Thanks!

ssuds, Did you ever solve this problem?

No... I gave up.

jhelp
same with me:silly:

HTML:
[ 99% 1587/1588] glob vendor/slim/build/soong/Android.bp
ninja: error: '/home/ubuntu/slim/out/target/common/obj/JAVA_LIBRARIES/telephony-ext_intermediates/classes.jar', needed by '/home/ubuntu/slim/out/target/common/obj/PACKAGING/boot-jars-package-check_intermediates/stamp', missing and no known rule to make it
11:30:29 ninja failed with: exit status 1

Related

[Q] CM9 Build failure on Mac OS X 10.8 (when building kernel)

I am currently trying to build CM9 for my A500 on my Mac (which is running OS X 10.8). It is failing while building the kernel, with the error:
Code:
Undefined symbols for architecture i386:
"android::renderscript::rsi_Allocation1DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, void const*, unsigned long, unsigned int)", referenced from:
...
android::renderscript::rsp_Allocation2DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
I'll describe the steps I followed to get to that point below, but first: It doesn't look like I'm the only one having this problem, but it doesn't look common - I found the same error in three pastebins: 1, 2, 3. The interesting thing is that 1 and 2 there are both on OS X (both contain 'out/host/darwin-x86/'), and they are for different devices.
Anyway, to get to that point I did the following:
(Following the CyanogenMod Wiki template for Mac OS X building)
1. Trashed my entire MacPorts tree using the commands provided in the CyanogenMod wiki.
2. Reinstalled all the ports I already had installed, along with those indicated in the CyanogenMod wiki. I used the supplied command, but then after the described error appeared the first time, I installed all the ports with the +universal directive as well.
3. Checked out the code for CM9 using:
Code:
repo init -u http:github.com/CyanogenMod/android.git -b ics --reference=/Volumes/Backup/AndroidDevelopment/cm9/mirror/CyanogenMod/
repo sync
4. Following the post by waydownsouth, ran:
Code:
. build/envsetup.sh
lunch cm_a500-userdebug
This synced the a500 bits from the repository
5. Plugged in the tablet, and entered the commands:
Code:
cd device/acer/a500
./extract-files.sh
A bunch of files downloaded, and all was well.
6. I returned to the root of my working directory, and ran:
Code:
brunch cm_a500-userdebug
and received the error:
Code:
It bombed with:
make: *** No rule to make target `vendor/cm/proprietary/RomManager.apk', needed by `out/target/product/a500/system/app/RomManager.apk'. Stop.
make: *** Waiting for unfinished jobs....
7. Got the prebuilts using the commands:
Code:
cd vendor/cm
./get-prebuilts
8. Returned to the root of the working directory again, and ran:
Code:
brunch cm_a500-userdebug
It looked like it was working until I received the error:
Code:
Result was:
target thumb C++: libwebcore <= external/webkit/Source/WebCore/xml/XPathP****r.cpp
out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/XPathGrammar.hpp: In member function 'WebCore::XPath::Expression* WebCore::XPath::P****r::p****Statement(const WTF::String&, WTF::PassRefPtr<WebCore::XPathNSResolver>, WebCore::ExceptionCode&)':
out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/XPathGrammar.hpp:106: error: too many arguments to function 'int WebCore::XPath::xpathyyp****()'
external/webkit/Source/WebCore/xml/XPathP****r.cpp:480: error: at this point in file
make: *** [out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/xml/XPathP****r.o] Error 1
9. I found that the above error was due to Bison 2.6, and I shopped around, and found a patch which appeared to address this issue. It didn't apply quite correctly (on file Source/WebCore/xml/XPathP****r.cpp), but I manually merged that file.
10. I shut down and restarted (because I was going from one place to another, and stuff in on an external drive) so I got my environment variables set etc. again by running:
Code:
9. At this point, I shut down. When I recommenced, I ran
. build/envsetup.sh
lunch cm_a500-userdebug
brunch cm_a500-userdebug
Webkit built correctly this time, but then I hit the error:
Code:
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:4:17: error: elf.h: No such file or directory
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c: In function ‘main’:
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:9: error: ‘EI_NIDENT’ undeclared (first use in this function)
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:9: error: (Each undeclared identifier is reported only once
...
make[4]: *** [scripts/mod/mk_elfconfig] Error 1
11. I looked around and found one thread which suggested I copy the elf.h file to /external/elfutils/libelf but that didn't appear to fix the problem, so deleted the elf.h file from that directory again.
Then I found another thread which suggested the way to solve the problem was to build the kernel separately, and in advance using the command:
Code:
make -j`sysctl -an hw.logicalcpu` ARCH=arm CROSS_COMPILE=./prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- HOSTCFLAGS="-I./external/elfutils/libelf"
(Note that I changed the paths here to match my system).
To save from having to recompile everything every time, I ran:
export USE_CCACHE=1 && ./prebuilt/darwin-x86/ccache/ccache -M 20G
Then I used the command identified above (i.e. make -j`sysctl -an hw.logicalcpu` ...).
It failed after quite some time with the error:
Code:
Build failed with:
Undefined symbols for architecture i386:
"android::renderscript::rsi_Allocation1DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, void const*, unsigned long, unsigned int)", referenced from:
android::renderscript::rspr_Allocation1DElementData(android::renderscript::Context*, android::renderscript::Fifo*, unsigned char*, unsigned long)in libRS.a(rsgApiReplay.o)
android::renderscript::rsp_Allocation1DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
"android::renderscript::rsi_Allocation2DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, unsigned int, RsAllocationCubemapFace, void const*, unsigned long, unsigned int)", referenced from:
android::renderscript::rspr_Allocation2DElementData(android::renderscript::Context*, android::renderscript::Fifo*, unsigned char*, unsigned long)in libRS.a(rsgApiReplay.o)
android::renderscript::rsp_Allocation2DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
As I noted above, it seems like one or two other people have had this error also. At this point, I'm basically stumped. I've never really done much C/C++ dev, so I'm fairly unfamiliar with reading the output of the linker. Looking over it, I wouldn't have expected it to need i386 symbols for libRS.a (if that is indeed what it is looking for symbols of) because it is building for ARM, but I could just be completely misunderstanding the output.
Anyway, if anyone has suggestions as to what might be causing the problem or how to address it (or even wants to briefly explain what that linker error actually means in a clearer way) that would be great. I've fought with CM7 builds in the past (for the Moto Defy) and basically given up because I couldn't get them to build. I'd rather not just do that again.
Have you solved this issue? Any update?
Any update?
FFU5y said:
I am currently trying to build CM9 for my A500 on my Mac (which is running OS X 10.8). It is failing while building the kernel, with the error:
Code:
Undefined symbols for architecture i386:
"android::renderscript::rsi_Allocation1DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, void const*, unsigned long, unsigned int)", referenced from:
...
android::renderscript::rsp_Allocation2DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
I'll describe the steps I followed to get to that point below, but first: It doesn't look like I'm the only one having this problem, but it doesn't look common - I found the same error in three pastebins: 1, 2, 3. The interesting thing is that 1 and 2 there are both on OS X (both contain 'out/host/darwin-x86/'), and they are for different devices.
Anyway, to get to that point I did the following:
(Following the CyanogenMod Wiki template for Mac OS X building)
1. Trashed my entire MacPorts tree using the commands provided in the CyanogenMod wiki.
2. Reinstalled all the ports I already had installed, along with those indicated in the CyanogenMod wiki. I used the supplied command, but then after the described error appeared the first time, I installed all the ports with the +universal directive as well.
3. Checked out the code for CM9 using:
Code:
repo init -u http:github.com/CyanogenMod/android.git -b ics --reference=/Volumes/Backup/AndroidDevelopment/cm9/mirror/CyanogenMod/
repo sync
4. Following the post by waydownsouth, ran:
Code:
. build/envsetup.sh
lunch cm_a500-userdebug
This synced the a500 bits from the repository
5. Plugged in the tablet, and entered the commands:
Code:
cd device/acer/a500
./extract-files.sh
A bunch of files downloaded, and all was well.
6. I returned to the root of my working directory, and ran:
Code:
brunch cm_a500-userdebug
and received the error:
Code:
It bombed with:
make: *** No rule to make target `vendor/cm/proprietary/RomManager.apk', needed by `out/target/product/a500/system/app/RomManager.apk'. Stop.
make: *** Waiting for unfinished jobs....
7. Got the prebuilts using the commands:
Code:
cd vendor/cm
./get-prebuilts
8. Returned to the root of the working directory again, and ran:
Code:
brunch cm_a500-userdebug
It looked like it was working until I received the error:
Code:
Result was:
target thumb C++: libwebcore <= external/webkit/Source/WebCore/xml/XPathP****r.cpp
out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/XPathGrammar.hpp: In member function 'WebCore::XPath::Expression* WebCore::XPath::P****r::p****Statement(const WTF::String&, WTF::PassRefPtr<WebCore::XPathNSResolver>, WebCore::ExceptionCode&)':
out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/XPathGrammar.hpp:106: error: too many arguments to function 'int WebCore::XPath::xpathyyp****()'
external/webkit/Source/WebCore/xml/XPathP****r.cpp:480: error: at this point in file
make: *** [out/target/product/a500/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/xml/XPathP****r.o] Error 1
9. I found that the above error was due to Bison 2.6, and I shopped around, and found a patch which appeared to address this issue. It didn't apply quite correctly (on file Source/WebCore/xml/XPathP****r.cpp), but I manually merged that file.
10. I shut down and restarted (because I was going from one place to another, and stuff in on an external drive) so I got my environment variables set etc. again by running:
Code:
9. At this point, I shut down. When I recommenced, I ran
. build/envsetup.sh
lunch cm_a500-userdebug
brunch cm_a500-userdebug
Webkit built correctly this time, but then I hit the error:
Code:
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:4:17: error: elf.h: No such file or directory
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c: In function ‘main’:
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:9: error: ‘EI_NIDENT’ undeclared (first use in this function)
/Volumes/Backup/AndroidDevelopment/cm9/working_copy_2/kernel/acer/t20-common/scripts/mod/mk_elfconfig.c:9: error: (Each undeclared identifier is reported only once
...
make[4]: *** [scripts/mod/mk_elfconfig] Error 1
11. I looked around and found one thread which suggested I copy the elf.h file to /external/elfutils/libelf but that didn't appear to fix the problem, so deleted the elf.h file from that directory again.
Then I found another thread which suggested the way to solve the problem was to build the kernel separately, and in advance using the command:
Code:
make -j`sysctl -an hw.logicalcpu` ARCH=arm CROSS_COMPILE=./prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- HOSTCFLAGS="-I./external/elfutils/libelf"
(Note that I changed the paths here to match my system).
To save from having to recompile everything every time, I ran:
export USE_CCACHE=1 && ./prebuilt/darwin-x86/ccache/ccache -M 20G
Then I used the command identified above (i.e. make -j`sysctl -an hw.logicalcpu` ...).
It failed after quite some time with the error:
Code:
Build failed with:
Undefined symbols for architecture i386:
"android::renderscript::rsi_Allocation1DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, void const*, unsigned long, unsigned int)", referenced from:
android::renderscript::rspr_Allocation1DElementData(android::renderscript::Context*, android::renderscript::Fifo*, unsigned char*, unsigned long)in libRS.a(rsgApiReplay.o)
android::renderscript::rsp_Allocation1DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
"android::renderscript::rsi_Allocation2DElementData(android::renderscript::Context*, void*, unsigned int, unsigned int, unsigned int, RsAllocationCubemapFace, void const*, unsigned long, unsigned int)", referenced from:
android::renderscript::rspr_Allocation2DElementData(android::renderscript::Context*, android::renderscript::Fifo*, unsigned char*, unsigned long)in libRS.a(rsgApiReplay.o)
android::renderscript::rsp_Allocation2DElementData(android::renderscript::Context*, void const*, unsigned long)in libRS.a(rsgApiReplay.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
As I noted above, it seems like one or two other people have had this error also. At this point, I'm basically stumped. I've never really done much C/C++ dev, so I'm fairly unfamiliar with reading the output of the linker. Looking over it, I wouldn't have expected it to need i386 symbols for libRS.a (if that is indeed what it is looking for symbols of) because it is building for ARM, but I could just be completely misunderstanding the output.
Anyway, if anyone has suggestions as to what might be causing the problem or how to address it (or even wants to briefly explain what that linker error actually means in a clearer way) that would be great. I've fought with CM7 builds in the past (for the Moto Defy) and basically given up because I couldn't get them to build. I'd rather not just do that again.
Click to expand...
Click to collapse
sean.wang said:
Any update?
Click to expand...
Click to collapse
I actually gave up in the end, and took to running an Ubuntu 12.04 virtual machine for compiling. There just isn't enough people building on OSX to be able to readily work through the problems.
FFU5y said:
I actually gave up in the end, and took to running an Ubuntu 12.04 virtual machine for compiling. There just isn't enough people building on OSX to be able to readily work through the problems.
Click to expand...
Click to collapse
I believe this fixes this particular problem:
Code:
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp
index bbf2dbd..c4def9c 100644
--- a/libs/rs/rsAllocation.cpp
+++ b/libs/rs/rsAllocation.cpp
@@ -429,13 +429,13 @@ void rsi_Allocation1DData(Context *rsc, RsAllocation va, uint32_t xoff, uint32_t
}
void rsi_Allocation2DElementData(Context *rsc, RsAllocation va, uint32_t x, uint32_t y, uint32_t lod, RsAllocationCubemapFace face,
- const void *data, uint32_t sizeBytes, size_t eoff) {
+ const void *data, size_t sizeBytes, uint32_t eoff) {
Allocation *a = static_cast<Allocation *>(va);
a->elementData(rsc, x, y, data, eoff, sizeBytes);
}
void rsi_Allocation1DElementData(Context *rsc, RsAllocation va, uint32_t x, uint32_t lod,
- const void *data, uint32_t sizeBytes, size_t eoff) {
+ const void *data, size_t sizeBytes, uint32_t eoff) {
Allocation *a = static_cast<Allocation *>(va);
a->elementData(rsc, x, data, eoff, sizeBytes);
}
The issue has been fixed in another way, as a part of a larger patch, in the upstream AOSP. So, this is most probably only useful if you try to build CM9 / AOSP 4.0.4 under MacOS X 10.7 (Lion) with a suitable version of XCode. My XCode is 4.5 (i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1).

Making a kernel....NEED HELP>>>>

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..

[Q] BtMacReader Errors on Compile

Hi I'm getting
Code:
make: *** No rule to make target `vendor/asus/grouper/proprietary/btmacreader', needed by `/home/boncey/android/bonceyrom/out/target/product/grouper/obj/EXECUTABLES/btmacreader_intermediates/btmacreader'. Stop.
make: *** Waiting for unfinished jobs....
external/e2fsprogs/lib/e2p/ls.c: In function 'list_super2':
external/e2fsprogs/lib/e2p/ls.c:354:4: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
In file included from bionic/libc/include/stdlib.h:34:0,
from external/e2fsprogs/lib/e2p/ls.c:17:
bionic/libc/include/string.h:124:7: note: expected 'const char * __restrict__' but argument is of type '__u8 *'
external/e2fsprogs/lib/e2p/ls.c:368:4: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness [-Wpointer-sign]
In file included from bionic/libc/include/stdlib.h:34:0,
from external/e2fsprogs/lib/e2p/ls.c:17:
bionic/libc/include/string.h:124:7: note: expected 'const char * __restrict__' but argument is of type '__u8 *'
target thumb C++: bootanimation <= frameworks/base/cmds/bootanimation/BootAnimation.cpp
frameworks/base/cmds/bootanimation/BootAnimation.cpp: In member function 'bool android::BootAnimation::movie()':
frameworks/base/cmds/bootanimation/BootAnimation.cpp:541:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
frameworks/base/cmds/bootanimation/BootAnimation.cpp:560:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
Any ideas guys? I extracted the blobs from my Nexus 7 2012 and I get this error. Any help would be appreciated!
I think I fixed it, will tell you when I get in.
Boncey said:
I think I fixed it, will tell you when I get in.
Click to expand...
Click to collapse
how did you fix it? did you do this?
http://www.reddit.com/r/cyanogenmod/comments/1qsvul/error_building_cyanogenmod_102_for_grouper/

Please help me to bulid CM12 it stop to build

I want to build cm12 on samsung jfltexx (S4) by Ubuntu 14.04,but it can not.
i follow this to build CM12 http://wiki.cyanogenmod.org/w/Build_for_jfltexx
That is my setp
1.repo sync cm12 codes (it takes me 3 days...):crying:
2.download samsung codes
https://github.com/CyanogenMod/android_device_samsung_jfltexx ---rename jfltexx and copy to device/samsung/
https://github.com/broodplank/samsung-kernel-jfltexx ---rename kernel and copy to out/target/product/jfltexx/
https://github.com/CyanogenMod/android_device_samsung_jf-common ---remane jf-common and copy to device/samsung/
https://github.com/CyanogenMod/android_device_samsung_qcom-common ---remane and copy to device/samsung/
3.
$ source build/envsetup.sh
$ breakfast jfltexx
$ cd device/samsung/jfltexx
--connect my phone to computer
$ ./extract-files.sh
--(but no files found)
--copy the system folder from "cm12-plus-5.0-Beta5.1-jfltexx.zip" to vendor/samsung/jfltexx/
--copy jf-common to vendor/samsung/jfltexx
$ croot
$ brunch jfltexx
--now build is start
but a few minutes later, it show that code and stop to build
i am new here and my english is bad sorry.
and i am new to build android source code,please help me to fix it,thank you!
--------------------------------------------------------------------------------------------------------------------------------------------------------
target arm C: libunz <= external/zlib/src/inftrees.c
target arm C: libunz <= external/zlib/src/inffast.c
target arm C: libunz <= external/zlib/src/trees.c
target arm C: libunz <= external/zlib/src/uncompr.c
target arm C: libunz <= external/zlib/src/zutil.c
Import includes file: /home/qwejay/android/cm/out/target/product/jfltexx/obj/EXECUTABLES/alsaucm_test_intermediates/import_includes
target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_mixer.c
target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c
target thumb C: libalsa-intf <= hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_mixer.c:33:23: fatal error: sound/tlv.h: No such file or directory
#include <sound/tlv.h>
^
compilation terminated.
make: *** [/home/qwejay/android/cm/out/target/product/jfltexx/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_mixer.o] error 1
make: *** Waiting for the unfinished task....
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:139:31: error: 'SND_AUDIOCODEC_AC3_PASS_THROUGH' undeclared here (not in a function)
FORMAT_AC3_PASS_THROUGH = SND_AUDIOCODEC_AC3_PASS_THROUGH,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:141:31: error: 'SND_AUDIOCODEC_WMA_PRO' undeclared here (not in a function)
FORMAT_WMA_PRO = SND_AUDIOCODEC_WMA_PRO,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:142:31: error: 'SND_AUDIOCODEC_DTS' undeclared here (not in a function)
FORMAT_DTS = SND_AUDIOCODEC_DTS,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:143:31: error: 'SND_AUDIOCODEC_DTS_LBR' undeclared here (not in a function)
FORMAT_DTS_LBR = SND_AUDIOCODEC_DTS_LBR,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:144:31: error: 'SND_AUDIOCODEC_DTS_PASS_THROUGH' undeclared here (not in a function)
FORMAT_DTS_PASS_THROUGH = SND_AUDIOCODEC_DTS_PASS_THROUGH,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_avail':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:443:9: warning: format '%d' expects argument of type 'int', but argument 4 has type 'snd_pcm_uframes_t' [-Wformat=]
ALOGV("hw_ptr = %d buf_size = %d appl_ptr = %d\n",
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:443:9: warning: format '%d' expects argument of type 'int', but argument 6 has type 'snd_pcm_uframes_t' [-Wformat=]
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'appl_pt_forward':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:483:3: warning: too many arguments for format [-Wformat-extra-args]
ALOGE("appl_ptr %ld set to ld",
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'dst_address':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:561:22: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
return pcm->addr + pcm_offset;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:565:57: warning: unused parameter 'offset' [-Wunused-parameter]
int mmap_transfer(struct pcm *pcm, void *data, unsigned offset,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'mmap_transfer_capture':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:620:26: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
src_addr = pcm->addr + pcm_offset;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:596:65: warning: unused parameter 'offset' [-Wunused-parameter]
int mmap_transfer_capture(struct pcm *pcm, void *data, unsigned offset,
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_write_mmap':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:682:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if ((bytes_written >= pcm->sw_p->start_threshold) && (!pcm->start)) {
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:643:50: warning: unused parameter 'data' [-Wunused-parameter]
static int pcm_write_mmap(struct pcm *pcm, void *data, unsigned count)
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'enable_timer':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:825:8: warning: return makes integer from pointer without a cast [enabled by default]
return &bad_pcm;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:854:11: warning: return makes integer from pointer without a cast [enabled by default]
return &bad_pcm;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c: In function 'pcm_open':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_pcm.c:939:9: warning: return makes pointer from integer without a cast [enabled by default]
return -EINVAL;
^
make: *** [/home/qwejay/android/cm/out/target/product/jfltexx/obj/SHARED_LIBRARIES/libalsa-intf_intermediates/alsa_pcm.o] error 1
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_identifier':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:78:43: warning: unused parameter 'fmt' [-Wunused-parameter]
char *snd_use_case_identifier(const char *fmt, ...)
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_free_list':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:90:40: warning: parameter 'list' set but not used [-Wunused-but-set-parameter]
int snd_use_case_free_list(const char *list[], int items)
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:90:52: warning: unused parameter 'items' [-Wunused-parameter]
int snd_use_case_free_list(const char *list[], int items)
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_get_list':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:133:15: warning: assignment from incompatible pointer type [enabled by default]
*list = (char ***)uc_mgr->card_ctxt_ptr->verb_list;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:157:15: warning: assignment from incompatible pointer type [enabled by default]
*list = verb_list[verb_index].device_list;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:181:15: warning: assignment from incompatible pointer type [enabled by default]
*list = verb_list[verb_index].modifier_list;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_apply_mixer_controls':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:936:65: warning: comparison between pointer and integer [enabled by default]
(check_devices_for_voice_call(uc_mgr, use_case) != NULL))
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'snd_use_case_mgr_reload':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:2207:49: warning: unused parameter 'uc_mgr' [-Wunused-parameter]
int snd_use_case_mgr_reload(snd_use_case_mgr_t *uc_mgr) {
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'print_list':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3324:47: warning: unused parameter 'verb_index' [-Wunused-parameter]
static int print_list(card_mctrl_t *list, int verb_index, int count)
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c: In function 'free_list':
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3884:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
mindex < list[case_index].ena_mixer_list[index].value;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3902:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
mindex < list[case_index].dis_mixer_list[index].value;
^
hardware/qcom/audio-caf/msm8960/legacy/libalsa-intf/alsa_ucm.c:3870:40: warning: unused parameter 'verb_index' [-Wunused-parameter]
void free_list(card_mctrl_t *list, int verb_index, int count)
^
--------------------------------------------------------------------------------------------------------------------------------------------------------
who can hellp me x(
QweJay said:
who can hellp me x(
Click to expand...
Click to collapse
@AntaresOne @frapeti can only help you
thinks! wen i download msm8960-common it can finish my build,but,i can not phone to everyone! because i can not find the base band.....

Trying to Build Android 6.0

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.

Resources