You are here

CM7 for Milestone - build from source

To prepare and build:
mkdir cm4mm
cd cm4mm
repo init -u git:// -b gingerbread
repo sync
. build/ && brunch umts_sholes

More detailed instruction can be found e.g here: (but take account of the differences in the instructions published here.)

The will be built in out/target/product/umts_sholes, ready to be installed via OpenRecovery/updates.


I did remove the repo and started from scratch, exactly using the commands in the blog...
But sadly it ends like this:

Notice file: libcore/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/core.jar.txt
Notice file: frameworks/base/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/ext.jar.txt
Notice file: frameworks/base/ -- out/target/product/umts_sholes/obj/NOTICE_FILES/CM/src//system/framework/ext.jar.txt
Notice file: frameworks/base/core/res/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/framework-res.apk.txt
Notice file: frameworks/base/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/framework.jar.txt
Notice file: frameworks/base/ -- out/target/product/umts_sholes/obj/NOTICE_FILES/CM/src//system/framework/framework.jar.txt
Notice file: frameworks/base/cmds/ime/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/ime.jar.txt
Notice file: frameworks/base/cmds/input/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/input.jar.txt
Notice file: development/cmds/monkey/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/monkey.jar.txt
Notice file: frameworks/base/cmds/pm/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/pm.jar.txt
Notice file: libcore/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/sqlite-jdbc.jar.txt
Notice file: frameworks/base/cmds/svc/NOTICE -- out/target/product/umts_sholes/obj/NOTICE_FILES/src//system/framework/svc.jar.txt
make: *** No rule to make target `out/target/product/umts_sholes/system/lib/', needed by `out/target/product/umts_sholes/system/lib/hw/'. Stop.
make: *** Waiting for unfinished jobs....
Notice file: hardware/gpsshim/ -- out/target/product/umts_sholes/obj/NOTICE_FILES/CM/src//system/lib/hw/

Any ideas?
Its driving me nuts, I can build ICS but not gingerbread...

After yet another sync I came to this point:

target arm C++: libGLES_android <= frameworks/base/opengl/libagl/light.cpp
frameworks/base/opengl/libagl/light.cpp: In function 'void android::validate_light_mvi(android::gl::ogles_context_t*)':
frameworks/base/opengl/libagl/light.cpp:232: warning: missing braces around initializer for 'android::gl::vec4_t::'
frameworks/base/opengl/libagl/light.cpp:232: warning: missing braces around initializer for 'android::gl::vec4_t::::'
target arm C++: libGLES_android <= frameworks/base/opengl/libagl/matrix.cpp
target arm C++: libGLES_android <= frameworks/base/opengl/libagl/mipmap.cpp
target arm C++: libGLES_android <= frameworks/base/opengl/libagl/primitives.cpp
target arm C++: libGLES_android <= frameworks/base/opengl/libagl/vertex.cpp
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/egl.cpp
frameworks/base/opengl/libagl/egl.cpp: In function 'EGLBoolean eglChooseConfig(void*, const EGLint*, void**, EGLint, EGLint*)':
frameworks/base/opengl/libagl/egl.cpp:1568: warning: comparison of unsigned expression < 0 is always false
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/state.cpp
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/texture.cpp
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/Tokenizer.cpp
frameworks/base/opengl/libagl/texture.cpp: In function 'void glCompressedTexImage2D(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*)':
frameworks/base/opengl/libagl/texture.cpp:1165: warning: comparison between signed and unsigned integer expressions
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/TokenManager.cpp
target thumb C++: libGLES_android <= frameworks/base/opengl/libagl/BufferObjectManager.cpp
make: *** No rule to make target `out/target/product/umts_sholes/system/lib/', needed by `out/target/product/umts_sholes/system/lib/hw/'. Stop.
make: *** Waiting for unfinished jobs....
target thumb C: gps.goldfish <= sdk/emulator/gps/gps_qemu.c
sdk/emulator/gps/gps_qemu.c:903: warning: initialization from incompatible pointer type

That really did it!
Thank you very much for your effort and work!

Seemed to be there in 7.1.3 as well:
If I deactivate the screenlock via the Quick Settings / "Pull Down" Menu I can do that servals times (locking on, off and so on) and its still working, but after some minutes or hours of runtime, I could change that setting to "lock" and it would never ever work again, only if I reboot the phone or "hardreset" it via the real settings. Any hope in getting that fixed?

Another thing:
The compiled files are named 7.1.3, not 7.1.5 - any reason for that?

Greetings and Thanks

Just run make clobber before building.

Hi, I follow list and get a upate***.zip, but when i installed it via OR, it stop at M logo. But when i install the NONO CM7 7.20 ROM, everything is ok, is there anything i forget to do?

Can I say the build is successful if the zip built in target folder?

I am embedder from Russia and I need support usb otg in cyanogenmod7 for my Motorola milestone. Is it possible to include the appropriate drivers and utilities to build for normal work of usb otg or compile it into a separate module?
Thank you!



Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.