[TUTORIAL] How to download and compile ICS from source

Search This thread

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
D4rKn3sSyS
With new sources i have here error
Code:
target thumb C++: liboverlay <= hardware/qcom/display/liboverlay/overlayLib.cpp
target thumb C++: liboverlay <= hardware/qcom/display/liboverlay/overlayLibUI.cpp
hardware/qcom/display/liboverlay/overlayLib.cpp:122:1: warning: "LOG_TAG" redefined
In file included from hardware/qcom/display/liboverlay/overlayLib.h:21,
                 from hardware/qcom/display/liboverlay/overlayLib.cpp:18:
system/core/include/cutils/log.h:68:1: warning: this is the location of the previous definition
hardware/qcom/display/liboverlay/overlayLibUI.cpp:20:1: warning: "LOG_TAG" redefined
In file included from hardware/qcom/display/liboverlay/overlayLib.h:21,
                 from hardware/qcom/display/liboverlay/overlayLibUI.h:23,
                 from hardware/qcom/display/liboverlay/overlayLibUI.cpp:18:
system/core/include/cutils/log.h:68:1: warning: this is the location of the previous definition
host Java: android-mock-generatorlib (out/host/common/obj/JAVA_LIBRARIES/android-mock-generatorlib_intermediates/classes)
hardware/qcom/display/liboverlay/overlayLib.cpp: In function 'int overlay::get_mdp_format(int)':
hardware/qcom/display/liboverlay/overlayLib.cpp:57: error: 'MDP_Y_CRCB_H2V2_TILE' was not declared in this scope
hardware/qcom/display/liboverlay/overlayLib.cpp: In function 'int overlay::get_rot_output_format(int)':
hardware/qcom/display/liboverlay/overlayLib.cpp:90: error: 'MDP_Y_CRCB_H2V2_TILE' was not declared in this scope
hardware/qcom/display/liboverlay/overlayLibUI.h: In constructor 'overlay::OverlayUI::OverlayUI()':
hardware/qcom/display/liboverlay/overlayLibUI.h:101: warning: 'overlay::OverlayUI::mFBNum' will be initialized after
hardware/qcom/display/liboverlay/overlayLibUI.h:99: warning:   'int overlay::OverlayUI::mZorder'
hardware/qcom/display/liboverlay/overlayLibUI.cpp:226: warning:   when initialized here
host C++: colladadom <= external/collada/src/dae/dae.cpp
host C++: colladadom <= external/collada/src/dae/daeArray.cpp
hardware/qcom/display/liboverlay/overlayLibUI.cpp: In member function 'overlay::status_t overlay::OverlayUI::closeOVSession()':
hardware/qcom/display/liboverlay/overlayLibUI.cpp:409: warning: suggest parentheses around assignment used as truth value
hardware/qcom/display/liboverlay/overlayLib.cpp: In member function 'bool overlay::OverlayControlChannel::setOverlayInformation(const overlay_buffer_info&, int, int, int, bool, int)':
hardware/qcom/display/liboverlay/overlayLib.cpp:958: error: 'MDP_Y_CRCB_H2V2_TILE' was not declared in this scope
hardware/qcom/display/liboverlay/overlayLib.cpp: In member function 'bool overlay::OverlayControlChannel::startOVRotatorSessions(const overlay_buffer_info&, int, int)':
hardware/qcom/display/liboverlay/overlayLib.cpp:1013: error: 'MDP_Y_CRCB_H2V2_TILE' was not declared in this scope
hardware/qcom/display/liboverlay/overlayLib.cpp: In member function 'bool overlay::OverlayControlChannel::setPosition(int, int, uint32_t, uint32_t)':
hardware/qcom/display/liboverlay/overlayLib.cpp:1165: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/liboverlay/overlayLib.cpp:1166: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/liboverlay/overlayLib.cpp:1172: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/liboverlay/overlayLib.cpp:1172: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/liboverlay/overlayLib.cpp: In member function 'bool overlay::OverlayControlChannel::setTransform(int, bool)':
hardware/qcom/display/liboverlay/overlayLib.cpp:1244: warning: comparison between signed and unsigned integer expressions
hardware/qcom/display/liboverlay/overlayLib.cpp: In member function 'bool overlay::OverlayDataChannel::mapRotatorMemory(int, bool, int)':
hardware/qcom/display/liboverlay/overlayLib.cpp:1512: error: 'struct msmfb_data' has no member named 'flags'
make: *** [out/target/product/mimmi/obj/SHARED_LIBRARIES/liboverlay_intermediates/overlayLib.o] Ошибка 1
make: *** Ожидание завершения заданий...
host C++: colladadom <= external/collada/src/dae/daeAtomicType.cpp
Note: external/android-mock/src/com/google/android/testing/mocking/AndroidMock.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
paul@kamikadzE:~/android/system$

now fixed :D
 

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
Paul! could u help to make an ics rom for my p970? i cant build..ive downloaded the ics updated omap3 git but still cant build.. the error is same as i mentioned in my previous comment. i would appreciate your help. thanks

I would have helped. but If I have this device.
Look at the config Motorola Jordan, they have the same architecture
 
  • Like
Reactions: mauam

ReversBrasil

Senior Member
Nov 15, 2011
83
24
Can someone help me?

build/core/base_rules.mk:78: *** Module name: libgabi++
build/core/base_rules.mk:79: *** Makefile location: abi/cpp
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. Pare.
 

BPaul

Inactive Recognized Developer
May 9, 2011
2,355
8,117
31
Astana
empireb.ml
Can someone help me?

build/core/base_rules.mk:78: *** Module name: libgabi++
build/core/base_rules.mk:79: *** Makefile location: abi/cpp
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. Pare.
sorry i dont know whats this.
 
  • Like
Reactions: luki2411

donjamal

Senior Member
Can someone help me?

build/core/base_rules.mk:78: *** Module name: libgabi++
build/core/base_rules.mk:79: *** Makefile location: abi/cpp
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. Pare.

use this... it was good for me
$ find ./ -exec grep -l "LOCAL_MODULE_TAGS := user" {} \; -exec sed -i.bak s/"LOCAL_MODULE_TAGS := user"/"LOCAL_MODULE_TAGS := optional"/g {} \;
 
Last edited:
  • Like
Reactions: ReversBrasil

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    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.

    Thanks dastin1015 - For base instruction for compile

    1) You need the following:
    - JDK 6 if you wish to build Ice Cream Sandwich
    You can download it from oracle.com. Or:
    Code:
    sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
    for a Ubintu 11.10
    sudo add-apt-repository "deb http://archive.canonical.com/ orcelot partner"
    
    sudo apt-get update
    sudo apt-get install sun-java6-jdk
    - Python 2.4 -- 2.7
    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:
    Code:
    sudo apt-get install git-core gnupg flex bison gperf build-essential \
    zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
    libx11-dev libreadline6-dev libgl1-mesa-dev 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, 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) Reboot PC:
    7) Initialize the repo:
    Code:
    mkdir WORKING_DIRECTORY
    cd WORKING_DIRECTORY
    - For AOSP
    repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1
    - For CM9
    repo init -u git://github.com/CyanogenMod/android.git -b ics
    - For AOKP
    repo init -u git://github.com/AOKP/platform_manifest.git -b master
    - For IceColdSandwitch
    repo init -u git://github.com/IceColdSandwich/android.git -b ics
    8) When prompted, enter your real name and email address.
    9) Gather the files:
    Code:
    repo sync
    10) Compiling:
    Code:
    source build/envsetup.sh
    Or:
    . build/envsetup.sh
    11) Issue:
    Code:
    lunch
    12) Pick your poison.
    13) Now issue:
    Code:
    make -j4

    Build for Sony Ericsson device
    1) Download sources for ARMv6
    Code:
    cd ~/WORKING_DIRECTORY/
    repo init -u git://github.com/MSM7x27-Xperia/android.git -b ics
    repo sync -j4 or low if you have bad internet
    2) Compile:
    Code:
    source build/envsetup.sh
    Or:
    . build/envsetup.sh
    4) Get your list of devices:
    Code:
    lunch
    5) Pick your poison.
    6) Now compile:
    Code:
    make -j4
    - Or for a flashable zip:
    Code:
    make -j4 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.
    11
    Supplement, if something is missing
    5
    You need to set:
    TARGET_SPECIFIC_HEADER_PATH := device/semc/<device>/include

    and populate this with include files you need, e.g:
    include/linux/msm_mdp.h
    3
    x10 mini pro if you want it.

    Paul I have a X10 mini pro going spare if you want it, I have personal messaged you already with no reply. Let me know mate, would be great to have you back developing on this device. :)
    3

    from proprietary remove camera libs

    and in android_device_lge_p970
    make cm.mk
    and add here
    Code:
    ## Specify phone tech before including full_phone
    $(call inherit-product, vendor/cm/config/gsm.mk)
    
    # Release name
    PRODUCT_RELEASE_NAME := P970
    
    # Inherit some common CM stuff.
    $(call inherit-product, vendor/cm/config/common_full_phone.mk)
    
    # Inherit device configuration
    $(call inherit-product, device/semc/mimmi/device_p970.mk)
    
    # Setup device configuration
    PRODUCT_DEVICE := p970
    PRODUCT_NAME := cm_p970
    PRODUCT_BRAND := lge
    PRODUCT_MODEL := Optimus Black
    PRODUCT_MANUFACTURER := LG
    
    # Release name and versioning
    PRODUCT_VERSION_DEVICE_SPECIFIC :=
    
    TARGET_NO_LIVEWALLPAPERS := false
    
    #Set build fingerprint / ID / Product Name ect.
    PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=p970 BUILD_ID=ITL41F BUILD_DISPLAY_ID=ITL41F BUILD_FINGERPRINT="google/yakju/maguro:4.0.1/ITL41F/228551:user/release-keys" PRIVATE_BUILD_DESC="yakju-user 4.0.1 ITL41F 228551 release-keys"

    then rename p970.mk to device_p970.mk

    and try