[ROM][SGH-I777][4.0.4] CyanogenMod 9 nightly builds | DEVELOPMENT THREAD

Search This thread

atinm

Retired Recognized Developer
Jul 16, 2010
2,189
3,681
DEVELOPMENT THREAD
FOR DEVELOPERS ONLY

DISCUSSION THREAD FOR USERS:
http://xdaforums.com/showthread.php?t=1568848



CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.0 (ICS), which is designed to increase performance and reliability over stock Android for your device.

Code:
#include <std_disclaimer.h>
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.
 *
 * Submitting bug reports on nightly builds is the leading 
 * cause of male impotence.
 */

CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.

All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.



General:
http://github.com/CyanogenMod

Device (you need both):
http://github.com/CyanogenMod/android_device_samsung_galaxys2
http://github.com/CyanogenMod/android_device_samsung_i777

Kernel:
https://github.com/teamhacksung/android_kernel_samsung_smdk4210

Build:
http://teamhacksung.org/wiki/index.php/CyanogenMod9:SGH-I777:How_to_build

Getting Started:
http://wiki.cyanogenmod.com/wiki/Howto:_Gerrit

Example:
- cd ~/android/system
- repo start branchname CyanogenMod/android_device_samsung_i777 (or android_device_galaxys2 depending on whether your work is in common galaxys2 or i777)
-- Make your changes at device/samsung/i777 (or galaxys2)
- cd device/samsung/i777 (or galaxys2)
- git add -A
- git commit -a
- cd ~/android/system
- repo upload CyanogenMod/android_device_samsung_i777 (or android_device_samsung_galaxys2 if your changes are to galaxys2)

Many of your changes will actually be in the android_device_samsung_galaxys2 repo as well as the code is shared between the galaxys2 and i777 so you will also need to work in that repo.

Navigate to http://review.cyanogenmod.com , click your commit and add atinm for i777, atinm, codeworkx and xplodwild for galaxys2, as reviewers.
 
Last edited:

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
atinm - don't know if you saw, but there's a pending gerrit submission for an updated kernel.

The current set of kernels has ondemand as default but interactive governor enabled - this combo can cause hung task freezes in LPM and recovery.

http://review.cyanogenmod.com/#change,14072

(I tried to add you as a reviewer but I'm not sure if that's the correct atinm. The system is full of "use the other atinm" users. :) )
 

atinm

Retired Recognized Developer
Jul 16, 2010
2,189
3,681
atinm - don't know if you saw, but there's a pending gerrit submission for an updated kernel.

The current set of kernels has ondemand as default but interactive governor enabled - this combo can cause hung task freezes in LPM and recovery.

http://review.cyanogenmod.com/#change,14072

(I tried to add you as a reviewer but I'm not sure if that's the correct atinm. The system is full of "use the other atinm" users. :) )

Saw this too late - I pushed the same kernel plus an added assert for galaxys2 so people using the bad ported galaxys2 builds can get to i777. I'll take out the galaxys2 assert in a couple of days after people are on i777. Building a new nightly.

Will look at the GPS you have on gerrit in a little bit - have to be out for a few hours.
 

Dzmitry

Member
Dec 11, 2009
40
0
Minsk
Building from source

I am trying to build it locally with following error:

Code:
dzmitry@dzmitry-desktop:~/android/system$ brunch i777

---//some skipped output///---

build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/i777/cm.mk]]: "vendor/samsung/i777/i777-vendor-blobs.mk" does not exist.  Stop.

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

My manifest:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="CyanogenMod/android_device_samsung_galaxys2" path="device/samsung/galaxys2" remote="github" />
  <project name="CyanogenMod/android_device_samsung_i777" path="device/samsung/i777" remote="github" />
  <project name="teamhacksung/android_kernel_samsung_smdk4210" path="kernel/samsung/smdk4210" remote="github" revision="ics" />
  <project name="teamhacksung/buildscripts" path="buildscripts" remote="github" revision="ics">
    <copyfile dest="build.sh" src="samsung/build.sh" />
  </project>
  <project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" />
</manifest>

Any help is greatly appreciated!
 

Entropy512

Senior Recognized Developer
Aug 31, 2007
14,088
25,086
Owego, NY
you didn't do extract-files

Not sure if looking for galaxys2 will cut it... Most likely a bunch of people are coming from Touchwiz-based firmwares.

I admit I am partially at fault - I didn't implement sed scripts in Hellraiser to change the model, partly to minimize the chances that something would break. (The rule was to change as little as possible to make things work in order to maximize compatibility.)
 
  • Like
Reactions: mi9xer and Dzmitry

atinm

Retired Recognized Developer
Jul 16, 2010
2,189
3,681
I had that too (link). As a workaround, edit device/samsung/i777/extract-files.sh and change DEVICE=galaxys2 to DEVICE=i777 and it should build. I'm not sure what the correct fix should be though..

The other stuff I mention in the linked post has since been fixed.

The issue is that the proprietary files that the i777 is using are from the galaxys2 and it just pulls them from there. But the .mk files that are generated need to go into the i777 directory. I've updated extract-files.sh to try to get around it, but need someone to test.
 
  • Like
Reactions: shorty920

5942marine

Senior Member
Oct 26, 2010
75
2
The issue is that the proprietary files that the i777 is using are from the galaxys2 and it just pulls them from there. But the .mk files that are generated need to go into the i777 directory. I've updated extract-files.sh to try to get around it, but need someone to test.

I tried to run extract-files.sh and got:
Code:
remote object '/system/lib/libGLESv2_dbg.so' does not exist

Which gave me this during compile:
Code:
make: *** No rule to make target `vendor/samsung/galaxys2-common/proprietary/libGLESv2_dbg.so', needed by `out/target/product/i777/system/lib/libGLESv2_dbg.so'.  Stop.

I have the latest repo as describe in the op. Anyone else run into this issue? Ran the extract on cm7.
 

halfsoul

Senior Member
Jun 30, 2006
395
65
I tried to run extract-files.sh and got:
Code:
remote object '/system/lib/libGLESv2_dbg.so' does not exist

Which gave me this during compile:
Code:
make: *** No rule to make target `vendor/samsung/galaxys2-common/proprietary/libGLESv2_dbg.so', needed by `out/target/product/i777/system/lib/libGLESv2_dbg.so'.  Stop.

I have the latest repo as describe in the op. Anyone else run into this issue? Ran the extract on cm7.
Did you enable root for adb before running extract-files.sh? And what ROM do you have now?
 

5942marine

Senior Member
Oct 26, 2010
75
2
I had cm7 on it when I ran the extract, I just did it on that phone bricker build as well, only ended up missing one *.so, cant remember which exact file it was, had to step away. Will get back in the am.

Sent from my SGH-I777 using XDA

Update: Just flashed atinm's nightly of CM9, ran extract_files.sh and no errors at all.
 
Last edited:

halfsoul

Senior Member
Jun 30, 2006
395
65
I tried to run extract-files.sh and got:
Code:
remote object '/system/lib/libGLESv2_dbg.so' does not exist

Which gave me this during compile:
Code:
make: *** No rule to make target `vendor/samsung/galaxys2-common/proprietary/libGLESv2_dbg.so', needed by `out/target/product/i777/system/lib/libGLESv2_dbg.so'.  Stop.

I have the latest repo as describe in the op. Anyone else run into this issue? Ran the extract on cm7.

I had cm7 on it when I ran the extract, I just did it on that phone bricker build as well, only ended up missing one *.so, cant remember which exact file it was, had to step away. Will get back in the am.

Sent from my SGH-I777 using XDA

Update: Just flashed atinm's nightly of CM9, ran extract_files.sh and no errors at all.
Confirmed, /system/lib/libGLESv2_dbg.so does not exist in CM7 so of course it can't be extracted. Screencap of partial file list from my last nandroid on CM7 before upgrading attached.
 
R

Red5

Guest
All non-dev related posts have been moved over to the General CM9 thread.

I guess the giant red bolded DEV tag at the top isnt obvious enough. :rolleyes:
 

5942marine

Senior Member
Oct 26, 2010
75
2
Just an update... I was compiling the latest build, and got the following error:

Code:
make: *** No rule to make target `vendor/samsung/galaxys2-common/proprietary/hwcomposer/lib/libfimc.so', needed by `out/target/product/i777/obj/lib/libfimc.so'.  Stop.

Now, when i ran ./extract-files, I didn't recieve any errors while it was pulling the files.

I can see that the file is in the galaxy2-common directory, under the proprietary folder.

There is not folder under proprietary /hwcomposer/lib
 

sam3000

Senior Member
Jul 11, 2009
365
421
Seattle
Just an update... I was compiling the latest build, and got the following error:

Code:
make: *** No rule to make target `vendor/samsung/galaxys2-common/proprietary/hwcomposer/lib/libfimc.so', needed by `out/target/product/i777/obj/lib/libfimc.so'.  Stop.

Now, when i ran ./extract-files, I didn't recieve any errors while it was pulling the files.

I can see that the file is in the galaxy2-common directory, under the proprietary folder.

There is not folder under proprietary /hwcomposer/lib

This is the fix for the same issue that was present in galaxys2:
http://review.cyanogenmod.com/#change,13935
 
R

Red5

Guest
Posts cleaned out again. Im only going to say this one last time...
THIS THREAD IS FOR DEVELOPMENT ONLY. IF YOU ARE NOT HELPING DEVELOP FOR CM9 THEN YOU SHOULD POST IN THE GENERAL THREAD, NOT THIS THREAD. ANY FURTHER NON-DEV RELATED POSTS WILL RECEIVE AN AUTOMATIC INFRACTION AND THEIR POST WILL BE DELETED.
 

sam3000

Senior Member
Jul 11, 2009
365
421
Seattle
All non-dev related posts have been moved over to the General CM9 thread.

I guess the giant red bolded DEV tag at the top isnt obvious enough. :rolleyes:

Can you clarify - I take it discussion about build issues that are because script fixups are necessary in github sources is also off-limits ? ie where the root issue is in the repo not the person trying to compile. (Previous post removal implies this.)

If someone can't massage whatever comes out of github in order to get it to compile then it's unlikely they would be posting patches even if the build worked. However, on the other hand, I would argue it's also useful to identify, discuss and fix any build related issues for the benefit of all (separate thread perhaps?)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    DEVELOPMENT THREAD
    FOR DEVELOPERS ONLY

    DISCUSSION THREAD FOR USERS:
    http://xdaforums.com/showthread.php?t=1568848



    CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.0 (ICS), which is designed to increase performance and reliability over stock Android for your device.

    Code:
    #include <std_disclaimer.h>
    /*
     * Your warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this ROM
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.
     *
     * Submitting bug reports on nightly builds is the leading 
     * cause of male impotence.
     */

    CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.

    All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.



    General:
    http://github.com/CyanogenMod

    Device (you need both):
    http://github.com/CyanogenMod/android_device_samsung_galaxys2
    http://github.com/CyanogenMod/android_device_samsung_i777

    Kernel:
    https://github.com/teamhacksung/android_kernel_samsung_smdk4210

    Build:
    http://teamhacksung.org/wiki/index.php/CyanogenMod9:SGH-I777:How_to_build

    Getting Started:
    http://wiki.cyanogenmod.com/wiki/Howto:_Gerrit

    Example:
    - cd ~/android/system
    - repo start branchname CyanogenMod/android_device_samsung_i777 (or android_device_galaxys2 depending on whether your work is in common galaxys2 or i777)
    -- Make your changes at device/samsung/i777 (or galaxys2)
    - cd device/samsung/i777 (or galaxys2)
    - git add -A
    - git commit -a
    - cd ~/android/system
    - repo upload CyanogenMod/android_device_samsung_i777 (or android_device_samsung_galaxys2 if your changes are to galaxys2)

    Many of your changes will actually be in the android_device_samsung_galaxys2 repo as well as the code is shared between the galaxys2 and i777 so you will also need to work in that repo.

    Navigate to http://review.cyanogenmod.com , click your commit and add atinm for i777, atinm, codeworkx and xplodwild for galaxys2, as reviewers.
    5
    Can you clarify - I take it discussion about build issues that are because script fixups are necessary in github sources is also off-limits ? ie where the root issue is in the repo not the person trying to compile. (Previous post removal implies this.)

    If someone can't massage whatever comes out of github in order to get it to compile then it's unlikely they would be posting patches even if the build worked. However, on the other hand, I would argue it's also useful to identify, discuss and fix any build related issues for the benefit of all (separate thread perhaps?)

    Anything source/github/gerrit related is fine here -- basically if there is something a developer can use, it should go here. This includes things like logcat output etc for bugs too. Questions, asking for help etc that can be done by other users is for the discussion thread.
    4
    atinm - don't know if you saw, but there's a pending gerrit submission for an updated kernel.

    The current set of kernels has ondemand as default but interactive governor enabled - this combo can cause hung task freezes in LPM and recovery.

    http://review.cyanogenmod.com/#change,14072

    (I tried to add you as a reviewer but I'm not sure if that's the correct atinm. The system is full of "use the other atinm" users. :) )
    2
    Saved for later.
    2
    you didn't do extract-files

    Not sure if looking for galaxys2 will cut it... Most likely a bunch of people are coming from Touchwiz-based firmwares.

    I admit I am partially at fault - I didn't implement sed scripts in Hellraiser to change the model, partly to minimize the chances that something would break. (The rule was to change as little as possible to make things work in order to maximize compatibility.)