yashsingh1/xdaforums huggingface dataset:
[Nook Color Android Development] weldawadyathink:
Ugh. More build errors (I do believe I went full circle with my errors):

In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:10:26: error: extra tokens at end of #ifndef directive [-Werror]

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:11:26: error: missing whitespace after the macro name [-Werror]

In file included from external/chromium_org/content/common/android/hash_set.cc:5:0:

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:24:20: error: expected initializer before '<' token

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:26:17: error: expected initializer before '<' token

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected '{' before '<' token

/home/spenser/android/cyanogenmod/out/target/product/encore/obj/GYP/shared_intermediates/content/jni/HashSet_jni.h:29:22: error: expected unqualified-id before '<' token

external/chromium_org/content/common/android/hash_set.cc:30:1: error: expected '}' at end of input

cc1plus: all warnings being treated as errors

make: *** [/home/spenser/android/cyanogenmod/out/target/product/encore/obj/STATIC_LIBRARIES/content_content_common_gyp_intermediates/content/common/android/hash_set.o] Error 1

make: *** Waiting for unfinished jobs....

Any ideas? It seems like it is saying that there is a messed up file in the out directory. Should I delete that file and try the build again? Or maybe wipe the whole out directory and try it again?
[Nook Color Android Development] hittingsmoke:
When I get to the breakfast encore step I'm getting a failure:

$ breakfast encore
including vendor/cm/vendorsetup.sh
ls: cannot access device/*/encore/cm.mk: No such file or directory
build/core/product_config.mk:233: *** Can not locate config makefile for product "cm_encore". Stop.
Device encore not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
^CTraceback (most recent call last):
File "build/tools/roomservice.py", line 76, in <module>
result = json.loads(urllib.request.urlopen(githubreq).read().decode())
File "/usr/lib/python2.7/socket.py", line 351, in read
data = self._sock.recv(rbufsize)
File "/usr/lib/python2.7/httplib.py", line 567, in read
s = self.fp.read(amt)
File "/usr/lib/python2.7/socket.py", line 380, in read
data = self._sock.recv(left)
File "/usr/lib/python2.7/ssl.py", line 305, in recv
return self.read(buflen)
File "/usr/lib/python2.7/ssl.py", line 224, in read
return self._sslobj.read(len)
KeyboardInterrupt
ls: cannot access device/*/encore/cm.mk: No such file or directory
build/core/product_config.mk:233: *** Can not locate config makefile for product "cm_encore". Stop.

** Don't have a product spec for: 'cm_encore'
** Do you have the right repo manifest?

If I just run breakfast to list the available devices, encore is listed as "cm_encore-userdebug". Is that what I want? There are no other encore entries and all entries include -userdebug.
[Nook Color Android Development] weldawadyathink:
Have you set up your local manifest file to use the NookieDevs repo? If not, here is one that will work. This goes in the file [source directory]/.repo/local_manifests/roomservice.xml

<?xml version="1.0" encoding="UTF-8"?>

<manifest>

<project name="NookieDevs/android_device_bn_encore" path="device/bn/encore" remote="github" revision="cm-11.0" />

<project name="CyanogenMod/android_kernel_bn_encore" path="kernel/bn/encore" remote="github" revision="encore-omap3-3.0.y" />

</manifest>
[Nook Color Android Development] hittingsmoke:
Based on instructions in previous posts it sounded like that was to be added after the breakfast command.

I just created that file and there's no change in results.

Here is the full output: http://pastebin.com/6Ze8bKu6
[Nook Color Android Development] weldawadyathink:
You have to run the repo sync command after adding the file. This is because our nook files aren't yet synced to the cyanogenmod github. if you run repo sync, brunch encore should work.
[Nook Color Android Development] Arbelzapf:
How exactly do we install the new recovery prior to flashing the rom?

Edit:

adb push KERNEL /boot/uRecImg

adb push RECOVERY /boot/uRecRam
[Nook Color Android Development] hittingsmoke:
Oh balls. I really screwed this up. Oh well, on to sync for a third time.

Thanks for the patience.
[Nook Color Android Development] drmarble:
java HashSet issues

Here is a suggestion (not mine) on the HashSet issues:

http://wiki.cyanogenmod.org/w/How_to_Fix_HashSet_Issues_Building_Android

Hope it helps.

And again, sorry about breaking breakfast. I was preventing broken builds on the cm builder. It broke the breakfast commands.

Adding the Muppets for vendor and syncing should fix the problem. Just make your own roomservice.xml or localmanifest.xml and skip the breakfast step. Just move on to lunch.

Maybe I should submit a revert of the commit that broke breakfast. But blank screen builds on get.cm are really bad too. It is hard (impossible) to fix both.
[Nook Color Android Development] weldawadyathink:
I wouldn't say you really screwed it up. You just missed a step, and you didn't break anything by missing it. Good luck to you on your build.
[Nook Color Android Development] hittingsmoke:
So to clarify, if I've created roomservice.xml and re-synced, I don't need to run the breakfast command afterwards? I would move on to the "Extract proprietary blobs" step in the CM build guide?
[Nook Color Android Development] hittingsmoke:
Success! I've built a lot of software from source, but this is the first whole OS.

4.4 booted up and was quite responsive. I turned on ART and now it's boot looping. Anything I can do to help troubleshoot that?
[Nook Color Android Development] EverythingNook:
Got it, thanks!
[Nook Color Android Development] sark666:
Ok, reformatted and all is working using a modified gapps. I wanted to see how pdf's scale/zoom and tried to install adobe reader, but it's missing from the market. Just curious if that's true for everyone else here, if someone wouldn't mind looking.
[Nook Color Android Development] votinh:
That's pretty much it.

But if you don't want to waste your time redo it again, read my post, post #321 or sark666's posts.

---------- Post added at 07:01 PM ---------- Previous post was at 06:59 PM ----------

That is confirmed, no Adobe Reader displayed on Market, but I use Mantano instead.
[Nook Color Android Development] Homer_S_xda:
I'm using the Kindle App. If you browse to a pdf using say Root Explorer, you can tap it and launch with Kindle. I like it because you can view full page in portrait and landscape auto zooms to page width. Zoom works, but no search.

Homer
[Nook Color Android Development] kcls:
Wait do you mean that I can just basically do it as an "Update" as I would update CM7? Pop out the CM7 SD card, put it in my computer and expand the boot partition and drop the modded ics gapps and rom zip on there and boot the nook? That would save a lot of time...
[Nook Color Android Development] fattire:
FWIW some dude posted a video.
[Nook Color Android Development] EverythingNook:
Yay thats me! :D Any reason why wallpapers don't scroll.
[Nook Color Android Development] jschill31:
Hello all,

Amazing is all I have to say... Just curious what the trick is to getting games like Angry Birds working? I suspect that the reason it is not working for me is that I installed ICS to a SD card instead of internal. If someone has Angry Birds running on a SD install could you please share how you did it?

Cheers
[Nook Color Android Development] HacDan:
Actually that was added by the Android DEV team, has nothing to do with CM, at least in regards to ICS. If you build ICS from source, you'll get that Nyandroid. You can also see it in Android Dreams.
[Nook Color Android Development] gambit07:
If it makes you feel any better I'm running a nand version and angry birds does not work on mine either. Games are pretty hit or miss, most gameloft stuff has worked for me but it doesn't like other developers as much.

A couple tips to get this running well

Obviously overclocking via nook tweaks/setcpu is always a good idea. Personally my nook really likes 1.375 ghz so give that a shot. Furthermore the stock governor is set to conservative, change that to interactivex through setcpu and you will see much better performance. The lockscreen is kind of laggy, if you want a good replacement get widget locker and use the ics theme. Also download autostarts to disallow programs you dont need from starting when your nook starts. Finally download the v6supercharger RC4 release and play around with the different settings in script manager, I personally use #6 and #20 and it works well for mine. Anyway if you do that ics should run just as well as cm7 on your nook, it does for me!
[Nook Color Android Development] fattire:
usb gadget-- I have no idea what I'm doing.

Hmm. Not sure re: scrolling wallpaper... is it supposed to? Not having a "real" version of ICS to compare w/makes this harder :P

Here's a question for anyone who might have some insight tho. I think I've managed to get at least part of an updated usb gadget in the kernel. It pops up the "usb debugging connected" notification, but doesn't seem to know how to mount the /sdcard. I have no clue-- is this userspace? kernel?

here's what logcat tells me when I manually try to go settings->storage->menu->usb computer connection->Media Device (MTP):

E/UsbDeviceManager( 1161): waitForState(mtp,adb) FAILED
E/UsbDeviceManager( 1161): Failed to switch persistent USB config to mtp,adb
E/UsbDeviceManager( 1161): No known USB function in updateUsbNotification
I/WindowManager( 1161): createSurface Window{411f3c40 NotificationTicker paused=false}: DRAW NOW PENDING
D/dalvikvm( 1507): GC_CONCURRENT freed 408K, 7% free 7255K/7751K, paused 2ms+125ms
E/UsbDeviceManager( 1161): No known USB function in updateUsbNotification

it disconnects adb, and dmesg says this:

<6>android_usb gadget: high speed config #1: android
<7>musb_hdrc periph: enabled ep1in for bulk IN, dma, maxpacket 512
<7>musb_hdrc periph: enabled ep1out for bulk OUT, dma, maxpacket 512

and that's about it. This exists too:

/sys/bus/platform/devices/musb_hdrc/gadget $ ls -la
drwxr-xr-x root root 2011-12-11 00:53 lun0
drwxr-xr-x root root 2011-12-11 00:53 power
-r--r--r-- root root 4096 2011-12-11 00:53 suspended
drwxr-xr-x root root 2011-12-11 00:53 tty
-rw-r--r-- root root 4096 2011-12-11 00:53 uevent

I believe the kernel has the necessary stuff. drivers/usb/gadget/android.c builds and includes:

#include "f_mass_storage.c"
#include "u_serial.c"
#include "f_acm.c"
#include "f_adb.c"
#include "f_mtp.c"
#include "f_accessory.c"
#define USB_ETH_RNDIS y
#include "f_rndis.c"
#include "rndis.c"
#include "u_ether.c"

Anyone got any insight? Here it is if you want to try it. Note that it doesn't do much right now & standard do-at-your-own-risk disclaimers apply.

Maybe it's userspace.

I don't know. I just... don't know.
[Nook Color Android Development] fattymcdirty:
This pre-build is actually pretty well working for me... I tested some apps and games and only the minority of em are working... e.g. Angry Birds.. the complete series... nothing but black screen right after the start. Any1 else can confirm this...?
[Nook Color Android Development] fattire:
Yes it has been much reported. You might try an older version.
[Nook Color Android Development] Homer_S_xda:
Does this mean that Angry Birds is using 2D acceleration rather than 3D?

Homer
[Nook Color Android Development] khaytsus:
The next person to say "Angry Birds" in this thread gets tazed in the groin.
[Nook Color Android Development] krazydy:
Hey Farva, What's that game you like playing with the birds on your tablet? :D
[Nook Color Android Development] Nburnes:
Randomish, but I compiled mine again, booted fine and everything, but ICS homescreen doesn't rotate?

I assume we are using an edited one to allow rotation? I found one from the Nexus S forum that allows rotation and it works great.

(Angry birds)
[Nook Color Android Development] niphoet:
Overly irritated avians.

Sorry, I had to.
[Nook Color Android Development] vegasjoe:
Shenanigan Birds!
[Nook Color Android Development] brianf21:
Same here with the rotation, but it will start working again in a little bit. Does it rotate the way it should?

Perturbed fowl
[Nook Color Android Development] weldawadyathink:
HAHA! Yes! Successful build! Thanks everyone who helped me. Flashing now.
[Nook Color Android Development] hittingsmoke:
So now that I've got this working, what is an appropriate use of this thread in respect to the devs working on it? Should I post what is or isn't working for me or should I just leave it alone for the moment and assume that you guys already know what is or isn't broken?
[Nook Color Android Development] drmarble:
ART definitely bootloops. Just keeps compiling and verifying the same files over and over. Had to resore a nandroid to get it to boot again, otherwise it just kept trying to enable art.

I still get continuous process.media stopped errors unless I remove gapps. On the whole, it works pretty well.

If anyone has working gapps, post a link to them please. I used the ones from http://clockworkmod.org/gapps/ (not a real clockworkmod site so beware).
[Nook Color Android Development] sziggins:
YourZgapps XS ★ Extra Small GApps

I am using the ZordanKV's 4.3 with no problem, try this but no guarantee.
[Nook Color Android Development] hittingsmoke:
Disabling Media Storage in the all apps list stops the android.process.media crashes allowing you to use the Play Store without it force closing.

PA gapps don't work at all. They include GEL which won't load on this build which completely borks the home screen because it replaces the stock launcher. It also breaks the keyboard so you can't connect to secure wifi.

This gapps package works for me: http://d-h.st/EIM
[Nook Color Android Development] steven676:
This looks like a bug in upstream (AOSP) 4.4 with regards to support for removable storage:

https://github.com/CyanogenMod/andr...roid/providers/media/MediaProvider.java#L5245

http://androidxref.com/4.4_r1/xref/...droid/providers/media/MediaProvider.java#5227

They check for a volume ID based on the external storage path -- but as of 4.4, that's always a FUSE overlay filesystem which doesn't appear to have a volume ID. It should be sufficient to modify that part to, if the initial checks fail, look for a volume path beginning with /storage/ and try again with /mnt/media_rw/ as the path prefix. (I'll try this tomorrow if no one gets to it before then.)
[Nook Color Android Development] fattire:
No need for restoring all w/ nandroid-- I posted an easy fix a week back.
[Nook Color Android Development] Arbelzapf:
Why did it work for aperezdc's AOSP build? Is this broken in the cm base? (Because it'll bootloop in early cm11 builds on my Evo3D as well

Regarding building: I was also bitten by missing u-boot-tools but I hope this has been the last thing stopping me from building. Previously I had to set up a larger VHDD for my ubuntu vm as well. This sure is an adventure.

EDIT: Add me to the list of successful builders :D It worked!
[Nook Color Android Development] aperezdc:
Some of the first gapps packages for KitKat made the system crash with the ART runtime. The latest ParanoidAndroid gapps work, but their packages removes the AOSP launcher and sometimes I have been left without a launcher (and I had to use “adb push” to install one). I have found a smaller gapps package which I have been using lately for testing: gapps-kk-20131110-artcompatible.zip (the link was posted to Google+ a while ago).

I hope using the PA gapps or the one I linked above will fix the issue for you.
[Nook Color Android Development] andtron:
Hi fattire,

The link to your build walkthro that you posted on page 1 (http://kan.gd/1bvw) is no longer valid, woul you mind poting another one?

TIA.
[Nook Color Android Development] Arbelzapf:
It does not, sadly
[Nook Color Android Development] unibroker:
Repo Command

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

Is this different from previous build instructions? I am modifying a CM10 build environment (I was getting a bunch of 404 errors while doing a repo sync and then completed a build but with a CM10 product) and when I looked at the wiki referenced above this url looks different than what I remember. At the bottom of the wiki page it states,

.

Edit: My bad; I hadn't included

in my local manifest
[Nook Color Android Development] snives:
Repo is from Google, so check against them for that portion. Here's the page you want.

http://source.android.com/source/downloading.html
[Nook Color Android Development] drmarble:
I found some code over in Evervolv written by preludedrew and commited by drewis. It seems to get rid of the non-stop media.process errors but there are still some when the device first boots. Changing to David Hacker's gapps allows me to get into play store.

Here's a patch, modified for cm-11.0 it should be applied from packages/providers/MediaProvider

diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 538ccc2..11d5ac9 100755
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -5255,6 +5255,25 @@ public class MediaProvider extends ContentProvider {
Log.e(TAG, path + " UUID: " + volumeID);
}

+ // HACK: Kitkat switched to fuse managed sdcards so the
+ // path (/storage/sdcard0) is actually the fuse mountpoint.
+ // hence it /always/ fails. I originally tried reading
+ // /mnt/media_rw/sdcard0 but even mounted 777 MediaProvider
+ // couldn't read it? So as a workaround have vold set a
+ // system prop containing the volumeId so we can read it here.
+ if (volumeID == -1) {
+ Log.w(TAG, "getFatVolumeId() failed...");
+ // Vold sets prop based on label. That /should/ be the mount dir.
+ String volumeProp = "sys.storage.volumeid-" +
+ path.substring(path.lastIndexOf('/')+1);
+ String propVolumeID = SystemProperties.get(volumeProp);
+ Log.w(TAG, "Read " + volumeProp + " volumeID=" + propVolumeID);
+ if (!"".equals(propVolumeID)) {
+ volumeID = Integer.valueOf(propVolumeID);
+ }
+ }
+
+
// Must check for failure!
// If the volume is not (yet) mounted, this will create a new
// external-ffffffff.db database instead of the one we expect. Then, if

I hope this helps someone. Apply patch in: packages/providers/MediaProvider

edit:

Looks like I need to modify vold too. See following post. The two of these fix the process media errors.

Later
[Nook Color Android Development] drmarble:
OK, I've fixed (hacked) the process.media problem. Another patch from preludedrew/drewis

Apply in system/vold

diff --git a/Volume.cpp b/Volume.cpp
index 712abf0..760c21e 100644
--- a/Volume.cpp
+++ b/Volume.cpp
@@ -20,6 +20,7 @@
#include <errno.h>
#include <fcntl.h>

+#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -27,6 +28,7 @@
#include <sys/mount.h>
#include <sys/param.h>

+#include <linux/msdos_fs.h>
#include <linux/kdev_t.h>

#include <cutils/properties.h>
@@ -453,6 +455,14 @@ int Volume::mountVol() {
AID_MEDIA_RW, AID_MEDIA_RW, 0007, true)) {
SLOGE("%s failed to mount via VFAT (%s)\n", devicePath, strerror(errno));
continue;
+ } else {
+ // Store volume id to system prop so MediaProvider can read it later
+ char volStr[33];
+ snprintf(volStr, 33, "%d", getFatVolumeId(getMountpoint()));
+ char volProp[PROPERTY_VALUE_MAX];
+ snprintf(volProp, PROPERTY_VALUE_MAX, "sys.storage.volumeid-%s", getLabel());
+ property_set(volProp, volStr);
+
}

} else if (strcmp(fstype, "ext4") == 0) {
@@ -711,3 +721,13 @@ int Volume::initializeMbr(const char *deviceNode) {

return rc;
}
+
+int Volume::getFatVolumeId(const char* path) {
+ int result = -1;
+ int fd = open(path, O_RDONLY);
+ if (fd >= 0) {
+ result = ioctl(fd, VFAT_IOCTL_GET_VOLUME_ID);
+ close(fd);
+ }
+ return result;
+}
diff --git a/Volume.h b/Volume.h
index 856f263..3cc1990 100644
--- a/Volume.h
+++ b/Volume.h
@@ -111,6 +111,7 @@ private:
int doUnmount(const char *path, bool force);
int doFuseMount(const char *src, const char *dst);
void protectFromAutorunStupidity();
+ int getFatVolumeId(const char *path);
};

In conjuction with the patch in my previous post (applied in packages/providers/MediaProvider) the media errors are gone.
There should be a better fix than this. As the original author stated, it is a hack. But, Google doesn't support removable sdcard very well any more so cyanogenmod may have to do something like this.
Anyway. It is fixed. You are off the hook, steven676/sluo.

typedef android::List<Volume *> VolumeCollection;
[Nook Color Android Development] Benzoman:
Going to try to start building myself soon. Does anybody have a working/not working list?

Just wondering in case I actually get it built correctly.
[Nook Color Android Development] bowguy:
Running CM11 on SD card

Per a request of the developers ;)

The following is the difference between the ramdisk.ub image from the build and the uRamdisk on the Nook after verygreen's install script was done with it:

diff build\fstab.encore verygreen\fstab.encore

6,7c6,7

< /dev/block/mmcblk0p5 /system ext4 ro,barrier=1 wait

< /dev/block/mmcblk0p6 /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc wait,check

---

> /dev/block/mmcblk1p2 /system ext4 ro,barrier=1 wait

> /dev/block/mmcblk1p3 /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc wait,check

10c10

< /dev/block/mmcblk0p1 /boot vfat fmask=177,dmask=077 recoveryonly

---

> /dev/block/mmcblk1p1 /boot vfat fmask=177,dmask=077 recoveryonly

Only in build: ramdisk.ub

Only in verygreen: uRamdisk

No other changes in the exploded images
[Nook Color Android Development] unibroker:
new build & TWRP

My current version of TWRP is 2.2.0 and after reading this thread and actual experience of trying to flash my successful CM11 build will/has failed. I tried upgrading to 2.6 following the instructions from the TWRP page but after downloading/installing the Goo Manager and selecting Install OpenRecoveryScript I am told No Recoveries Were Found For Your Device. Any suggestions?
[Nook Color Android Development] :
Edit, noticed the TWRP is also pointing to an old recovery.

http://teamw.in/project/twrp2/43
[Nook Color Android Development] fattire:
You can use the recovery I posted a few messages back... or if you're building use kernel/ramdisk-recovery.ub (or was it recovery-ramdisk.ub) as uRecImg and uRecRam and put in /boot
[Nook Color Android Development] unibroker:
If you're referring to the title referring to version 2.6 and the accompanying link to 2.3 I noticed that as well.
[Nook Color Android Development] :
Yes, in fact, I could only find the latest version for my phone (t0lte) at the Techarrata mirror, nowhere else.
[Nook Color Android Development] unibroker:
Just checked that mirror for encore and there hasn't been an update since 2012-11-14 which left off at 2.3.1.0. I guess I might have to revert to the old recovery method with CWM.
[Nook Color Android Development] fattire:
Sorry I haven't been following TWRP lately, but the build procedure for TWRP was always just to switch out their recovery folder with the cwm one in the regular CM tree and then just make the recovery.. Does that not still work to make your own TWRP?

If not, someone could contact dees-troy and ask him to do an encore version..
[Nook Color Android Development] weldawadyathink:
I believed somebody tried it and it displayed nothing but adb shows it in recovery. Don't trust me though, I didn't actually build it.
[Nook Color Android Development] :
I thought [MENTION=2687009]eyeballer[/MENTION] was part of TWRP and "maintained" the encore recovery.
[Nook Color Android Development] unibroker:
To be honest I am still on version 2.2 which up to CM11 worked for all other builds. I've never built TWRP but I should be able to figure it out. Thanks.