Finger slip, jfltespr. It is the Sprint variant for the Samsung Galaxy S4. Haven't tried any others. I plan to try grouper next.
Let me know if it fails there as well.
Finger slip, jfltespr. It is the Sprint variant for the Samsung Galaxy S4. Haven't tried any others. I plan to try grouper next.
Got the same result with grouper:
collect2: error: ld terminated with signal 9 [Killed]
/home/cmbuild/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: warning: hidden symbol '__system_property_get' in /home/cmbuild/android/out/target/product/grouper/obj/STATIC_LIBRARIES/base_base_gyp_intermediates/base_base_gyp.a(sys_info_android.o) is referenced by DSO /home/cmbuild/android/out/target/product/grouper/obj/lib/libcutils.so
/home/cmbuild/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: warning: hidden symbol 'SkBitmap::lockPixels() const' in /home/cmbuild/android/out/target/product/grouper/obj/STATIC_LIBRARIES/skia_skia_library_gyp_intermediates/skia_skia_library_gyp.a(SkBitmap.o) is referenced by DSO /home/cmbuild/android/out/target/product/grouper/obj/lib/libjnigraphics.so
/home/cmbuild/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: warning: hidden symbol 'SkBitmap::unlockPixels() const' in /home/cmbuild/android/out/target/product/grouper/obj/STATIC_LIBRARIES/skia_skia_library_gyp_intermediates/skia_skia_library_gyp.a(SkBitmap.o) is referenced by DSO /home/cmbuild/android/out/target/product/grouper/obj/lib/libjnigraphics.so
/home/cmbuild/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: warning: hidden symbol 'SkBitmap::notifyPixelsChanged() const' in /home/cmbuild/android/out/target/product/grouper/obj/STATIC_LIBRARIES/skia_skia_library_gyp_intermediates/skia_skia_library_gyp.a(SkBitmap.o) is referenced by DSO /home/cmbuild/android/out/target/product/grouper/obj/lib/libjnigraphics.so
make: *** [/home/cmbuild/android/out/target/product/grouper/obj/SHARED_LIBRARIES/libwebviewchromium_intermediates/LINKED/libwebviewchromium.so] Error 1
root@e4de81b8f6a5:/home/cmbuild/android#
@michael_ch finally got this to work. The links you provided me were spot on. I have a ubuntu VM I use to try to learn a little about linux. I tried all this as an exercise to learn more about linux and docker and less about compiling CM. My VM was initially set at 1G, didn't work. I tried 4G and 8G, neither worked. I bumped it it up to 12G and set swap to 10G, which worked. I will try to boot my built CM12, but not my intended goal. Several years ago, I setup a build environment for CM, maybe CM9, but this is much slicker. It was a good learning experience. Thank you.
repo init -u git://github.com/CyanogenMod/android.git -b staging/cm-12.1
repo sync -j 16
source build/envsetup.sh
make clean
brunch <device codename> # example: brunch grouper
That's a really old Docker version. However I understand it's the version which is shipped with stock Ubuntu. Please try again using the repository provided by Docker:Hi, I am using ubuntu 14.04 (32bit) in a virtual box, docker was installed using apt-get.
me@alderaan:~/docker-cyanogenmod$ sudo docker version
Client version: 1.0.1
I will update the OP and fix the wrong reference on build.sh. Running run.sh is fine (it includes the "docker build" functionality now).After git clone, I could not find the mentioned build .sh skript. I ran run.sh instead, which fails after a few seconds with this message:
me@alderaan:~/docker-cyanogenmod$ sudo ./run.sh
Building Docker image stucki/cyanogenmod:cm-12.1...
...
Step 3 : RUN sed -i 's/main$/main universe/' /etc/apt/sources.list
---> Running in 6e9bab42861a
2015/05/01 22:07:23 exec format error
2015/05/02 00:07:25 The command [/bin/sh -c sed -i 's/main$/main universe/' /etc/apt/sources.list] returned a non-zero code: 1
docker pull ubuntu:14.04
Never mind. I hope these answers can help someone else who has a similar problem...Could anyone pooint me into a direction how to move on?
Is the fact that I am trying on a 32bit guest system the reason for this error?
UPDATE: Nevermind, my machine (Intel Core2Quad 8200) does not support hardware virtualization, so I'm not able to emulate 64bit OS and thus wont be able to build CM. I'm still not sure if thats the cause for the above error, but I guess I'll stop trying until I get a new pc ...
Hey folks! I just published a new release of the box. Now is a good time to create your own build of the upcoming CyanogenMod 12.1:
Code:repo init -u git://github.com/CyanogenMod/android.git -b staging/cm-12.1 repo sync -j 16 source build/envsetup.sh make clean brunch <device codename> # example: brunch grouper
Have fun!
There's no magic involved, no hidden processes etc. Take a look at the Dockerfile which is pretty self-explaining...Would be nice to document what the template actually executed on our system...
Given that you need around 80 GB I wouldn't recommend DigitalOcean for this as it's too expensive for such a high amount of storage.
The following works on my development machine, I just didn't commit it yet because it needs more documentation.This is handy and made building CM 12.1 for grouper v easy.
One issue is adb access - I think this should be addressed quite upfront in README/instructions.
# On the host, run adb in daemon mode:
sudo adb -a fork-server server
# Inside the container, set an alias for adb (adb is used from the build path)
alias adb='/home/cmbuild/android/out/host/linux-x86/bin/adb -H <ip of your host>'
# Test:
adb devices
This is weird. By default, the container should be created with "android" and "ccache" folders mounted from the host. So deleting the container has no effect on them.I now have situation where build env, etc has been downloaded into my container, but I can't run adb commands
as I did not connect device at container run time - if I kill container, I'll have to download CM in its entirety again
which takes a while.
The following works on my development machine, I just didn't commit it yet because it needs more documentation.
The idea here is that you run adb on the host and make it listen for TCP connections. Within the Docker container, you just connect to this IP:
Let me know if this works!Code:# On the host, run adb in daemon mode: sudo adb -a fork-server server # Inside the container, set an alias for adb (adb is used from the build path) alias adb='/home/cmbuild/android/out/host/linux-x86/bin/adb -H <ip of your host>' # Test: adb devices
This is weird. By default, the container should be created with "android" and "ccache" folders mounted from the host. So deleting the container has no effect on them.
Are you calling "./run.sh" to start your box? If not, please try this.
Feel free to make a pull requestAh - my bad - I did not look at run.sh in detail and did not see this. Again, it might be helpful if there was a pointer in the
docs.
git clone https://github.com/stucki/docker-cyanogenmod.git
cd docker-cyanogenmod
./run.sh
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
repo sync
source build/envsetup.sh
brunch <device codename> # example: brunch grouper
Docker template for building CyanogenMod
Building CyanogenMod requires quite a lot of work. You will need to install a large number of dependencies, and you will need to read through lots of documentation.
Docker is a rather new software to automate the deployment of applications inside a software container.
Here is a Docker container for running an environment which contains everything that is needed to compile CyanogenMod. It will be very easy to install, and it will just work! The Github page contains some further information on how to get started.
How to build:
Code:git clone https://github.com/stucki/docker-cyanogenmod.git cd docker-cyanogenmod ./build.sh
How to run:
Code:cd docker-cyanogenmod ./run.sh
How to build CyanogenMod for your device:
Code:repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0 repo sync source build/envsetup.sh breakfast <device codename> # example: breakfast grouper brunch <device codename> # example: brunch grouper
Download:
Github URL: https://github.com/stucki/docker-cyanogenmod
ChangeLog:
Code:2014-02-16 * Initial release
Any feedback is welcome. Enjoy!
BUILD_HOST_32bit=1 (Cyanogenmod needs 32 bit binaries to compile)
RUN apt-get purge openjdk-\* icedtea-\* icedtea6-\*
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update && sudo apt-get install oracle-java6-installer
repo init -u git://github.com/CyanogenMod/android.git -b staging/cm-12.1
repo sync -j 16
source build/envsetup.sh
make clean
brunch <device codename> # example: brunch grouper