[Tutorial] Build CM10.1 / CM10 for i9001

Search This thread

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
I thought that this would get the development of JB for our device a bit faster. I am going to be explaining for Ubuntu 12.04 and up.
If you get any errors use pastebin and link it here. Good luck :)



Requirements
  • 64bit Ubuntu

  • You will need 25GB (or more) free to complete a single build, and up to 80GB (or more) for a full set of builds.

  • JDK 6
    Code:
    sudo apt-get install openjdk-6-jdk

  • Python 2.4--2.7
    Code:
    sudo apt-get install python

  • Git 1.7 or newer
    Code:
    sudo apt-get install git-core




Installing Android SDK

  • Download the SDK here: http://developer.android.com/sdk/index.html
  • Extract the SDK and place it in your home directory.
  • I renamed my SDK to android-sdk to make it easier to navigate to.
  • Go to your home folder, press Ctrl+H to show hidden files, and open up your .bashrc file.
  • Add these lines at the bottom of the file(Change path according to your SDK dir):
Code:
# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin
  • Find your .profile file and add this at the bottom of the file:
Code:
PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
  • Check for updates by entering this in terminal:

Code:
android

Install required packages(12.04)
Code:
sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev x11proto-core-dev \
  libx11-dev libreadline6-dev libgl1-mesa-glx \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


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

Inside of the 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"

Save the file and enter this into the terminal :

Code:
sudo chmod a+r /etc/udev/rules.d/51-android.rules


Install repo

Code:
mkdir -p ~/bin
mkdir -p ~/android-sdk
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

Initialize the repo(use "-b jellybean" for CM10)

Code:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1

  • When asked for, enter your real name and email.


Sync your repo

Enter this into terminal. This will take a while according to your connection.
Code:
repo sync -j16


NOTE: According to your connection change the -j16. I use -j16 with a 100Mbit connection. Drop to -j8 if you have 10Mbit connection or even less if you have a slower connection or you will get connection errors.

Add i9001 to the device list
  • Change your directory to where you will clone the device tree:

Code:
cd WORKING_DIRECTORY/device
mkdir samsung
cd samsung
  • Clone the device tree from remote to local (Change git to whatever you want, I used the ADC team as an example) :
Code:
git clone git://github.com/AriesVE-DevCon-TEAM/android_device_samsung_ariesve.git -b cm-10.1 ariesve
NOTE: Use -b jb-3.0 for CM10

  • Now cd to ariesve :
Code:
cd ariesve
  • Connect your phone to your computer and make sure debugging is open and adb is set up.
  • Get vendor files :


Code:
cd ~/WORKING_DIRECTORY/vendor
mkdir samsung
cd samsung
git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve

  • Get extra files
Code:
~/WORKING_DIRECTORY/vendor/cm/get-prebuilts


  • Go back to your home dir to build :

Code:
cd ~/WORKING_DIRECTORY

Get some needed files

FOR CM10.1:
You can either fetch from a dev's git or just download frameworks/av and frameworks/native completely and replace it with your own if you find that easier. I'll just do the latter for the sake of simplicity:
Code:
cd frameworks
rm -rf av
rm -rf native
git clone https://github.com/camcory/android_frameworks_av.git -b cm-10.1 av
git clone https://github.com/camcory/android_frameworks_native.git -b cm-10.1 native
cd ..

FOR CM10:
Download this script and give it permission to execute in settings and open it. Choose to run from terminal and follow the script. This should fix any errors you get while compiling. Credits to blackmambazzz for the script.

Code:
 [url]http://www.mediafire.com/?b1kj0slcwo9r707[/url]

Build CM
  • Prepare to compile :

Code:
. build/envsetup.sh
  • Now compile for device
Code:
brunch ariesve -j#

Change # according to your CPU cores. It should usually be CPU cores+1.
If you wish to be able to see the errors despite it being very slow enter -j1.




Fixes for some errors
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 "ariesve".  Stop.
Device ariesve 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 "ariesve".  Stop.

** Don't have a product spec for: 'ariesve'
** 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_ariesve.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.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

If you run into issues with Java being the incorrect version here is the fix:
Make sure Java 6 JDK is installed by typing in:
Code:
java -version

Open the file main.mk in build/core and delete this line from the java error code section:
Code:
$(error stop)


Credits
arco68
ivendor
Doomsday94
dastin1015
camcory

This tutorial is based off of this one : http://xdaforums.com/showthread.php?t=1762641

This is my first time making a tutorial so please tell me if I missed something :). I wish you guys luck on your builds.

Here is an example of what happens if it builds correctly :D :

Screenshot_2012-10-30-21-53-59.jpg
 

Attachments

  • Screenshot_2012-10-30-21-53-59.jpg
    Screenshot_2012-10-30-21-53-59.jpg
    28.6 KB · Views: 3,848
Last edited:

yabbandroid

Senior Member
Sep 21, 2012
124
20
Thank you so much I bookmarked this thread and I might really try it. Have been wondering about this already but I m not a programmer of profession, though I have a bit of experience in it.. will see.. thank you !
 

crybert

Senior Member
Oct 15, 2011
869
2,009
Instead of the combination
Code:
lunch # && make -j# otapackage

you also can use simply

Code:
brunch ariesve

which will do the same.
 
  • Like
Reactions: Xistance

UpGado

Senior Member
Jan 18, 2012
188
213
Berlin
Thank You Very Much ,, I'm Now in repo sync, When it finishes , i'll see if it builds well ( hopefully ) :good:
 
Last edited:

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
Instead of the combination
Code:
lunch # && make -j# otapackage

you also can use simply

Code:
brunch ariesve

which will do the same.

Yeah I guess but you need to add ariesve to the brunch list. I thought this would be easier or do I know it wrong? Thanks for your suggestion :)

Edit: Ahaha, sorry crybert. I had tried before but the device wasn't in the list so I thought we had to add it there. After checking again it's there :p

Sent from my GT-I9001 using xda premium
 
Last edited:
  • Like
Reactions: Christopher83

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
After getting a PM I noticed I got some paths wrong. I fixed them all now and it should be fully okay. Sorry if anyone couldn't build it correctly before this :(.

Edit : Please follow the steps starting with the repo init. Before, since I made you guys cd to the wrong folder to init repo the sync also went to the wrong folder. CD to the working dir and init repo again and then sync. If you don't want to wait that long again for it to sync again since I probably made you sync to the wrong folder, use Ctrl+H at where you synced and copy paste the .repo folder to the WORKING_DIRECTORY folder and sync again.
 
Last edited:

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
Perhaps an stupid and noob question, but why Ubuntu x64? And not x32? :silly:

I don't know the specific reason but Google said it must be 64bit. You shouldn't even be trying to build with less than 4GB of RAM anyway. It wasn't a stupid question. All questions are welcome here :).
 

mrjraider

Senior Member
Jul 1, 2012
4,402
2,247
I don't know the specific reason but Google said it must be 64bit. You shouldn't even be trying to build with less than 4GB of RAM anyway. It wasn't a stupid question. All questions are welcome here :).

Also a decent CPU? I got an intel dual core 2,0 ghz and 3GB RAM..
Haha, I am not able to try it haha.
Thanks for the info :silly:
 

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
Also a decent CPU? I got an intel dual core 2,0 ghz and 3GB RAM..
Haha, I am not able to try it haha.
Thanks for the info :silly:

You can still build it if you want :). It might be a little slower than usual but if you are willing do it for the development of JB for our device than it is fine.
 

nikku_hot123

Senior Member
Nov 16, 2011
225
41
Kannur
Amazon Fire TV
i am trying to make ics with arco source following this tutorial with repo sync of ics.
i am facing these errors..

build/core/base_rules.mk:166: *** hardware/msm7k/liblights: MODULE.TARGET.SHARED_LIBRARIES.lights.msm7x30 already defined by device/samsung/ariesve/liblight. Stop.

i am getting this error???? Help

Edit : i corrected it but now i am stucking at
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.1
TARGET_PRODUCT=cm_ariesve
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=ITL41D
============================================
build/core/main.mk:322: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE ariesve
make: *** No rule to make target `hardware/qcom/gps/loc_api/libloc_api-rpc/inc-50000/loc_api_cb.h', needed by `out/target/product/ariesve/obj/include/libloc_api-rpc/inc/loc_api_cb.h'. Stop.


????????
 
Last edited:

Xistance

Senior Member
Dec 20, 2011
1,002
3,738
i am trying to make ics with arco source following this tutorial with repo sync of ics.
i am facing these errors..

build/core/base_rules.mk:166: *** hardware/msm7k/liblights: MODULE.TARGET.SHARED_LIBRARIES.lights.msm7x30 already defined by device/samsung/ariesve/liblight. Stop.

i am getting this error???? Help

Edit : i corrected it but now i am stucking at
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.1
TARGET_PRODUCT=cm_ariesve
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=ITL41D
============================================
build/core/main.mk:322: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE ariesve
make: *** No rule to make target `hardware/qcom/gps/loc_api/libloc_api-rpc/inc-50000/loc_api_cb.h', needed by `out/target/product/ariesve/obj/include/libloc_api-rpc/inc/loc_api_cb.h'. Stop.


????????

First of all,
PLATFORM_VERSION=4.0.1
BUILD_ID=ITL41D
Why is your version and build ID that? The version it says is ICS, not JB. They should be 4.1.1 and JRO03L(I think that was it). Did you make sure to clone the git as jellybean?
 
Last edited:

nikku_hot123

Senior Member
Nov 16, 2011
225
41
Kannur
Amazon Fire TV
okey my source was incorrect i resynched the source of cm9 as i am trying to make cm9 with your tutorial.
now i cloned ivendor ics branch. but while compiling now i am getting following error after 15 minutes.
Plz help???

Code:
target thumb C: audio.a2dp.default <= external/bluetooth/bluez/audio/../sbc/sbc_primitives_neon.c
target thumb C: audio.a2dp.default <= external/bluetooth/bluez/audio/../sbc/sbc_primitives_armv6.c
target thumb C: libpower <= hardware/libhardware_legacy/power/power.c
target thumb C: audio.primary.default <= hardware/libhardware/modules/audio/audio_hw.c
target thumb C++: audio.primary.msm7x30 <= hardware/qcom/media/audio/msm7x30/AudioHardware.cpp
make: *** No rule to make target `out/target/product/ariesve/obj/lib/libaudioalsa.so', needed by `out/target/product/ariesve/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/LINKED/audio.primary.msm7x30.so'.  Stop.
make: *** Waiting for unfinished jobs....
target thumb C++: audio.primary.msm7x30 <= hardware/qcom/media/audio/msm7x30/audio_hw_hal.cpp
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In function 'android::status_t android_audio_legacy::updateDeviceInfo(int, int, uint32_t, uint32_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:410: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:433: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:463: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:463: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.h: In constructor 'android_audio_legacy::AudioHardware::AudioHardware()':
hardware/qcom/media/audio/msm7x30/AudioHardware.h:618: warning: 'android_audio_legacy::AudioHardware::mOutput' will be initialized after
hardware/qcom/media/audio/msm7x30/AudioHardware.h:613: warning:   'bool android_audio_legacy::AudioHardware::mBluetoothVGS'
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:527: warning:   when initialized here
hardware/qcom/media/audio/msm7x30/AudioHardware.h:636: warning: 'android_audio_legacy::AudioHardware::mEffectEnabled' will be initialized after
hardware/qcom/media/audio/msm7x30/AudioHardware.h:611: warning:   'int android_audio_legacy::AudioHardware::mFmFd'
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:527: warning:   when initialized here
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:595: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'virtual android::status_t android_audio_legacy::AudioHardware::setVoiceVolume(float)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1379: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1380: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1381: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In function 'android::status_t android_audio_legacy::do_route_audio_rpc(uint32_t, bool, bool, uint32_t, uint32_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1561: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1651: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1653: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1659: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1659: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1673: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1676: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1680: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1686: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1711: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1711: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'android::status_t android_audio_legacy::AudioHardware::doRouting(android_audio_legacy::AudioHardware::AudioStreamInMSM72xx*)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:2358: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:2361: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'virtual ssize_t android_audio_legacy::AudioHardware::AudioStreamInMSM72xx::read(void*, ssize_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:4132: warning: format '%d' expects type 'int', but argument 4 has type 'ssize_t'
 

crybert

Senior Member
Oct 15, 2011
869
2,009
okey my source was incorrect i resynched the source of cm9 as i am trying to make cm9 with your tutorial.
now i cloned ivendor ics branch. but while compiling now i am getting following error after 15 minutes.
Plz help???

Code:
target thumb C: audio.a2dp.default <= external/bluetooth/bluez/audio/../sbc/sbc_primitives_neon.c
target thumb C: audio.a2dp.default <= external/bluetooth/bluez/audio/../sbc/sbc_primitives_armv6.c
target thumb C: libpower <= hardware/libhardware_legacy/power/power.c
target thumb C: audio.primary.default <= hardware/libhardware/modules/audio/audio_hw.c
target thumb C++: audio.primary.msm7x30 <= hardware/qcom/media/audio/msm7x30/AudioHardware.cpp
make: *** No rule to make target `out/target/product/ariesve/obj/lib/libaudioalsa.so', needed by `out/target/product/ariesve/obj/SHARED_LIBRARIES/audio.primary.msm7x30_intermediates/LINKED/audio.primary.msm7x30.so'.  Stop.
make: *** Waiting for unfinished jobs....
target thumb C++: audio.primary.msm7x30 <= hardware/qcom/media/audio/msm7x30/audio_hw_hal.cpp
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In function 'android::status_t android_audio_legacy::updateDeviceInfo(int, int, uint32_t, uint32_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:410: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:433: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:463: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:463: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.h: In constructor 'android_audio_legacy::AudioHardware::AudioHardware()':
hardware/qcom/media/audio/msm7x30/AudioHardware.h:618: warning: 'android_audio_legacy::AudioHardware::mOutput' will be initialized after
hardware/qcom/media/audio/msm7x30/AudioHardware.h:613: warning:   'bool android_audio_legacy::AudioHardware::mBluetoothVGS'
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:527: warning:   when initialized here
hardware/qcom/media/audio/msm7x30/AudioHardware.h:636: warning: 'android_audio_legacy::AudioHardware::mEffectEnabled' will be initialized after
hardware/qcom/media/audio/msm7x30/AudioHardware.h:611: warning:   'int android_audio_legacy::AudioHardware::mFmFd'
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:527: warning:   when initialized here
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:595: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'virtual android::status_t android_audio_legacy::AudioHardware::setVoiceVolume(float)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1379: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1380: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1381: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In function 'android::status_t android_audio_legacy::do_route_audio_rpc(uint32_t, bool, bool, uint32_t, uint32_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1561: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1651: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1653: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1659: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1659: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1673: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1676: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1680: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1686: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1711: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:1711: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'android::status_t android_audio_legacy::AudioHardware::doRouting(android_audio_legacy::AudioHardware::AudioStreamInMSM72xx*)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:2358: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:2361: warning: comparison between signed and unsigned integer expressions
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp: In member function 'virtual ssize_t android_audio_legacy::AudioHardware::AudioStreamInMSM72xx::read(void*, ssize_t)':
hardware/qcom/media/audio/msm7x30/AudioHardware.cpp:4132: warning: format '%d' expects type 'int', but argument 4 has type 'ssize_t'

For CM9 you need to cherry-pick or pull the following commit for working audio: http://review.cyanogenmod.com/#/c/21004/
 

nikku_hot123

Senior Member
Nov 16, 2011
225
41
Kannur
Amazon Fire TV
thanks cybert.

i fixed that but now i am getting error related to camera HAL??
Code:
target thumb C++: camera.msm7x30 <= device/samsung/ariesve/camerahal/cameraHAL.cpp
device/samsung/ariesve/camerahal/cameraHAL.cpp:34:27: error: ui/OverlayHtc.h: No such file or directory
target thumb C++: copybit.msm7x30 <= hardware/qcom/display/libcopybit/copybit_c2d.cpp
device/samsung/ariesve/camerahal/cameraHAL.cpp: In function 'int camera_set_preview_window(camera_device*, preview_stream_ops*)':
device/samsung/ariesve/camerahal/cameraHAL.cpp:495: error: invalid use of incomplete type 'struct android::eek:verlay'
device/samsung/ariesve/camerahal/CameraHardwareInterface.h:29: error: forward declaration of 'struct android::eek:verlay'
target thumb C++: copybit.msm7x30 <= hardware/qcom/display/libcopybit/software_converter.cpp
make: *** [out/target/product/ariesve/obj/SHARED_LIBRARIES/camera.msm7x30_intermediates/cameraHAL.o] Error 1
make: *** Waiting for unfinished jobs....
hardware/qcom/display/libcopybit/copybit_c2d.cpp:177: warning: missing initializer for member 'hw_module_t::dso'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:177: warning: missing initializer for member 'hw_module_t::reserved'
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int msm_copybit(copybit_context_t*, blitlist*, uint32)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:728: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int open_copybit(const hw_module_t*, const char*, hw_device_t**)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::width'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::height'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::buffer'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::phys'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::stride'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::width'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::height'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1486: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1490: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int set_image(int, uint32, const copybit_image_t*, int*, uint32_t*, eC2DFlags)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:488: warning: 'yuvInfo.yuvPlaneInfo::plane2_offset' may be used uninitialized in this function
hardware/qcom/display/libcopybit/copybit_c2d.cpp:490: warning: 'yuvInfo.yuvPlaneInfo::plane2_stride' may be used uninitialized in this function
 

crybert

Senior Member
Oct 15, 2011
869
2,009
thanks cybert.

i fixed that but now i am getting error related to camera HAL??
Code:
target thumb C++: camera.msm7x30 <= device/samsung/ariesve/camerahal/cameraHAL.cpp
device/samsung/ariesve/camerahal/cameraHAL.cpp:34:27: error: ui/OverlayHtc.h: No such file or directory
target thumb C++: copybit.msm7x30 <= hardware/qcom/display/libcopybit/copybit_c2d.cpp
device/samsung/ariesve/camerahal/cameraHAL.cpp: In function 'int camera_set_preview_window(camera_device*, preview_stream_ops*)':
device/samsung/ariesve/camerahal/cameraHAL.cpp:495: error: invalid use of incomplete type 'struct android::eek:verlay'
device/samsung/ariesve/camerahal/CameraHardwareInterface.h:29: error: forward declaration of 'struct android::eek:verlay'
target thumb C++: copybit.msm7x30 <= hardware/qcom/display/libcopybit/software_converter.cpp
make: *** [out/target/product/ariesve/obj/SHARED_LIBRARIES/camera.msm7x30_intermediates/cameraHAL.o] Error 1
make: *** Waiting for unfinished jobs....
hardware/qcom/display/libcopybit/copybit_c2d.cpp:177: warning: missing initializer for member 'hw_module_t::dso'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:177: warning: missing initializer for member 'hw_module_t::reserved'
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int msm_copybit(copybit_context_t*, blitlist*, uint32)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:728: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int open_copybit(const hw_module_t*, const char*, hw_device_t**)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::width'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::height'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::buffer'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::phys'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1330: warning: missing initializer for member 'C2D_RGB_SURFACE_DEF::stride'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::width'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::height'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride0'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride1'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::plane2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::phys2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1331: warning: missing initializer for member 'C2D_YUV_SURFACE_DEF::stride2'
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1486: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp:1490: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/libcopybit/copybit_c2d.cpp: In function 'int set_image(int, uint32, const copybit_image_t*, int*, uint32_t*, eC2DFlags)':
hardware/qcom/display/libcopybit/copybit_c2d.cpp:488: warning: 'yuvInfo.yuvPlaneInfo::plane2_offset' may be used uninitialized in this function
hardware/qcom/display/libcopybit/copybit_c2d.cpp:490: warning: 'yuvInfo.yuvPlaneInfo::plane2_stride' may be used uninitialized in this function


You need this: http://review.cyanogenmod.com/#/c/13285/
 

Top Liked Posts

  • There are no posts matching your filters.
  • 64
    I thought that this would get the development of JB for our device a bit faster. I am going to be explaining for Ubuntu 12.04 and up.
    If you get any errors use pastebin and link it here. Good luck :)



    Requirements
    • 64bit Ubuntu

    • You will need 25GB (or more) free to complete a single build, and up to 80GB (or more) for a full set of builds.

    • JDK 6
      Code:
      sudo apt-get install openjdk-6-jdk

    • Python 2.4--2.7
      Code:
      sudo apt-get install python

    • Git 1.7 or newer
      Code:
      sudo apt-get install git-core




    Installing Android SDK

    • Download the SDK here: http://developer.android.com/sdk/index.html
    • Extract the SDK and place it in your home directory.
    • I renamed my SDK to android-sdk to make it easier to navigate to.
    • Go to your home folder, press Ctrl+H to show hidden files, and open up your .bashrc file.
    • Add these lines at the bottom of the file(Change path according to your SDK dir):
    Code:
    # Android tools
    export PATH=${PATH}:~/android-sdk/tools
    export PATH=${PATH}:~/android-sdk/platform-tools
    export PATH=${PATH}:~/bin
    • Find your .profile file and add this at the bottom of the file:
    Code:
    PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
    • Check for updates by entering this in terminal:

    Code:
    android

    Install required packages(12.04)
    Code:
    sudo apt-get install git gnupg flex bison gperf build-essential \
      zip curl libc6-dev libncurses5-dev x11proto-core-dev \
      libx11-dev libreadline6-dev libgl1-mesa-glx \
      libgl1-mesa-dev g++-multilib mingw32 tofrodos \
      python-markdown libxml2-utils xsltproc zlib1g-dev
    sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so


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

    Inside of the 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"

    Save the file and enter this into the terminal :

    Code:
    sudo chmod a+r /etc/udev/rules.d/51-android.rules


    Install repo

    Code:
    mkdir -p ~/bin
    mkdir -p ~/android-sdk
    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    chmod a+x ~/bin/repo

    Initialize the repo(use "-b jellybean" for CM10)

    Code:
    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1

    • When asked for, enter your real name and email.


    Sync your repo

    Enter this into terminal. This will take a while according to your connection.
    Code:
    repo sync -j16


    NOTE: According to your connection change the -j16. I use -j16 with a 100Mbit connection. Drop to -j8 if you have 10Mbit connection or even less if you have a slower connection or you will get connection errors.

    Add i9001 to the device list
    • Change your directory to where you will clone the device tree:

    Code:
    cd WORKING_DIRECTORY/device
    mkdir samsung
    cd samsung
    • Clone the device tree from remote to local (Change git to whatever you want, I used the ADC team as an example) :
    Code:
    git clone git://github.com/AriesVE-DevCon-TEAM/android_device_samsung_ariesve.git -b cm-10.1 ariesve
    NOTE: Use -b jb-3.0 for CM10

    • Now cd to ariesve :
    Code:
    cd ariesve
    • Connect your phone to your computer and make sure debugging is open and adb is set up.
    • Get vendor files :


    Code:
    cd ~/WORKING_DIRECTORY/vendor
    mkdir samsung
    cd samsung
    git clone git://github.com/ivendor/android_vendor_samsung_ariesve.git -b jellybean ariesve

    • Get extra files
    Code:
    ~/WORKING_DIRECTORY/vendor/cm/get-prebuilts


    • Go back to your home dir to build :

    Code:
    cd ~/WORKING_DIRECTORY

    Get some needed files

    FOR CM10.1:
    You can either fetch from a dev's git or just download frameworks/av and frameworks/native completely and replace it with your own if you find that easier. I'll just do the latter for the sake of simplicity:
    Code:
    cd frameworks
    rm -rf av
    rm -rf native
    git clone https://github.com/camcory/android_frameworks_av.git -b cm-10.1 av
    git clone https://github.com/camcory/android_frameworks_native.git -b cm-10.1 native
    cd ..

    FOR CM10:
    Download this script and give it permission to execute in settings and open it. Choose to run from terminal and follow the script. This should fix any errors you get while compiling. Credits to blackmambazzz for the script.

    Code:
     [url]http://www.mediafire.com/?b1kj0slcwo9r707[/url]

    Build CM
    • Prepare to compile :

    Code:
    . build/envsetup.sh
    • Now compile for device
    Code:
    brunch ariesve -j#

    Change # according to your CPU cores. It should usually be CPU cores+1.
    If you wish to be able to see the errors despite it being very slow enter -j1.




    Fixes for some errors
    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 "ariesve".  Stop.
    Device ariesve 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 "ariesve".  Stop.
    
    ** Don't have a product spec for: 'ariesve'
    ** 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_ariesve.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.

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    If you run into issues with Java being the incorrect version here is the fix:
    Make sure Java 6 JDK is installed by typing in:
    Code:
    java -version

    Open the file main.mk in build/core and delete this line from the java error code section:
    Code:
    $(error stop)


    Credits
    arco68
    ivendor
    Doomsday94
    dastin1015
    camcory

    This tutorial is based off of this one : http://xdaforums.com/showthread.php?t=1762641

    This is my first time making a tutorial so please tell me if I missed something :). I wish you guys luck on your builds.

    Here is an example of what happens if it builds correctly :D :

    Screenshot_2012-10-30-21-53-59.jpg
    22
    Well, I thought I should update you guys on this. Wifi, data, GPS, bluetooth, none of them work. GPS, data and bluetooth should be fairly easy to fix but WiFi might take a bit. Just need to fix my SamsungRIL.java for data to work. I will try to fix them pretty soon but till then let this be a New Years present from me.

    Edit: GPS fixed. Now onto data...
    17
    Making the thread right now. I have a surprise for everyone :)
    12
    Audio and reboots(probably) fixed... Bluetooth tomorrow.

    Only important things not working now are : WiFi, bluetooth and camera.
    9
    Data is also fixed !!!!!!! I think I will stop for today as I have some people coming over.

    Happy New Years to all~~