[Tutorial] Compile ICS on Ubuntu

Search This thread

MikeCriggs

Recognized Dev / Inactive Recognized Contributor
Dec 24, 2010
2,750
5,838
Catskills, NY
twitter.com
Thanks for the guide, I really appreciate it. I'm having an error that I don't seem to see anyone else getting after executing:

Code:
./extract-files.sh

This is my output:


Code:
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device

USB Debugging is enabled and ADB is peachy as well. I'm trying to build for the HP Touchpad (Tenderloin) using the CM9 git. If anyone has encountered this error and knows of a fix, please let me know. Thanks in advance.
 

paxChristos

Retired Forum Moderator
Aug 27, 2011
2,032
1,779
37
West Bend
Thanks for the guide, I really appreciate it. I'm having an error that I don't seem to see anyone else getting after executing:

Code:
./extract-files.sh

This is my output:


Code:
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device
error: insufficient permissions for device

USB Debugging is enabled and ADB is peachy as well. I'm trying to build for the HP Touchpad (Tenderloin) using the CM9 git. If anyone has encountered this error and knows of a fix, please let me know. Thanks in advance.

Try adb remount before you do extract-files.sh

Sent from my R800x using Tapatalk 2
 
  • Like
Reactions: MikeCriggs

lemonoid

Senior Member
Jun 15, 2011
416
20
Boone, NC
hey dastin, I saw in an earlier comment where you said that you have device support for the Eris? I have just got my 12.04 intsalled and i'm setting up repo and such right now, and I was just trying to find a good source to pull from for the Eris, because CM no longer has it as far as I can tell, and now I'm stuck without it. I was wondering if you could point me in the direction
 

dastin1015

Inactive Recognized Developer
hey dastin, I saw in an earlier comment where you said that you have device support for the Eris? I have just got my 12.04 intsalled and i'm setting up repo and such right now, and I was just trying to find a good source to pull from for the Eris, because CM no longer has it as far as I can tell, and now I'm stuck without it. I was wondering if you could point me in the direction

Evervolv has source for the Eris I believe. Team ICS is for the Hero CDMA, but we work with the Hero GSM, Eris and a few other mdpi armv6 phones I think.

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

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
Everything was moving along while compiling and then i got this error message:
Code:
Checking API: checkapi-lastChecking API: checkapi-currentout/target/common/obj/PACKAGING/public_api.txt:5538: error 5: Added public field android.content.Intent.CATEGORY_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:5556: error 5: Added public field android.content.Intent.EXTRA_DOCK_STATE_TF101_KBout/target/common/obj/PACKAGING/public_api.txt:6272: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_HALL_SENSORout/target/common/obj/PACKAGING/public_api.txt:6273: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:16365: error 5: Added public field android.provider.ContactsContract.BaseSyncColumns.IS_RESTRICTEDout/target/common/obj/PACKAGING/public_api.txt:17471: error 5: Added public field android.provider.Settings.Secure.LTE_TOGGLEout/target/common/obj/PACKAGING/public_api.txt:17542: error 5: Added public field android.provider.Settings.System.BATTERY_PERCENTAGESout/target/common/obj/PACKAGING/public_api.txt:19229: error 4: Added public method android.telephony.TelephonyManager.LTEtoggleout/target/common/obj/PACKAGING/public_api.txt:22216: error 5: Added public field android.view.KeyEvent.KEYCODE_BLUETOOTHout/target/common/obj/PACKAGING/public_api.txt:22219: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_AUTOout/target/common/obj/PACKAGING/public_api.txt:22220: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_DOWNout/target/common/obj/PACKAGING/public_api.txt:22221: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_UPout/target/common/obj/PACKAGING/public_api.txt:22260: error 5: Added public field android.view.KeyEvent.KEYCODE_CAPTUREout/target/common/obj/PACKAGING/public_api.txt:22277: error 5: Added public field android.view.KeyEvent.KEYCODE_EISUout/target/common/obj/PACKAGING/public_api.txt:22283: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_1out/target/common/obj/PACKAGING/public_api.txt:22284: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_2out/target/common/obj/PACKAGING/public_api.txt:22307: error 5: Added public field android.view.KeyEvent.KEYCODE_HANKAKU_ZENKAKUout/target/common/obj/PACKAGING/public_api.txt:22309: error 5: Added public field android.view.KeyEvent.KEYCODE_HENKANout/target/common/obj/PACKAGING/public_api.txt:22310: error 5: Added public field android.view.KeyEvent.KEYCODE_HIRAGANA_KATAKANAout/target/common/obj/PACKAGING/public_api.txt:22339: error 5: Added public field android.view.KeyEvent.KEYCODE_MUHENKANout/target/common/obj/PACKAGING/public_api.txt:22390: error 5: Added public field android.view.KeyEvent.KEYCODE_SLEEPout/target/common/obj/PACKAGING/public_api.txt:22402: error 5: Added public field android.view.KeyEvent.KEYCODE_TOUCHPADout/target/common/obj/PACKAGING/public_api.txt:22414: error 5: Added public field android.view.KeyEvent.KEYCODE_WIRELESSout/target/common/obj/PACKAGING/public_api.txt:22417: error 5: Added public field android.view.KeyEvent.KEYCODE_YEN******************************You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices: 1) You can add "@hide" javadoc comments to the methods, etc. listed in the	 errors above. 2) You can update current.txt by executing the following command:		 make update-api	 ^^^^^^^^^^^^^^^^^^	 NO. NO. STOP BEING LAZY. SERIOUSLY.	 DO NOT DO THIS in CM. THIS IS A LIE. IF YOU DO THIS I WILL HATE YOU.	 USE OPTION #1.				 -Koush	 To submit the revised current.txt to the main Android repository,	 you will need approval.******************************make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38
Now i dont want Koush to hate me so i was wondering where exacly do i add @hide to the javadoc arguments?


Sent from my GT-S5360 using Tapatalk 2
 
Last edited:

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,089
IN YOUR HEAD
Everything was moving along while compiling and then i got this error message:
Code:
Checking API: checkapi-lastChecking API: checkapi-currentout/target/common/obj/PACKAGING/public_api.txt:5538: error 5: Added public field android.content.Intent.CATEGORY_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:5556: error 5: Added public field android.content.Intent.EXTRA_DOCK_STATE_TF101_KBout/target/common/obj/PACKAGING/public_api.txt:6272: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_HALL_SENSORout/target/common/obj/PACKAGING/public_api.txt:6273: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:16365: error 5: Added public field android.provider.ContactsContract.BaseSyncColumns.IS_RESTRICTEDout/target/common/obj/PACKAGING/public_api.txt:17471: error 5: Added public field android.provider.Settings.Secure.LTE_TOGGLEout/target/common/obj/PACKAGING/public_api.txt:17542: error 5: Added public field android.provider.Settings.System.BATTERY_PERCENTAGESout/target/common/obj/PACKAGING/public_api.txt:19229: error 4: Added public method android.telephony.TelephonyManager.LTEtoggleout/target/common/obj/PACKAGING/public_api.txt:22216: error 5: Added public field android.view.KeyEvent.KEYCODE_BLUETOOTHout/target/common/obj/PACKAGING/public_api.txt:22219: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_AUTOout/target/common/obj/PACKAGING/public_api.txt:22220: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_DOWNout/target/common/obj/PACKAGING/public_api.txt:22221: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_UPout/target/common/obj/PACKAGING/public_api.txt:22260: error 5: Added public field android.view.KeyEvent.KEYCODE_CAPTUREout/target/common/obj/PACKAGING/public_api.txt:22277: error 5: Added public field android.view.KeyEvent.KEYCODE_EISUout/target/common/obj/PACKAGING/public_api.txt:22283: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_1out/target/common/obj/PACKAGING/public_api.txt:22284: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_2out/target/common/obj/PACKAGING/public_api.txt:22307: error 5: Added public field android.view.KeyEvent.KEYCODE_HANKAKU_ZENKAKUout/target/common/obj/PACKAGING/public_api.txt:22309: error 5: Added public field android.view.KeyEvent.KEYCODE_HENKANout/target/common/obj/PACKAGING/public_api.txt:22310: error 5: Added public field android.view.KeyEvent.KEYCODE_HIRAGANA_KATAKANAout/target/common/obj/PACKAGING/public_api.txt:22339: error 5: Added public field android.view.KeyEvent.KEYCODE_MUHENKANout/target/common/obj/PACKAGING/public_api.txt:22390: error 5: Added public field android.view.KeyEvent.KEYCODE_SLEEPout/target/common/obj/PACKAGING/public_api.txt:22402: error 5: Added public field android.view.KeyEvent.KEYCODE_TOUCHPADout/target/common/obj/PACKAGING/public_api.txt:22414: error 5: Added public field android.view.KeyEvent.KEYCODE_WIRELESSout/target/common/obj/PACKAGING/public_api.txt:22417: error 5: Added public field android.view.KeyEvent.KEYCODE_YEN******************************You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices: 1) You can add "@hide" javadoc comments to the methods, etc. listed in the	 errors above. 2) You can update current.txt by executing the following command:		 make update-api	 ^^^^^^^^^^^^^^^^^^	 NO. NO. STOP BEING LAZY. SERIOUSLY.	 DO NOT DO THIS in CM. THIS IS A LIE. IF YOU DO THIS I WILL HATE YOU.	 USE OPTION #1.				 -Koush	 To submit the revised current.txt to the main Android repository,	 you will need approval.******************************make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38
Now i dont want Koush to hate me so i was wondering where exacly do i add @hide to the javadoc arguments?


Sent from my GT-S5360 using Tapatalk 2
First of all, run a `repo sync` if you already havent || not made a change yourself

If you did change something, you'll know where it is, add @hide just above it :)
 

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
First of all, run a `repo sync` if you already havent || not made a change yourself

If you did change something, you'll know where it is, add @hide just above it :)


Example:
@hide
I didn't add anything to the tf101 device but I did change things in my totoro device.

Like that?

Duhhhh of course I should have synced it. It took 2 weeks to download. I will sync again when I have Linux booted.

Sent from my GT-S5360 using Tapatalk 2
 
Last edited:

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,089
IN YOUR HEAD
Example:
@hide
I didn't add anything to the tf101 device but I did change things in my totoro device.

Like that?

Duhhhh of course I should have synced it. It took 2 weeks to download. I will sync again when I have Linux booted.

Sent from my GT-S5360 using Tapatalk 2
Na, if you changed anything in frameworks/base, anything 'java'

Just do a sync and it'll update the sources, this was fixed in the tree.

Updating the tree won't take long, just a few mbs to download)
 

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
Na, if you changed anything in frameworks/base, anything 'java'

Just do a sync and it'll update the sources, this was fixed in the tree.

Updating the tree won't take long, just a few mbs to download)

Ok cool but still taking time (30 min already)and getting a few fatal HTTP request failed.

Edit: Perfect that issue solved and now on to the next which is:
Code:
intermediates/pcre/include/pcre.h
target Generated: libpcre <= external/pcre/pcre_chartables.c.dist
Notice file: dalvik/dx/NOTICE -- out/host/linux-x86/obj/NOTICE_FILES/src//framework/jasmin.jar.txt
target Generated: librslib <= frameworks/compile/slang/rslib.bc
make: *** No rule to make target `out/target/common/obj/APPS/com.replica.replicaisland_intermediates/classes.jar', needed by `out/target/common/obj/APPS/CtsOpenGlPerfTestCases_intermediates/classes-full-debug.jar'.  Stop.
make: *** Waiting for unfinished jobs....
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.


Sent from my GT-S5360 using Tapatalk 2
 
Last edited:

oisis

Senior Member
Oct 9, 2008
1,251
2,095
Out of nowhere
I would like to build ICS AOSP for Samsung Galaxy S Plus, do you know where can I find the GIT for this device?
There is a repository for CyanogenMod9 at this address: http://www.github.com/arco.

I added the file:
~/ICS_SOURCE/.repo/local_manifest.xml
which I downloaded from this address: http://ubuntuone.com/56Wx6u4XORgc3hFsr3Hb4B
I made a:
repo sync
then the
source build/envsetup.sh
and then:
Code:
You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. full_stingray-userdebug
     5. full_wingray-userdebug
     6. full_ariesve-eng
     7. cm_ariesve-userdebug
     8. full_crespo4g-userdebug
     9. full_crespo-userdebug
     10. full_maguro-userdebug
     11. full_torospr-userdebug
     12. full_toro-userdebug
     13. full_tuna-userdebug
     14. full_panda-eng

Which would you like? [full-eng] 6

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_ariesve
TARGET_BUILD_VARIANT=eng
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=IMM76I
============================================

make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_ariesve
TARGET_BUILD_VARIANT=eng
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=IMM76I
============================================
build/core/base_rules.mk:78: *** Module name: lights.msm7x30
build/core/base_rules.mk:79: *** Makefile location: hardware/msm7k/liblights
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.

Could someone help me build AOSP ICS for SGS+?

This is my first time when I build an android from source so sorry for stupid questions. Thanks.
 
Last edited:

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
I'm currently trying to get my galaxy y set up to compile. This has been tricky so far to say the least. i'm using the Gummy sources as i cant get CM9 to sync properly. So having said that i've obviously had to add a few things like arm6-vfp compatibility to the compiler. So after adding all that stuff and it going on for a while i get this error:

Code:
target thumb C++: libjs <= external/webkit/Source/JavaScriptCore/jit/JITArithmetic32_64.cpp
In file included from external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:33,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssembler.h:36,
                 from external/webkit/Source/JavaScriptCore/bytecode/Instruction.h:32,
                 from external/webkit/Source/JavaScriptCore/bytecode/CodeBlock.h:34,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.h:41,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.cpp:29:
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void JSC::AssemblerBuffer::putIntegral(IntegralType) [with IntegralType = unsigned int]':
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:267:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntegralWithConstantInt(IntegralType, uint32_t, bool) [with IntegralType = unsigned int, int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:218:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntWithConstantInt(uint32_t, uint32_t, bool) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:482:   instantiated from here
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h:120: warning: comparison between signed and unsigned integer expressions
In file included from external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:33,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssembler.h:36,
                 from external/webkit/Source/JavaScriptCore/bytecode/Instruction.h:32,
                 from external/webkit/Source/JavaScriptCore/bytecode/CodeBlock.h:34,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.h:41,
                 from external/webkit/Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:30:
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void JSC::AssemblerBuffer::putIntegral(IntegralType) [with IntegralType = unsigned int]':
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:267:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntegralWithConstantInt(IntegralType, uint32_t, bool) [with IntegralType = unsigned int, int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:218:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntWithConstantInt(uint32_t, uint32_t, bool) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:482:   instantiated from here
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h:120: warning: comparison between signed and unsigned integer expressions
/tmp/ccmPaKM3.s: Assembler messages:
/tmp/ccmPaKM3.s:14287: Error: invalid immediate: 983040 is out of range
/tmp/ccmPaKM3.s:14287: Error: value of 983040 too large for field of 2 bytes at 2014
make: *** [out/target/product/totoro/obj/STATIC_LIBRARIES/libjs_intermediates/Source/JavaScriptCore/jit/JIT.o] Error 1
make: *** Waiting for unfinished jobs....

Any ideas?
 

dastin1015

Inactive Recognized Developer
I'm currently trying to get my galaxy y set up to compile. This has been tricky so far to say the least. i'm using the Gummy sources as i cant get CM9 to sync properly. So having said that i've obviously had to add a few things like arm6-vfp compatibility to the compiler. So after adding all that stuff and it going on for a while i get this error:

Code:
target thumb C++: libjs <= external/webkit/Source/JavaScriptCore/jit/JITArithmetic32_64.cpp
In file included from external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:33,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssembler.h:36,
                 from external/webkit/Source/JavaScriptCore/bytecode/Instruction.h:32,
                 from external/webkit/Source/JavaScriptCore/bytecode/CodeBlock.h:34,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.h:41,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.cpp:29:
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void JSC::AssemblerBuffer::putIntegral(IntegralType) [with IntegralType = unsigned int]':
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:267:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntegralWithConstantInt(IntegralType, uint32_t, bool) [with IntegralType = unsigned int, int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:218:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntWithConstantInt(uint32_t, uint32_t, bool) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:482:   instantiated from here
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h:120: warning: comparison between signed and unsigned integer expressions
In file included from external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:32,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssemblerARM.h:33,
                 from external/webkit/Source/JavaScriptCore/assembler/MacroAssembler.h:36,
                 from external/webkit/Source/JavaScriptCore/bytecode/Instruction.h:32,
                 from external/webkit/Source/JavaScriptCore/bytecode/CodeBlock.h:34,
                 from external/webkit/Source/JavaScriptCore/jit/JIT.h:41,
                 from external/webkit/Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:30:
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h: In member function 'void JSC::AssemblerBuffer::putIntegral(IntegralType) [with IntegralType = unsigned int]':
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:267:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntegralWithConstantInt(IntegralType, uint32_t, bool) [with IntegralType = unsigned int, int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h:218:   instantiated from 'void JSC::AssemblerBufferWithConstantPool<maxPoolSize, barrierSize, maxInstructionSize, AssemblerType>::putIntWithConstantInt(uint32_t, uint32_t, bool) [with int maxPoolSize = 2048, int barrierSize = 4, int maxInstructionSize = 4, AssemblerType = JSC::ARMAssembler]'
external/webkit/Source/JavaScriptCore/assembler/ARMAssembler.h:482:   instantiated from here
external/webkit/Source/JavaScriptCore/assembler/AssemblerBuffer.h:120: warning: comparison between signed and unsigned integer expressions
/tmp/ccmPaKM3.s: Assembler messages:
/tmp/ccmPaKM3.s:14287: Error: invalid immediate: 983040 is out of range
/tmp/ccmPaKM3.s:14287: Error: value of 983040 too large for field of 2 bytes at 2014
make: *** [out/target/product/totoro/obj/STATIC_LIBRARIES/libjs_intermediates/Source/JavaScriptCore/jit/JIT.o] Error 1
make: *** Waiting for unfinished jobs....

Any ideas?

Error with your compiler. Idk the cause of the error though.
 
  • Like
Reactions: Dreamboxuser

dastin1015

Inactive Recognized Developer
I would like to build ICS AOSP for Samsung Galaxy S Plus, do you know where can I find the GIT for this device?
There is a repository for CyanogenMod9 at this address: http://www.github.com/arco.

I added the file:
~/ICS_SOURCE/.repo/local_manifest.xml
which I downloaded from this address: http://ubuntuone.com/56Wx6u4XORgc3hFsr3Hb4B
I made a:
repo sync
then the
source build/envsetup.sh
and then:
Code:
You're building on Linux

Lunch menu... pick a combo:
     1. full-eng
     2. full_x86-eng
     3. vbox_x86-eng
     4. full_stingray-userdebug
     5. full_wingray-userdebug
     6. full_ariesve-eng
     7. cm_ariesve-userdebug
     8. full_crespo4g-userdebug
     9. full_crespo-userdebug
     10. full_maguro-userdebug
     11. full_torospr-userdebug
     12. full_toro-userdebug
     13. full_tuna-userdebug
     14. full_panda-eng

Which would you like? [full-eng] 6

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_ariesve
TARGET_BUILD_VARIANT=eng
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=IMM76I
============================================

make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_ariesve
TARGET_BUILD_VARIANT=eng
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=IMM76I
============================================
build/core/base_rules.mk:78: *** Module name: lights.msm7x30
build/core/base_rules.mk:79: *** Makefile location: hardware/msm7k/liblights
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.

Could someone help me build AOSP ICS for SGS+?

This is my first time when I build an android from source so sorry for stupid questions. Thanks.

This line needs to be added in every file that it puts out.
Code:
LOCAL_MODULE_TAGS := optional

First one is: lights.msm7x30
Location: hardware/msm7k/liblights
 
  • Like
Reactions: oisis

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
Error with your compiler. Idk the cause of the error though.

Hmmm. Well I'm gonna try and recopy the arm6-vfp folder (pieces pulled from Squadzone and galaxyics as well as teamics@github) and try again using make -j1 and see how that works out. Also on other builds I keep getting the same error that I had before about the "@hide" comments. I am trying to build for my tf101 but these errors come up in all builds ( I am using the Gummy source not CM9 and I have repo synced to the point where nothing is added).
I am debating about just removing these lines from current.txt and trying again but I'm wondering what else this will break. For example the dock on my tf101 which a majority of these lines are pointing to.

On a side note can anyone tell me roughly how far into the build process I am so I can try and judge how long this is going to take?

Code:
Checking API: checkapi-lastChecking API: checkapi-currentout/target/common/obj/PACKAGING/public_api.txt:5538: error 5: Added public field android.content.Intent.CATEGORY_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:5556: error 5: Added public field android.content.Intent.EXTRA_DOCK_STATE_TF101_KBout/target/common/obj/PACKAGING/public_api.txt:6272: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_HALL_SENSORout/target/common/obj/PACKAGING/public_api.txt:6273: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:16365: error 5: Added public field android.provider.ContactsContract.BaseSyncColumns.IS_RESTRICTEDout/target/common/obj/PACKAGING/public_api.txt:17471: error 5: Added public field android.provider.Settings.Secure.LTE_TOGGLEout/target/common/obj/PACKAGING/public_api.txt:17542: error 5: Added public field android.provider.Settings.System.BATTERY_PERCENTAGESout/target/common/obj/PACKAGING/public_api.txt:19229: error 4: Added public method android.telephony.TelephonyManager.LTEtoggleout/target/common/obj/PACKAGING/public_api.txt:22216: error 5: Added public field android.view.KeyEvent.KEYCODE_BLUETOOTHout/target/common/obj/PACKAGING/public_api.txt:22219: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_AUTOout/target/common/obj/PACKAGING/public_api.txt:22220: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_DOWNout/target/common/obj/PACKAGING/public_api.txt:22221: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_UPout/target/common/obj/PACKAGING/public_api.txt:22260: error 5: Added public field android.view.KeyEvent.KEYCODE_CAPTUREout/target/common/obj/PACKAGING/public_api.txt:22277: error 5: Added public field android.view.KeyEvent.KEYCODE_EISUout/target/common/obj/PACKAGING/public_api.txt:22283: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_1out/target/common/obj/PACKAGING/public_api.txt:22284: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_2out/target/common/obj/PACKAGING/public_api.txt:22307: error 5: Added public field android.view.KeyEvent.KEYCODE_HANKAKU_ZENKAKUout/target/common/obj/PACKAGING/public_api.txt:22309: error 5: Added public field android.view.KeyEvent.KEYCODE_HENKANout/target/common/obj/PACKAGING/public_api.txt:22310: error 5: Added public field android.view.KeyEvent.KEYCODE_HIRAGANA_KATAKANAout/target/common/obj/PACKAGING/public_api.txt:22339: error 5: Added public field android.view.KeyEvent.KEYCODE_MUHENKANout/target/common/obj/PACKAGING/public_api.txt:22390: error 5: Added public field android.view.KeyEvent.KEYCODE_SLEEPout/target/common/obj/PACKAGING/public_api.txt:22402: error 5: Added public field android.view.KeyEvent.KEYCODE_TOUCHPADout/target/common/obj/PACKAGING/public_api.txt:22414: error 5: Added public field android.view.KeyEvent.KEYCODE_WIRELESSout/target/common/obj/PACKAGING/public_api.txt:22417: error 5: Added public field android.view.KeyEvent.KEYCODE_YEN******************************You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices: 1) You can add "@hide" javadoc comments to the methods, etc. listed in the	 errors above. 2) You can update current.txt by executing the following command:		 make update-api	 ^^^^^^^^^^^^^^^^^^	 NO. NO. STOP BEING LAZY. SERIOUSLY.	 DO NOT DO THIS in CM. THIS IS A LIE. IF YOU DO THIS I WILL HATE YOU.	 USE OPTION #1.				 -Koush	 To submit the revised current.txt to the main Android repository,	 you will need approval.******************************make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38

Currently this varies between error 38 or error 35.

Sent from my Gummy TF101 using Crashatalk 2
 
Last edited:

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,089
IN YOUR HEAD
Hmmm. Well I'm gonna try and recopy the arm6-vfp folder (pieces pulled from Squadzone and galaxyics as well as teamics@github) and try again using make -j1 and see how that works out. Also on other builds I keep getting the same error that I had before about the "@hide" comments. I am trying to build for my tf101 but these errors come up in all builds ( I am using the Gummy source not CM9 and I have repo synced to the point where nothing is added).
I am debating about just removing these lines from current.txt and trying again but I'm wondering what else this will break. For example the dock on my tf101 which a majority of these lines are pointing to.

On a side note can anyone tell me roughly how far into the build process I am so I can try and judge how long this is going to take?

Code:
Checking API: checkapi-lastChecking API: checkapi-currentout/target/common/obj/PACKAGING/public_api.txt:5538: error 5: Added public field android.content.Intent.CATEGORY_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:5556: error 5: Added public field android.content.Intent.EXTRA_DOCK_STATE_TF101_KBout/target/common/obj/PACKAGING/public_api.txt:6272: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_HALL_SENSORout/target/common/obj/PACKAGING/public_api.txt:6273: error 5: Added public field android.content.pm.PackageManager.FEATURE_TF101_KB_DOCKout/target/common/obj/PACKAGING/public_api.txt:16365: error 5: Added public field android.provider.ContactsContract.BaseSyncColumns.IS_RESTRICTEDout/target/common/obj/PACKAGING/public_api.txt:17471: error 5: Added public field android.provider.Settings.Secure.LTE_TOGGLEout/target/common/obj/PACKAGING/public_api.txt:17542: error 5: Added public field android.provider.Settings.System.BATTERY_PERCENTAGESout/target/common/obj/PACKAGING/public_api.txt:19229: error 4: Added public method android.telephony.TelephonyManager.LTEtoggleout/target/common/obj/PACKAGING/public_api.txt:22216: error 5: Added public field android.view.KeyEvent.KEYCODE_BLUETOOTHout/target/common/obj/PACKAGING/public_api.txt:22219: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_AUTOout/target/common/obj/PACKAGING/public_api.txt:22220: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_DOWNout/target/common/obj/PACKAGING/public_api.txt:22221: error 5: Added public field android.view.KeyEvent.KEYCODE_BRIGHTNESS_UPout/target/common/obj/PACKAGING/public_api.txt:22260: error 5: Added public field android.view.KeyEvent.KEYCODE_CAPTUREout/target/common/obj/PACKAGING/public_api.txt:22277: error 5: Added public field android.view.KeyEvent.KEYCODE_EISUout/target/common/obj/PACKAGING/public_api.txt:22283: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_1out/target/common/obj/PACKAGING/public_api.txt:22284: error 5: Added public field android.view.KeyEvent.KEYCODE_EUROPE_2out/target/common/obj/PACKAGING/public_api.txt:22307: error 5: Added public field android.view.KeyEvent.KEYCODE_HANKAKU_ZENKAKUout/target/common/obj/PACKAGING/public_api.txt:22309: error 5: Added public field android.view.KeyEvent.KEYCODE_HENKANout/target/common/obj/PACKAGING/public_api.txt:22310: error 5: Added public field android.view.KeyEvent.KEYCODE_HIRAGANA_KATAKANAout/target/common/obj/PACKAGING/public_api.txt:22339: error 5: Added public field android.view.KeyEvent.KEYCODE_MUHENKANout/target/common/obj/PACKAGING/public_api.txt:22390: error 5: Added public field android.view.KeyEvent.KEYCODE_SLEEPout/target/common/obj/PACKAGING/public_api.txt:22402: error 5: Added public field android.view.KeyEvent.KEYCODE_TOUCHPADout/target/common/obj/PACKAGING/public_api.txt:22414: error 5: Added public field android.view.KeyEvent.KEYCODE_WIRELESSout/target/common/obj/PACKAGING/public_api.txt:22417: error 5: Added public field android.view.KeyEvent.KEYCODE_YEN******************************You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices: 1) You can add "@hide" javadoc comments to the methods, etc. listed in the	 errors above. 2) You can update current.txt by executing the following command:		 make update-api	 ^^^^^^^^^^^^^^^^^^	 NO. NO. STOP BEING LAZY. SERIOUSLY.	 DO NOT DO THIS in CM. THIS IS A LIE. IF YOU DO THIS I WILL HATE YOU.	 USE OPTION #1.				 -Koush	 To submit the revised current.txt to the main Android repository,	 you will need approval.******************************make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error 38

Currently this varies between error 38 or error 35.

Sent from my Gummy TF101 using Crashatalk 2

use make update-api then, but don't complain if koush finds you and boom

Can i compile the ICS (cm9) on Ubuntu 12.04 LTS?
The google compile guide says its still experimental.?

It works fine with OpenJDk 6
 

Dreamboxuser

Senior Member
Jan 24, 2012
380
83
Ok so "deleting" the lines went fine and it compiled for ages then i got this

Code:
Combining NOTICE files: out/target/product/tf101/obj/NOTICE.html
make: *** No rule to make target `out/target/common/obj/APPS/com.replica.replicaisland_intermediates/classes.jar', needed by `out/target/common/obj/APPS/CtsOpenGlPerfTestCases_intermediates/classes-full-debug.jar'.  Stop.

I have been looking for a reference to this for hours. Can someone point me in the right direction. The only thing i can find is a repo for a game called replica island. I'm pretty sure this is it but i dont know where to put it.
 

dastin1015

Inactive Recognized Developer
Ok so "deleting" the lines went fine and it compiled for ages then i got this

Code:
Combining NOTICE files: out/target/product/tf101/obj/NOTICE.html
make: *** No rule to make target `out/target/common/obj/APPS/com.replica.replicaisland_intermediates/classes.jar', needed by `out/target/common/obj/APPS/CtsOpenGlPerfTestCases_intermediates/classes-full-debug.jar'.  Stop.

I have been looking for a reference to this for hours. Can someone point me in the right direction. The only thing i can find is a repo for a game called replica island. I'm pretty sure this is it but i dont know where to put it.

system/packages I believe. Not exactly sure.
 
  • Like
Reactions: Dreamboxuser

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から送信される。