[Tutorial] Compile ICS on Ubuntu

Search This thread
M

mackief

Guest
Hi guys! I need help, please!
How to fix that?

Code:
target thumb C++: audio.primary.gio <= device/samsung/msm7x27-common/libaudio/AudioHardware.cpp
In file included from device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:35:
device/samsung/msm7x27-common/libaudio/AudioHardware.h:30:39: error: linux/msm_audio_voicememo.h: No such file or directory
In file included from device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:35:
device/samsung/msm7x27-common/libaudio/AudioHardware.h:180: error: 'audio_output_flags_t' has not been declared
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In constructor 'android_audio_legacy::AudioHardware::AudioHardware()':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:122: error: 'SND_SET_MAIN_MIC' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:187: error: 'SND_AVC_CTL' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:188: error: 'SND_AGC_CTL' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: At global scope:
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:220: error: 'audio_output_flags_t' has not been declared
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In function 'int android_audio_legacy::msm72xx_enable_postproc(bool)':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:894: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:899: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:904: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:929: error: 'AUDIO_SET_MBADRC' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In member function 'virtual android::status_t android_audio_legacy::AudioHardware::setVoiceVolume(float)':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1110: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1110: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In member function 'android::status_t android_audio_legacy::AudioHardware::doRouting(android_audio_legacy::AudioHardware::AudioStreamInMSM72xx*)':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1316: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1319: warning: comparison between signed and unsigned integer expressions
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In member function 'android::status_t android_audio_legacy::AudioHardware::AudioStreamInMSM72xx::set(android_audio_legacy::AudioHardware*, uint32_t, int*, uint32_t*, uint32_t*, android_audio_legacy::AudioSystem::audio_in_acoustics)':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1681: error: aggregate 'android_audio_legacy::msm_audio_voicememo_config gcfg' has incomplete type and cannot be defined
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1769: error: 'RPC_VOC_REC_BOTH' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1772: error: 'RPC_VOC_REC_FORWARD' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1775: error: 'RPC_VOC_REC_REVERSE' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1780: error: 'RPC_VOC_REC_REVERSE' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1791: error: 'RPC_VOC_CAP_AMR' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1792: error: 'RPC_VOC_AMR_RATE_1220' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1794: error: 'RPC_VOC_PB_AMR' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1809: error: 'AUDIO_SET_VOICEMEMO_CONFIG' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:1815: error: 'AUDIO_GET_VOICEMEMO_CONFIG' was not declared in this scope
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In member function 'virtual ssize_t android_audio_legacy::AudioHardware::AudioStreamInMSM72xx::read(void*, ssize_t)':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:2037: warning: format '%d' expects type 'int', but argument 4 has type 'ssize_t'
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp: In function 'android_audio_legacy::AudioHardwareInterface* android_audio_legacy::createAudioHardware()':
device/samsung/msm7x27-common/libaudio/AudioHardware.cpp:2136: error: cannot allocate an object of abstract type 'android_audio_legacy::AudioHardware'
device/samsung/msm7x27-common/libaudio/AudioHardware.h:157: note:   because the following virtual functions are pure within 'android_audio_legacy::AudioHardware':
hardware/libhardware_legacy/include/hardware_legacy/AudioHardwareInterface.h:232: note: 	virtual android_audio_legacy::AudioStreamOut* android_audio_legacy::AudioHardwareInterface::openOutputStream(uint32_t, int*, uint32_t*, uint32_t*, android::status_t*)
make: *** [out/target/product/gio/obj/SHARED_LIBRARIES/audio.primary.gio_intermediates/AudioHardware.o] Errore 1
 

gulbir101

Senior Member
Dec 14, 2010
287
58
ok, so where it says "extract Proprietary Files" .. does it matter what rom im on? Btw im on CM7, can i just pull the files from that?

Edit: How can i fix?

build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/aloha/cm.mk]]: "device/*/aloha/cm.mk" does not exist. Stop.
Device aloha not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for aloha not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/aloha/cm.mk]]: "device/*/aloha/cm.mk" does not exist. Stop.

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

immortal_yash

Senior Member
Aug 13, 2011
930
753
Mumbai
yashballani.com
OnePlus 5
OnePlus 6
Code:
make -j1 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=pico
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=IMM76
============================================
build/core/base_rules.mk:78: *** Module name: gps.pico
build/core/base_rules.mk:79: *** Makefile location: hardware/qcom/gps/loc_api/libloc_api
build/core/base_rules.mk:80: *
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:83: *
build/core/base_rules.mk:84: *     optional, debug, eng, tests, samples
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * If the module is expected to be in all builds
build/core/base_rules.mk:87: * of a product, then it should use the
build/core/base_rules.mk:88: * "optional" tag:
build/core/base_rules.mk:89: *
build/core/base_rules.mk:90: *    Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:91: *    Android.mk for the affected module, and add
build/core/base_rules.mk:92: *    the LOCAL_MODULE value for that component
build/core/base_rules.mk:93: *    into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:94: *    makefile(s) where it's necessary, if
build/core/base_rules.mk:95: *    appropriate.
build/core/base_rules.mk:96: *
build/core/base_rules.mk:97: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:98: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:99: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:100: * build/target/product/core.mk
build/core/base_rules.mk:101: *
build/core/base_rules.mk:102: *** user tag detected on new module - user tags are only supported on legacy modules.  Stop.
please help...i m build aosp with the guide for HTC Explorer but getting this error ... :(
 

dastin1015

Inactive Recognized Developer
Code:
make -j1 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=pico
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=IMM76
============================================
build/core/base_rules.mk:78: *** Module name: gps.pico
build/core/base_rules.mk:79: *** Makefile location: hardware/qcom/gps/loc_api/libloc_api
build/core/base_rules.mk:80: *
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:83: *
build/core/base_rules.mk:84: *     optional, debug, eng, tests, samples
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * If the module is expected to be in all builds
build/core/base_rules.mk:87: * of a product, then it should use the
build/core/base_rules.mk:88: * "optional" tag:
build/core/base_rules.mk:89: *
build/core/base_rules.mk:90: *    Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:91: *    Android.mk for the affected module, and add
build/core/base_rules.mk:92: *    the LOCAL_MODULE value for that component
build/core/base_rules.mk:93: *    into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:94: *    makefile(s) where it's necessary, if
build/core/base_rules.mk:95: *    appropriate.
build/core/base_rules.mk:96: *
build/core/base_rules.mk:97: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:98: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:99: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:100: * build/target/product/core.mk
build/core/base_rules.mk:101: *
build/core/base_rules.mk:102: *** user tag detected on new module - user tags are only supported on legacy modules.  Stop.
please help...i m build aosp with the guide for HTC Explorer but getting this error ... :(

Read the error. It tells you what to do.
 
  • Like
Reactions: lithid-cm

djmatt604

Senior Member
Aug 1, 2012
1,756
1,847
Vancity
Hi all - I'm running into a snag trying to compile AOSP 4.0.4 for the Galaxy Tab 10.1. Ubuntu 12.10 64 bit Virtualbox. I have cloned repos for device/samsung/p4-common, device/samsung/p4wifi, device/samsung/p7510 and an entire vendor/samsung branch.

Here's the tail end of what I'm seeing: Pastebin

This is as much of a screen grab as the Terminal window would let me take (next time I will have to output to a log file...). There's so much going on here that I'm wondering if this is simply me missing a required repo, or perhaps using one that is outdated?? This is my first real attempt at building from source so any guidance whatsoever is appreciated very, very much!

Thanks in advance if anyone has any clue where I can start. If you need more detail, please do let me know.
 

djmatt604

Senior Member
Aug 1, 2012
1,756
1,847
Vancity
Hi all - I'm running into a snag trying to compile AOSP 4.0.4 for the Galaxy Tab 10.1. Ubuntu 12.10 64 bit Virtualbox. I have cloned repos for device/samsung/p4-common, device/samsung/p4wifi, device/samsung/p7510 and an entire vendor/samsung branch.

Here's the tail end of what I'm seeing: Pastebin

This is as much of a screen grab as the Terminal window would let me take (next time I will have to output to a log file...). There's so much going on here that I'm wondering if this is simply me missing a required repo, or perhaps using one that is outdated?? This is my first real attempt at building from source so any guidance whatsoever is appreciated very, very much!

Thanks in advance if anyone has any clue where I can start. If you need more detail, please do let me know.

Disregard. A multitude of research has both solved my problem and produced a build. Thx!

Sent from my GT-P7510 bleeding CM10 inverted awesome
 

koklimabc

Member
Dec 18, 2012
20
0
This is first time I reply on this thread, I need to ask some help from you dastine1015 or whoever knowed this?:good:

It seems to be fined after I've done my first time compilation of jellybeam 4.2.1 for Gnex phpone, where can I find the META_INF folder content from somewhere under /out directory because I need flash it as zip content under Clockworkmod recovery mode.
 

djmatt604

Senior Member
Aug 1, 2012
1,756
1,847
Vancity
This is first time I reply on this thread, I need to ask some help from you dastine1015 or whoever knowed this?:good:

It seems to be fined after I've done my first time compilation of jellybeam 4.2.1 for Gnex phpone, where can I find the META_INF folder content from somewhere under /out directory because I need flash it as zip content under Clockworkmod recovery mode.

Out/target/product/<devicename>...if you are looking there and do not see a flashable zip file you did not issue the correct 'make' command to do so. You need to use 'make -j<x> otapackage'. Hope that helps!

Sent from my GT-P7510 using XDA Premium HD app
 
  • Like
Reactions: koklimabc

rauma

Senior Member
Mar 1, 2013
342
202
Random offset error

hello, I did it well but when I flashed on my device I get this error: Random offset 0x175 or 0x188...
Many people said that Its a normal error and can be ignored, but I can not ignore it because It make installation aborted.
How can i get rid of this?
Thank you.
 
Last edited:

djmatt604

Senior Member
Aug 1, 2012
1,756
1,847
Vancity
A random offset IS normal. Something else is wrong with your install script.

Can you please post the entire script output in a Pastebin? And perhaps the script itself as well?

Sent from my 4.2.GSII
 
D

D-3\/!L

Guest
Hey fnds, cn u tell me that what is ubuntu??
I thought that it is computer os...
But i am nw confused that is there ubuntu in mobile??
If yes than its a real os or just a theme???
 

Deadly

Senior Member
Jul 19, 2012
10,279
3,901
Bangalore
OnePlus 5
Hey fnds, cn u tell me that what is ubuntu??
I thought that it is computer os...
But i am nw confused that is there ubuntu in mobile??
If yes than its a real os or just a theme???
wrong section... this thread is about compiling ics on Ubuntu is in PC.. better Google it to find info..

Or Go to Ubuntu section & ask..

____________________________________
“If you wait to do everything until you’re sure it’s right, you’ll probably never do much of anything.” –Win Borden
 

hashroot

Senior Member
Feb 2, 2012
614
1,597
Mumbai
thetechndroid.com
Hi i have compiled aosp-ics before. I updated to ubuntu 13.04 i copied source from external HDD. Now getting this error while compiling it again

Device tree

Kernel source


host C++: aidl <= frameworks/base/tools/aidl/search_path.cpp
host C++: aidl <= frameworks/base/tools/aidl/AST.cpp
host C++: aidl <= frameworks/base/tools/aidl/Type.cpp
host C++: aidl <= frameworks/base/tools/aidl/generate_java.cpp
host C++: aidl <= out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp: In function ‘int yyparse()’:
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp:1872:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp:2014:35: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
host C++: aidl <= out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/content/EventLogTags.java <= frameworks/base/core/java/android/content/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/speech/tts/EventLogTags.java <= frameworks/base/core/java/android/speech/tts/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/core/java/android/webkit/EventLogTags.java <= frameworks/base/core/java/android/webkit/EventLogTags.logtags
logtags: out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/telephony/java/com/android/internal/telephony/EventLogTags.java <= frameworks/base/telephony/java/com/android/internal/telephony/EventLogTags.logtags
make -C kernel/samsung/msm7x27 O=/home/rish/android/aosp-4.0.4/out/target/product/beni/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" /home/rish/android/aosp-4.0.4/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" cyanogenmod_beni_defconfig
make[1]: Entering directory `/home/rish/android/aosp-4.0.4/kernel/samsung/msm7x27'
host C++: grxmlcompile <= external/srec/tools/grxmlcompile/gr_iface.cpp
make: *** empty variable name. Stop.
make[2]: *** [scripts_basic] Error 2
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/rish/android/aosp-4.0.4/kernel/samsung/msm7x27'
make: *** [/home/rish/android/aosp-4.0.4/out/target/product/beni/obj/KERNEL_OBJ/.config] Error 2
make: *** Waiting for unfinished jobs....
In file included from external/srec/tools/grxmlcompile/sub_grph.h:26:0,
from external/srec/tools/grxmlcompile/grph.h:21,
from external/srec/tools/grxmlcompile/gr_iface.cpp:26:
external/srec/tools/grxmlcompile/vocab.h:72:54: warning: ‘typedef’ was ignored in this declaration [enabled by default]
rish@rish-workshop:~/android/aosp-4.0.4$


 

winxuser

Senior Member
Jan 15, 2012
2,961
2,341
Brisbane
Huawei Nexus 6P
Samsung Galaxy S9+
does anyone know how to fix this problem with libstagefright


In file included from frameworks/base/media/libstagefright/OMXCodec.cpp:55:
./vendor/qcom/opensource/omx/mm-core/omxcore/inc/OMX_QCOMExtns.h:846: warning: 'typedef' was ignored in this declaration
frameworks/base/media/libstagefright/OMXCodec.cpp: In function 'size_t android::getFrameSize(OMX_COLOR_FORMATTYPE, int32_t, int32_t)':
frameworks/base/media/libstagefright/OMXCodec.cpp:1297: error: 'ALIGN' was not declared in this scope
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'void android::eek:MXCodec::setVideoInputFormat(const char*, const android::sp<android::MetaData>&)':
frameworks/base/media/libstagefright/OMXCodec.cpp:1386: warning: format '%ld' expects type 'long int', but argument 5 has type 'int32_t'
frameworks/base/media/libstagefright/OMXCodec.cpp:1386: warning: format '%ld' expects type 'long int', but argument 6 has type 'int32_t'
frameworks/base/include/media/stagefright/OMXCodec.h: In constructor 'android::eek:MXCodec::eek:MXCodec(const android::sp<android::IOMX>&, void*, uint32_t, uint32_t, bool, const char*, const char*, const android::sp<android::MediaSource>&, const android::sp<ANativeWindow>&)':
frameworks/base/include/media/stagefright/OMXCodec.h:246: warning: 'android::eek:MXCodec::bInvalidState' will be initialized after
frameworks/base/include/media/stagefright/OMXCodec.h:244: warning: 'bool android::eek:MXCodec::mInterlaceFormatDetected'
frameworks/base/media/libstagefright/OMXCodec.cpp:2030: warning: when initialized here
frameworks/base/include/media/stagefright/OMXCodec.h:245: warning: 'android::eek:MXCodec::mSPSParsed' will be initialized after
frameworks/base/include/media/stagefright/OMXCodec.h:220: warning: 'bool android::eek:MXCodec::mThumbnailMode'
frameworks/base/media/libstagefright/OMXCodec.cpp:2030: warning: when initialized here
frameworks/base/include/media/stagefright/OMXCodec.h:393: warning: 'android::eek:MXCodec::mUseArbitraryMode' will be initialized after
frameworks/base/include/media/stagefright/OMXCodec.h:230: warning: 'android::sp<ANativeWindow> android::eek:MXCodec::mNativeWindow'
frameworks/base/media/libstagefright/OMXCodec.cpp:2030: warning: when initialized here
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'android::status_t android::eek:MXCodec::allocateOutputBuffersFromNativeWindow()':
frameworks/base/media/libstagefright/OMXCodec.cpp:2461: warning: enumeral mismatch in conditional expression: '<anonymous enum>' vs 'OMX_COLOR_FORMATTYPE'
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'void android::eek:MXCodec::eek:nEvent(OMX_EVENTTYPE, OMX_U32, OMX_U32)':
frameworks/base/media/libstagefright/OMXCodec.cpp:3244: warning: comparison between signed and unsigned integer expressions
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'void android::eek:MXCodec::eek:nCmdComplete(OMX_COMMANDTYPE, OMX_U32)':
frameworks/base/media/libstagefright/OMXCodec.cpp:3424: warning: comparison between signed and unsigned integer expressions
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'bool android::eek:MXCodec::flushPortAsync(OMX_U32)':
frameworks/base/media/libstagefright/OMXCodec.cpp:3739: warning: comparison between signed and unsigned integer expressions
frameworks/base/media/libstagefright/OMXCodec.cpp: In member function 'void android::eek:MXCodec::drainInputBuffers()':
frameworks/base/media/libstagefright/OMXCodec.cpp:3874: warning: comparison between signed and unsigned integer expressions
frameworks/base/media/libstagefright/OMXCodec.cpp: In function 'const char* android::colorFormatString(OMX_COLOR_FORMATTYPE)':
frameworks/base/media/libstagefright/OMXCodec.cpp:5338: warning: comparison between 'enum OMX_COLOR_FORMATTYPE' and 'enum OMX_QCOM_COLOR_FORMATTYPE'
make: *** [out/target/product/u8650/obj/SHARED_LIBRARIES/libstagefright_intermediates/OMXCodec.o] Error 1
make: *** Waiting for unfinished jobs....
 

Top Liked Posts

  • There are no posts matching your filters.
  • 43
    To compile Ice Cream Sandwich on Ubuntu I'm going to first give you steps to set up your computer to get this thing rolling.

    This will NOT make a fully functional ROM, but will give you a place to start. Also I CANNOT fix every error you run into.

    Note: The source download is approximately 6GB in size. You will need 25GB free to complete a single build, and up to 80GB (or more) for a full set of builds.

    1) You need the following:
    -JDK 6 if you wish to build Ice Cream Sandwich. You can download it from java.sun.com. Or:
    Code:
    $ sudo apt-get install sun-java6-jdk

    -Python 2.4 -- 2.7, which you can download from python.org. Or:
    Code:
    $ sudo apt-get install python

    -Git 1.7 or newer. You can find it at git-scm.com. Or:
    Code:
    $ sudo apt-get install git-core

    2) Install required packages. 64-bit (recommended)
    Code:
    $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
      zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
      x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
      libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
      libxml2-utils

    On newer versions of Ubuntu such as 11.10 you may need to do the following:
    Code:
    $ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

    3) Configure your USB.
    Code:
    $ gksudo gedit /etc/udev/rules.d/51-android.rules

    Inside of this blank text file insert:
    Code:
    #Acer
    SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
    
    #ASUS
    SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
    
    #Dell
    SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
    
    #Foxconn
    SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
    
    #Garmin-Asus
    SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"
    
    #Google
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
    
    #HTC
    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
    
    #Huawei
    SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
    
    #K-Touch
    SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
    
    #KT Tech
    SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
    
    #Kyocera
    SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
    
    #Lenevo
    SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"
    
    #LG
    SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
    
    #Motorola
    SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
    
    #NEC
    SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
    
    #Nook
    SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
    
    #Nvidia
    SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
    
    #OTGV
    SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
    
    #Pantech
    SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"
    
    #Philips
    SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
    
    #PMC-Sierra
    SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
    
    #Qualcomm
    SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
    
    #SK Telesys
    SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
    
    #Samsung
    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
    
    #Sharp
    SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
    
    #Sony Ericsson
    SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
    
    #Toshiba
    SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
    
    #ZTE
    SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"

    4) Save the file and close it and then issue this command:
    Code:
    $ sudo chmod a+r /etc/udev/rules.d/51-android.rules

    5) Install the repo:
    Code:
    $ mkdir ~/bin
    $ PATH=~/bin:$PATH
    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo

    6) Initialize the repo:
    Code:
    $ mkdir WORKING_DIRECTORY
    $ cd WORKING_DIRECTORY
    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

    7) When prompted, enter your real name and email address.

    8) Gather the files:
    Code:
    $ repo sync

    9) Compiling:
    Code:
    $ source build/envsetup.sh

    Or:
    Code:
    $ . build/envsetup.sh

    10) Issue:
    Code:
    $ lunch

    11) Pick your poison.

    12) Now issue:
    Code:
    $ make -j1


    ~How To Add A Device To The List~

    1) Find the github for your device you wish to add. (For me it is the HTC Hero CDMA)

    2) Now navigate to the location you are going clone the device tree to:
    Code:
    $ cd WORKING_DIRECTORY/device
    $ mkdir htc

    3) Clone the github device tree from remote to local: (The heroc would be whatever you want that folder to be named so make sure it is whatever standard name would be for your device, example: Nexus One [passion], Nexus S [crespo], Motorola Droid [sholes], HTC Incredible [inc], etc.)
    Code:
    $ git clone git://github.com/TeamICS/android_device_htc_heroc.git heroc

    4) Now navigate into the folder:
    Code:
    $ cd heroc

    5) Connect phone to computer and make sure USB debugging is enabled and you have adb set up.

    6) Extract Device Proprietary Files:
    Code:
    $ ./extract-files.sh

    7) Navigate back to your home directory for building:
    Code:
    $ cd ~/WORKING_DIRECTORY

    8) Prepare To Compile:
    Code:
    $ source build/envsetup.sh

    Or:
    Code:
    $ . build/envsetup.sh

    9) Get your list of devices:
    Code:
    $ lunch

    10) Pick your poison.

    11) Now compile:
    Code:
    $ make -j1

    Or for a flashable zip:
    Code:
    $ make -j1 otapackage

    ~NOTE~
    If you are running into issues such as:

    Code:
    Which would you like? [full-eng] 5
    build/core/product_config.mk:209: *** No matches for product "full_shooter".  Stop.
    Device shooter not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
    Repository for shooter not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
    build/core/product_config.mk:209: *** No matches for product "full_shooter".  Stop.
    
    ** Don't have a product spec for: 'full_shooter'
    ** Do you have the right repo manifest?

    What you need to do is to edit your blob to match the PRODUCT_NAME to the file name. For example with mine I have full_shooter.mk therefore in this file I need to have PRODUCT_NAME to match it. Whatever error it is looking for you just need to change the PRODUCT_NAME line to match what the error shows.
    5
    I'm really sorry for the stupid question, but I can't seem to find the answer for this.

    I'm using Ubuntu 11.10 64bit and I'm trying to get all the dependencies together so I can start playing. I already have all the repos in the default /etc/apt/sources.list enabled and get this feedback when I run
    Code:
     apt-get install lib32readline5-dev

    Code:
    Package lib32readline5-dev is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
      lib32readline-gplv2-dev
    
    E: Package 'lib32readline5-dev' has no installation candidate

    My question is do I have to get the package "lib32readline5-dev" or can I use the replacement package that apt recommends "lib32readline-gplv2-dev".

    This post seems to suggest that it will work but I just wanted to make sure before I cause a huge problem for myself. :)
    http://xdaforums.com/showpost.php?p=18631398&postcount=401

    Also here is the package information from Ubuntu

    http://packages.ubuntu.com/natty/lib32readline5-dev

    http://packages.ubuntu.com/oneiric/lib32readline-gplv2-dev

    they look like they do the same thing from the description.


    Thanks for having patience and understanding with a N00b, and for all the work that you already put into this post, the information on this site is great.
    --Sorrell

    You'd be fine using this:
    Code:
    $ sudo apt-get install lib32readline-gplv2-dev

    I've been compiling without it and I've been fine, but I'm adding now.
    3
    To compile Ice Cream Sandwich on Ubuntu I'm going to first give you steps to set up your computer to get this thing rolling.

    This will NOT make a fully functional ROM, but will give you a place to start. Also I CANNOT fix every error you run into.

    Note: The source download is approximately 6GB in size. You will need 25GB free to complete a single build, and up to 80GB (or more) for a full set of builds.

    1) You need the following:
    -JDK 6 if you wish to build Ice Cream Sandwich. You can download it from java.sun.com. Or:
    Code:
    $ sudo apt-get install sun-java6-jdk

    -Python 2.4 -- 2.7, which you can download from python.org. Or:
    Code:
    $ sudo apt-get install python

    -Git 1.7 or newer. You can find it at git-scm.com. Or:
    Code:
    $ sudo apt-get install git-core

    2) Install required packages. 64-bit (recommended)
    Code:
    $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
      zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
      x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
      libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
      libxml2-utils

    On newer versions of Ubuntu such as 11.10 you may need to do the following:
    Code:
    $ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

    3) Configure your USB.
    Code:
    $ gksudo gedit /etc/udev/rules.d/51-android.rules

    Inside of this blank text file insert:
    For all HTC Models:
    Code:
    #Acer
    SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
    
    #ASUS
    SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
    
    #Dell
    SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
    
    #Foxconn
    SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
    
    #Garmin-Asus
    SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
    
    #Google
    SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
    
    #HTC
    SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
    
    #Huawei
    SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
    
    #K-Touch
    SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
    
    #KT Tech
    SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
    
    #Kyocera
    SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
    
    #Lenevo
    SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
    
    #LG
    SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
    
    #Motorola
    SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
    
    #NEC
    SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
    
    #Nook
    SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
    
    #Nvidia
    SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
    
    #OTGV
    SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
    
    #Pantech
    SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
    
    #Philips
    SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
    
    #PMC-Sierra
    SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
    
    #Qualcomm
    SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
    
    #SK Telesys
    SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
    
    #Samsung
    SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
    
    #Sharp
    SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
    
    #Sony Ericsson
    SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
    
    #Toshiba
    SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
    
    #ZTE
    SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666

    4) Save the file and close it and then issue this command:
    Code:
    $ sudo chmod a+r /etc/udev/rules.d/51-android.rules

    5) Install the repo:
    Code:
    $ mkdir ~/bin
    $ PATH=~/bin:$PATH
    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo

    6) Initialize the repo:
    Code:
    $ mkdir WORKING_DIRECTORY
    $ cd WORKING_DIRECTORY
    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

    7) When prompted, please configure Repo with your real name and email address. To use the Gerrit code-review tool, you will need an email address that is connected with a registered Google account. Make sure this is a live address at which you can receive messages. The name that you provide here will show up in attributions for your code submissions.

    8) Gather the files:
    Code:
    $ repo sync

    9) Compiling:
    Code:
    $ source build/envsetup.sh

    Or:
    Code:
    $ . build/envsetup.sh

    10) Issue:
    Code:
    $ lunch

    11) Pick your poison.

    12) Now issue:
    Code:
    $ make

    Please note that you have already selected your build target with lunch, and it is unlikely at best to run on a different target than it was built for.


    ~How To Add A Device To The List~

    1) Find the github for your device you wish to add. (For me it is the HTC Hero CDMA)

    2) Now navigate to the location you are going clone the device tree to:
    Code:
    $ cd WORKING_DIRECTORY/device
    $ mkdir htc

    3) Clone the github device tree from remote to local: (The heroc would be whatever you want that folder to be named so make sure it is whatever standard name would be for your device, example: Nexus One [Passion], Nexus S [Crespo], Motorola Droid [Sholes], HTC Incredible [Inc], etc.)
    Code:
    $ git clone git://github.com/TeamICS/android_device_htc_heroc.git heroc

    4) Now navigate into the folder:
    Code:
    $ cd heroc

    5) Connect phone to computer and make sure USB debugging is enabled and you have adb set up.

    6) Extract Device Proprietary Files:
    Code:
    $ ./extract-files.sh

    7) Navigate back to your home directory for building:
    Code:
    $ cd ~/WORKING_DIRECTORY

    8) Prepare To Compile:
    Code:
    $ source build/envsetup.sh

    Or:
    Code:
    $ . build/envsetup.sh

    9) Get your list of devices:
    Code:
    $ lunch

    10) Pick your poison.

    11) Now compile:
    Code:
    $ make -j1

    Or for a flashable zip:
    Code:
    $ make -j1 otapackage

    First, thanks for gathering just about everything I needed in one place, I had gotten pretty far in the process on windows before I decided doing it in windows was a stupid idea..

    When I ran this-- 2) Install required packages. 64-bit (recommended)
    Code:
    $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
      zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
      x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
      libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
      libxml2-utils
    I got back some errors, but I think these things were already loaded, or it was because I hadn't approved the sources..? Not sure, but I'm downloading the source now so it couldn't be THAT important(yet). I'm using ubuntu 11.10 if that helps at all.

    At this point: 9) Compiling:
    Code:
    $ source build/envsetup.sh

    Or:
    Code:
    $ . build/envsetup.sh
    could I have done
    Code:
    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r
    and just be downloading ICS source? Because at the moment, it looks like it is downloading the source for all of the previous android source too.. isn't a bad thing, but I only made my partition 100gb in size because i was going to just work with ICS.
    I'll probably go through this thread a little more throughly and do some other research while this download is going on-- thanks again for putting this thread together!
    2
    Hello,

    No matter what lunch combo I pick I now get this error about desirec? I would prefer to build full heroc eng but at this point would be happy with anything... I eve resorted to reviewing Dastin's post on building for Heroc since I keep second guessing myself. I do appreciate everyone's kind help trying to teach a 40 year old a new trick!

    Lunch menu... pick a combo:
    1. full-eng
    2. full_x86-eng
    3. vbox_x86-eng
    4. full_heroc-userdebug
    5. full_heroc-eng
    6. full_heroc-user
    7. full_maguro-userdebug
    8. full_tuna-userdebug
    9. full_panda-eng
    10. TeamICS_desirec-eng
    11. TeamICS_heroc-eng

    Which would you like? [full-eng] 11
    build/core/product_config.mk:193: *** _nic.PRODUCTS.[[vendor/TeamICS/products/TeamICS_desirec.mk]]: "device/htc/desirec/full_desirec.mk" does not exist. Stop.

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


    Cheers

    We (Team ICS) use our own source for building. I'll send you a PM later on how to set it up

    私のEVO 3Dから送信される。
    2
    Well the Vigor (Rezound) was just released, so it is not yet on the CM source. Do I need the kernel source to get what I need?

    You need more than the kernel. You need vendor files as well. Vendor files tell what your phones hardware is and how to build, etc. You usually get this from CM when they support your phone.

    私のエボ3Dから送信される。