How to build a CM9 ROM from source

Search This thread

JackpotClavin

Inactive Recognized Developer
Feb 27, 2011
1,024
3,814
New York
okay here's what happened:

i changed files under my /hardware/cm/audio which made it build with mine but not yours. the deal is the audio under cm/audio makes audio.primary.(whatever the bootloader name is) so ours would be otter. in the mk file in the device folder, we create a library called audio.primary.otter. you cannot build files with the name so it was barking that it audio.primary.otter has two different locations. luckily for us, when mediaserver calls for the audio.primary library, it can use audio.primary.otter OR audio.primary.omap4430 which is our board, so instead i changed the name of the target library to audio.primary.omap4430 and that will be the new name for our audio.primary library :)
 

Fenny

Inactive Recognized Developer
Jun 28, 2007
1,386
2,073
F(x)tec Pro1-X
Google Pixel 6 Pro
Okay, I would love to jump into this and get things going if I can. Looks like the issues we are having with netflix/etc... are the OpenMAX (Open Media Accelerator) libraries. Which means, as it has been noted a few times in this thread, hardware acceleration isn't working: Particularly for h264, which is what YouTube HD uses.

I am turning my XBMC box into a dev machine now, and We'll see where this goes. :D
 

Takenover83

Senior Member
Nov 6, 2009
907
427
Okay, I would love to jump into this and get things going if I can. Looks like the issues we are having with netflix/etc... are the OpenMAX (Open Media Accelerator) libraries. Which means, as it has been noted a few times in this thread, hardware acceleration isn't working: Particularly for h264, which is what YouTube HD uses.

I am turning my XBMC box into a dev machine now, and We'll see where this goes. :D
Good luck. My XBMC machine is off limits... The woman would have me hanging by my **** if I fubared that machine :D
 

nixternal

Senior Member
Jul 23, 2010
53
8
Chicago
www.nixternal.com
This is the crash I am getting on the build right now as of 00:24 UTC 20120125.

Code:
nixternal@CaboWabo:~/mystuff/dev/cyanogenmod9$ brunch otter
including vendor/cm/vendorsetup.sh

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=cm_otter
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MR1
============================================

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=cm_otter
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MR1
============================================
Checking build tools versions...
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
device/amazon/otter/audio/Android.mk:11: warning: overriding commands for target `out/target/product/otter/obj/lib/libaudio.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:11: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libaudio.so'
device/amazon/otter/audio/Android.mk:18: warning: overriding commands for target `out/target/product/otter/obj/lib/alsa.omap4.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:18: warning: ignoring old commands for target `out/target/product/otter/obj/lib/alsa.omap4.so'
device/amazon/otter/audio/Android.mk:25: warning: overriding commands for target `out/target/product/otter/obj/lib/libaudiomodemgeneric.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:25: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libaudiomodemgeneric.so'
device/amazon/otter/audio/Android.mk:32: warning: overriding commands for target `out/target/product/otter/obj/lib/libasound.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:32: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libasound.so'
build/core/base_rules.mk:166: *** device/amazon/otter/audio/audio: MODULE.TARGET.SHARED_LIBRARIES.audio.primary.omap4430 already defined by Kindle-Fire-CM9/device/otter/audio/audio.  Stop.
 
Jun 14, 2010
22
2
This is the crash I am getting on the build right now as of 00:24 UTC 20120125.

Code:
nixternal@CaboWabo:~/mystuff/dev/cyanogenmod9$ brunch otter
including vendor/cm/vendorsetup.sh

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=cm_otter
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MR1
============================================

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=cm_otter
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MR1
============================================
Checking build tools versions...
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
device/amazon/otter/audio/Android.mk:11: warning: overriding commands for target `out/target/product/otter/obj/lib/libaudio.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:11: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libaudio.so'
device/amazon/otter/audio/Android.mk:18: warning: overriding commands for target `out/target/product/otter/obj/lib/alsa.omap4.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:18: warning: ignoring old commands for target `out/target/product/otter/obj/lib/alsa.omap4.so'
device/amazon/otter/audio/Android.mk:25: warning: overriding commands for target `out/target/product/otter/obj/lib/libaudiomodemgeneric.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:25: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libaudiomodemgeneric.so'
device/amazon/otter/audio/Android.mk:32: warning: overriding commands for target `out/target/product/otter/obj/lib/libasound.so'
Kindle-Fire-CM9/device/otter/audio/Android.mk:32: warning: ignoring old commands for target `out/target/product/otter/obj/lib/libasound.so'
build/core/base_rules.mk:166: *** device/amazon/otter/audio/audio: MODULE.TARGET.SHARED_LIBRARIES.audio.primary.omap4430 already defined by Kindle-Fire-CM9/device/otter/audio/audio.  Stop.


im having the same issue is there still no fix?
 

markolino631

Senior Member
Apr 27, 2011
721
547
Milan
lgics.altervista.org
hey! I have an errors when compile cm9:
Code:
target thumb C++: libmemalloc <= hardware/qcom/display/libgralloc/pmem_bestfit_alloc.cpp
target thumb C++: libmemalloc <= hardware/qcom/display/libgralloc/alloc_controller.cpp
In file included from hardware/qcom/display/libgralloc/pmem_bestfit_alloc.cpp:20:
hardware/qcom/display/libgralloc/pmem_bestfit_alloc.h:95: error: 'gralloc' has not been declared
hardware/qcom/display/libgralloc/pmem_bestfit_alloc.h:95: error: expected '{' before 'Allocator'
hardware/qcom/display/libgralloc/pmem_bestfit_alloc.h:96: error: expected initializer before '}' token
hardware/qcom/display/libgralloc/pmem_bestfit_alloc.h:96: error: expected declaration before '}' token
make: *** [out/target/product/alessi/obj/SHARED_LIBRARIES/libmemalloc_intermediates/pmem_bestfit_alloc.o] Errore 1
make: *** Attesa per i processi non terminati....
hardware/qcom/display/libgralloc/alloc_controller.cpp:81: error: 'IAllocController' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:81: error: template argument 1 is invalid
hardware/qcom/display/libgralloc/alloc_controller.cpp:81: error: 'IAllocController' has not been declared
hardware/qcom/display/libgralloc/alloc_controller.cpp:81: error: invalid type in declaration before '=' token
hardware/qcom/display/libgralloc/alloc_controller.cpp:82: error: 'IAllocController' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:82: error: template argument 1 is invalid
hardware/qcom/display/libgralloc/alloc_controller.cpp:82: error: 'IAllocController' has not been declared
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'int getInstance(bool)':
hardware/qcom/display/libgralloc/alloc_controller.cpp:84: warning: NULL used in arithmetic
hardware/qcom/display/libgralloc/alloc_controller.cpp:89: error: expected type-specifier before 'PmemAshmemController'
hardware/qcom/display/libgralloc/alloc_controller.cpp:89: error: invalid conversion from 'int*' to 'int'
hardware/qcom/display/libgralloc/alloc_controller.cpp:89: error: expected ';' before 'PmemAshmemController'
hardware/qcom/display/libgralloc/alloc_controller.cpp:91: error: expected type-specifier before 'PmemKernelController'
hardware/qcom/display/libgralloc/alloc_controller.cpp:91: error: invalid conversion from 'int*' to 'int'
hardware/qcom/display/libgralloc/alloc_controller.cpp:91: error: expected ';' before 'PmemKernelController'
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:182: error: 'PmemKernelController' has not been declared
hardware/qcom/display/libgralloc/alloc_controller.cpp:182: error: ISO C++ forbids declaration of 'PmemKernelController' with no type
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'int PmemKernelController()':
hardware/qcom/display/libgralloc/alloc_controller.cpp:184: error: 'mPmemAdspAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:184: error: expected type-specifier before 'PmemKernelAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:184: error: expected ';' before 'PmemKernelAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:187: error: no return statement in function returning non-void
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:189: error: expected constructor, destructor, or type conversion before '::' token
hardware/qcom/display/libgralloc/alloc_controller.cpp:193: error: 'PmemKernelController' is not a class or namespace
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'int allocate(gralloc::alloc_data&, int, int)':
hardware/qcom/display/libgralloc/alloc_controller.cpp:210: error: expected type-specifier before 'PmemKernelAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:210: error: expected ';' before 'PmemKernelAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:222: error: 'mPmemAdspAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:227: error: 'PmemKernelController' is not a class or namespace
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'android::sp<gralloc::IMemAlloc> getAllocator(int)':
hardware/qcom/display/libgralloc/alloc_controller.cpp:231: error: 'mPmemAdspAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:242: error: 'PmemAshmemController' has not been declared
hardware/qcom/display/libgralloc/alloc_controller.cpp:242: error: ISO C++ forbids declaration of 'PmemAshmemController' with no type
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'int PmemAshmemController()':
hardware/qcom/display/libgralloc/alloc_controller.cpp:244: error: 'mPmemUserspaceAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:244: error: expected type-specifier before 'PmemUserspaceAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:244: error: expected ';' before 'PmemUserspaceAlloc'
hardware/qcom/display/libgralloc/alloc_controller.cpp:245: error: 'mAshmemAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:246: error: 'mPmemKernelCtrl' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:246: error: expected type-specifier before 'PmemKernelController'
hardware/qcom/display/libgralloc/alloc_controller.cpp:246: error: expected ';' before 'PmemKernelController'
hardware/qcom/display/libgralloc/alloc_controller.cpp:247: error: no return statement in function returning non-void
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:249: error: expected constructor, destructor, or type conversion before '::' token
hardware/qcom/display/libgralloc/alloc_controller.cpp:253: error: 'PmemAshmemController' is not a class or namespace
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'int allocate(gralloc::alloc_data&, int, int)':
hardware/qcom/display/libgralloc/alloc_controller.cpp:253: error: redefinition of 'int allocate(gralloc::alloc_data&, int, int)'
hardware/qcom/display/libgralloc/alloc_controller.cpp:193: error: 'int allocate(gralloc::alloc_data&, int, int)' previously defined here
hardware/qcom/display/libgralloc/alloc_controller.cpp:268: error: 'mPmemKernelCtrl' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:277: error: 'mAshmemAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:289: error: 'mPmemUserspaceAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:296: error: 'mAshmemAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp: At global scope:
hardware/qcom/display/libgralloc/alloc_controller.cpp:306: error: 'PmemAshmemController' is not a class or namespace
hardware/qcom/display/libgralloc/alloc_controller.cpp: In function 'android::sp<gralloc::IMemAlloc> getAllocator(int)':
hardware/qcom/display/libgralloc/alloc_controller.cpp:306: error: redefinition of 'android::sp<gralloc::IMemAlloc> getAllocator(int)'
hardware/qcom/display/libgralloc/alloc_controller.cpp:227: error: 'android::sp<gralloc::IMemAlloc> getAllocator(int)' previously defined here
hardware/qcom/display/libgralloc/alloc_controller.cpp:310: error: 'mPmemUserspaceAlloc' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:312: error: 'mPmemKernelCtrl' was not declared in this scope
hardware/qcom/display/libgralloc/alloc_controller.cpp:314: error: 'mAshmemAlloc' was not declared in this scope
In file included from frameworks/base/include/utils/RefBase.h:27,
                 from hardware/qcom/display/libgralloc/alloc_controller.cpp:31:
frameworks/base/include/utils/StrongPointer.h: In member function 'android::sp<T>& android::sp<T>::operator=(U*) [with U = int, T = gralloc::IMemAlloc]':
hardware/qcom/display/libgralloc/alloc_controller.cpp:210:   instantiated from here
frameworks/base/include/utils/StrongPointer.h:185: error: cannot convert 'int*' to 'gralloc::IMemAlloc*' in assignment
how to fix it?
 

nind

Senior Member
Mar 27, 2011
79
134
/home/nind/
If you can't build, please check if you pull the device/vendor tree from the right repository:
Code:
$ git remote show origin
* remote origin
  Fetch URL: git://github.com/JackpotClavin/Kindle-Fire-CM9.git
  Push  URL: git://github.com/JackpotClavin/Kindle-Fire-CM9.git
  HEAD branch: ics

Maybe your repo need a clean up, run from the root cm9 folder the following commands:
Code:
make clean
repo forall -c "git reset --hard HEAD"
repo forall -c "git clean -fdx"
repo sync -j16

It will delete/reset everything except device, vendor etc.

the only problem i had while building was at the end the error:
Code:
  File "device/otter/releasetools/otter_common.py", line 24, in <module>
    from common import *
ImportError: No module named common
I don't know if i changed something or it comes from repo sync, seems like it can't find build/tools/releasetools/comon.py, but i don't understand why. Anyway a dirty fix for this:
Edit device/otter/releasetools/otter_common.py and replace the line
Code:
RELEASETOOLS_DIR = os.path.abspath(os.path.join(LOCAL_DIR, '../../../build/tools/releasetools'))
with
Code:
RELEASETOOLS_DIR = os.path.abspath('~/android/fire/cm9/build/tools/releasetools')
where you should of course adapt the path to your build environment so it points to build/tools/releasetools.
 

foxdog66

Senior Member
Jul 28, 2010
471
53
one after another, build/core/base_rules.mk tells me that module.target.whatever is already defined by device/amazon/otter/whatever

I tried tracing back through and renaming the said Android.mk to Android.mk.bak and it skips it but just jumps to the next thing device/amazon/otter already defines.

im following the readme on github, is there something different that needs to be done?
 

foxdog66

Senior Member
Jul 28, 2010
471
53
looks like the readme was updated a bit :p getting some other error now...

Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/javalib.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/android-support-v13-ics-mr1_intermediates/classes-full-debug.jar'.  Stop.
 

nind

Senior Member
Mar 27, 2011
79
134
/home/nind/
looks like the readme was updated a bit :p getting some other error now...

Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/javalib.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/android-support-v13-ics-mr1_intermediates/classes-full-debug.jar'.  Stop.

I have set up the repo on my laptop today, followed the github readme and dind't get any compile errors, please check if you really have sun java installed and not openjdk. Google says that error is typically if you try to build x86 android, try the following:

Code:
breakfast otter
make -j4
 
  • Like
Reactions: foxdog66

foxdog66

Senior Member
Jul 28, 2010
471
53
I have set up the repo on my laptop today, followed the github readme and dind't get any compile errors, please check if you really have sun java installed and not openjdk. Google says that error is typically if you try to build x86 android, try the following:

Code:
breakfast otter
make -j4

yeah I came across that info too. At one point, trying to compile gave me a 'not using the right Java version' error. Searching more I found info on configuring Java. Setting it to sun Java got past that but didn't help in the long run. Even removing all versions of Java and just installing the one from sun didn't work. What is odd is that previously, I've compiled cm7 for a different device without any issues. I guess my laptop is just needing a wipe/reinstall. Thanks
 
I just set up my environment yesterday and I have been able to build CM7 in the past but after getting it all setup I am receiving the following error:

Code:
target SharedLib: libcrypto (out/target/product/otter/obj/SHARED_LIBRARIES/libcrypto_intermediates/LINKED/libcrypto.so)
collect2: ld terminated with signal 7 [Bus error]
make: *** [out/target/product/otter/obj/SHARED_LIBRARIES/libcrypto_intermediates/LINKED/libcrypto.so] Error 1
make: *** Waiting for unfinished jobs....

Ideas what might be causing this? I am building on a Laptop running Ubuntu 11.10 and like I said I was able to build CM7 on this same machine.

Thanks!
 
Last edited:

Takenover83

Senior Member
Nov 6, 2009
907
427
Anyone want to take a stab at this error? Anyone else getting it?
Code:
make: *** No rule to make target `frameworks/base/packages/SystemUI/SystemUI/../../../ex/carousel/java/com/android/ex/carousel/carousel.rs', needed by `out/target/common/obj/APPS/SystemUI_intermediates/src/RenderScript.stamp'.  Stop.
make: *** Waiting for unfinished jobs....
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
 

nind

Senior Member
Mar 27, 2011
79
134
/home/nind/
Anyone want to take a stab at this error? Anyone else getting it?
Code:
make: *** No rule to make target `frameworks/base/packages/SystemUI/SystemUI/../../../ex/carousel/java/com/android/ex/carousel/carousel.rs', needed by `out/target/common/obj/APPS/SystemUI_intermediates/src/RenderScript.stamp'.  Stop.

Sorry, there is a typo in the readme on github, please run again:

Code:
rm -rf frameworks/base/packages/SystemUI
git clone git://github.com/JackpotClavin/SystemUI-For-CM9-Kindle-Fire.git frameworks/base/packages/SystemUI


---------- Post added at 09:10 AM ---------- Previous post was at 09:06 AM ----------

I just set up my environment yesterday and I have been able to build CM7 in the past but after getting it all setup I am receiving the following error:

Code:
target SharedLib: libcrypto (out/target/product/otter/obj/SHARED_LIBRARIES/libcrypto_intermediates/LINKED/libcrypto.so)
collect2: ld terminated with signal 7 [Bus error]

Ideas what might be causing this? I am building on a Laptop running Ubuntu 11.10 and like I said I was able to build CM7 on this same machine.

Thanks!

Hmm, there might be a packages missing, did you check if you have done everything on http://source.android.com/source/initializing.html ?
 

Skimp Killah

Senior Member
Apr 27, 2007
301
30
How much longer does it take to compile cm9 vs cm7
It takes me about 4-5 hours for my first build. And an hour or two for builds after that.

Sent from my Nexus S 4G using xda premium
 

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    It was almost exactly this time last year that I got my first Android device. I had absolutely no development experience whatsoever, so if anybody told me that I'd make a Cyanogenmod 7 Gingerbread ROM for the Kindle Fire in 11 months from that time, I would've thought they were crazy.

    Android is the easiest to build on Linux, primarily Ubuntu. This guide is designed around building on Ubuntu as well. The first thing you need to build from source is to actually get the source. For Cyanogenmod 9 (Ice Cream Sandwich) you'll have to pull from the Cyanogenmod repository. You'll also have to download a few packages for Linux like Java, and they will have to be put in a PATH folder. In the guide here (which is meant to build CM7 for the Droid X) it's identical for the Kindle Fire. You can follow that guide up until you do this command "cd ~/android/system/" The next step of that guide would pull the CM7 repository, but we want CM9 (ICS). Instead of pulling Gingerbread, you'll want to pull ICS copy this:

    repo init -u git://github.com/CyanogenMod/android.git -b ics

    It may ask you for your name and email address. Once that's done, you can "repo sync -j16" and it will start downloading the source. This will take a very long time ~2 hours here, but once that's done, you can move on :)

    Each device has its own device configuration and vendor files for building. Luckily for you, I've already setup the necessary stuff to get ICS to build for the Fire. You can download my source from my github here https://github.com/jackpotclavin You'll have to download the ICS-Kindle-Fire-Device and ICS-Kindle-Fire-Vendor files and place them in specific spots. For the vendor files, they go into /android/system/vendor/amazon/otter

    You'll have to make the amazon and otter folders, but the vendor files should go in them so any random file, say, otter-vendor.mk will be placed so it's like this

    /android/system/vendor/amazon/otter/otter-vendor.mk, with the proprietary folder inside /amazon/otter/.

    It's almost the same with the device files. Once you download those, you place them into the /android/system/device/amazon/otter/ folder that you'll have to make, so any random file, say, system.prop goes would be located at /android/system/device/amazon/otter/system.prop

    Once that's all done, you can download the prebuilts. For this you'll have to navigate into /android/system/vendor/cm and execute the get-prebuilts file. This will download a few files needed for building that will halt the build process if they're missing. Once those are done, it's building time. In the terminal, navigate to your /android/system/ folder, and type the command:

    . build/envsetup.sh && brunch otter

    That should be it! If somebody gets stuck, reply in this thread and I'll tell them where to go, and I'll update the post to help out :) happy building
    3
    Anyone want to take a stab at this error? Anyone else getting it?
    Code:
    make: *** No rule to make target `frameworks/base/packages/SystemUI/SystemUI/../../../ex/carousel/java/com/android/ex/carousel/carousel.rs', needed by `out/target/common/obj/APPS/SystemUI_intermediates/src/RenderScript.stamp'.  Stop.

    Sorry, there is a typo in the readme on github, please run again:

    Code:
    rm -rf frameworks/base/packages/SystemUI
    git clone git://github.com/JackpotClavin/SystemUI-For-CM9-Kindle-Fire.git frameworks/base/packages/SystemUI


    ---------- Post added at 09:10 AM ---------- Previous post was at 09:06 AM ----------

    I just set up my environment yesterday and I have been able to build CM7 in the past but after getting it all setup I am receiving the following error:

    Code:
    target SharedLib: libcrypto (out/target/product/otter/obj/SHARED_LIBRARIES/libcrypto_intermediates/LINKED/libcrypto.so)
    collect2: ld terminated with signal 7 [Bus error]

    Ideas what might be causing this? I am building on a Laptop running Ubuntu 11.10 and like I said I was able to build CM7 on this same machine.

    Thanks!

    Hmm, there might be a packages missing, did you check if you have done everything on http://source.android.com/source/initializing.html ?
    3
    okay here's what happened:

    i changed files under my /hardware/cm/audio which made it build with mine but not yours. the deal is the audio under cm/audio makes audio.primary.(whatever the bootloader name is) so ours would be otter. in the mk file in the device folder, we create a library called audio.primary.otter. you cannot build files with the name so it was barking that it audio.primary.otter has two different locations. luckily for us, when mediaserver calls for the audio.primary library, it can use audio.primary.otter OR audio.primary.omap4430 which is our board, so instead i changed the name of the target library to audio.primary.omap4430 and that will be the new name for our audio.primary library :)
    2
    I have the same problem while syncing too

    Sent from my Galaxy Nexus using XDA App
    2
    It's not an issue with your setup. Google has reported some syncing issues for some including myself (took me over 20 times yesterday to sync)

    Sent from my Galaxy Nexus using XDA App