Related
Now that the code is out, let's start hacking the Xoom.
These instructions are for Linux 64-bit Ubuntu 11.10 / Mint 12, with latest updates.
follow directions on source.android.com to set up your environment
then move to next page to set up the repo and download the code
make sure you use Sun/Oracle Java Development Kit 1.6.x. It WILL NOT work with OpenJDK, which comes with Ubuntu 11.10/Mint 12. (best is remove OpenJDK to avoid hard to track errors)
downloading the code takes ages (a good 2h even with a good connection) and requires at least 2GB of hard disk space. But for compilation, I'd recommend to have 20GB at least.
download proprietary drivers at: http://tinyurl.com/6rfu8rn
extract the drivers from Broadcom and NVidia, this will gives you 2 .sh files
just run these 2 .sh files and copy the created vendor/ directory into the root of your Google code repo.
There are 2 kinds of Xoom
Xoom Verizon LTE, codename stingray
Xoom wifi, codename wingray
Make some corrections in the code for GCC 4.6
external/mesa3d/src/glsl/linker.cpp: l.70 add: #include <cstddef>
To build the code:
. ./build/envsetup.sh
lunch full_stingray-userdebug or full_wingray-userdebug
make -j5
This can take 2h to compile on an average machine like my MacBook Pro with 8GB RAM (very important to have more than 4GB!!!), or even more. And having a quad-core machine (or even more cores), really saves you tons of time!
Once compilation is done, it's time to flash:
go to out/target/product/wingray (or stingray)
put your Xoom in fastboot mode: power off, then volume down + power on
fastboot erase cache
fastboot erase userdata
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot reboot
Note: you don't need to flash recovery.img, you should instead flash ClockworkMod recovery (http://download.clockworkmod.com/recoveries/recovery-clockwork-4.0.0.4-stingray.img)
And voila, you have a Xoom with WiFi working and all goodies from AOSP. This means no Google apps like Market...
To install Google Apps:
download this zip file [http://www.mediafire.com/?1l4ravroiwt4ybw[/url]
unzip it and go inside the folder
boot your device normally
rm system/app/Nfc*
adb push system /system
adb reboot
There are some errors with exchange service but Market, GMail, Maps work correctly. From there, go update your apps from Market
Enjoy!
Update 1: Android 4.0.1 issues back in 4.0.3?
Some people noted some compilation errors I didn't get on 4.0.3 but on 4.0.1. Here are solutions for 4.0.1 (emulator) that may work for you:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)
How much space just to tinker with ICS/gingerbread?
I have a 1.5 mbps DSL connection and 200gb would take me 8 day/24 hour of downloading and I cant do that.
Kippui said:
How much space just to tinker with ICS/gingerbread?
I have a 1.5 mbps DSL connection and 200gb would take me 8 day/24 hour of downloading and I cant do that.
Click to expand...
Click to collapse
I do my building in a VM and the virtual disk image that has ubuntu and AOSP has grown to 45 GB after a compile.
Also, question for OP... why don't we see people using "make -j otapackage" to create CWM compatible ROMs? Just make sure it doesn't have a recovery in it (or it will torch your existing recovery). I torched my recovery the first time I did it, but I think I fixed it (haven't reflashed to find out).
It builds just fine with 3 GB of RAM in my VM here. Takes around 1 hour for me, with 6 CPU threads assigned to the VM, and using -j6. I just wish I could make sure it doesn't waste time compiling the various demos and tests.
I'm also using ccache to speed up (re)building. Google has instructions on how to set it up (it's really easy). Copied from their page (http://source.android.com/source/initializing.html):
You can optionally tell the build to use the ccache compilation tool. Ccache acts as a compiler cache that can be used to speed-up rebuilds. This works very well if you do "make clean" often, or if you frequently switch between different build products.
Put the following in your .bashrc or equivalent.
export USE_CCACHE=1
By default the cache will be stored in ~/.ccache. If your home directory is on NFS or some other non-local filesystem, you will want to specify the directory in your .bashrc as well.
export CCACHE_DIR=<path-to-your-cache-directory>
The suggested cache size is 50-100GB. You will need to run the following command once you have downloaded the source code.
prebuilt/linux-x86/ccache/ccache -M 50G
This setting is stored in the CCACHE_DIR and is persistent.
Click to expand...
Click to collapse
I have it set to only 10 GB here, but if you intend to do a lot of rebuilding, 20-40 GB might be a better idea.
The full AOSP tree + out directory takes 24G on my machine using du -sh.
The OTA package is 90MB, including the recovery, which you probably want to remove.
Indeed, I forgot to mention using USE_CCACHE, it really speeds up your builds. Make sure your cache dir is the top of your AOSP tree, it's even better.
Hi,
Huge thanks for those usefull instructions.
Just a hint for Gentoo builders (and maybe others distrib), if you're having this error after the "lunch" command :
Code:
AOSP> lunch full_wingray-userdebug
build/core/config.mk:268: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
** Don't have a product spec for: 'full_wingray'
** Do you have the right repo manifest?
just export env ANDROID_JAVA_HOME with full jdk path :
Code:
export ANDROID_JAVA_HOME=/opt/sun-jdk-1.6.0.29/
winglord said:
There are 2 kinds of Xoom
Xoom Verizon LTE, codename stingray
Xoom wifi, codename wingray
Click to expand...
Click to collapse
There's three kinds of Xoom, the GSM MZ601 as well (Moto's codename everest). This is not supported by Google, but hopefully the hardware is close enough to stingray that the port shouldn't be overly difficult. At worst, the port to everest might have issues with vendor_ril?
please post your finished from.
Sent from my Full Android on Wingray using Tapatalk
Does someone know if there is a way to run builded images into the sdk emulator ?
Not sure what I am doing wrong:
Code:
/ICS_SOURCE# make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=full_wingray
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE wingray
host C++: llvm-rs-cc <= frameworks/compile/slang/llvm-rs-cc.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_ast_replace.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_context.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc.o] Error 1
make: *** Waiting for unfinished jobs....
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_ast_replace.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_context.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs.o] Error 1
[email protected]:~/ICS_SOURCE#
Im using this guide as it has more details: http://www.freeyourandroid.com/guide/compile-ics
Any guidance someone could offer would be great.
Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/
aceman118 said:
Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/
Click to expand...
Click to collapse
Thanks, I am useing 11.10 so ill read through this and try again.
EDIT: got my first build completed! Thanks
you can use wingray or stingray on everest. Of course, if you use wingray on everest, you won't have phone app and other phone only features.
aceman118 said:
Are you in ubuntu 11.10? I was having issues also. Check out this site...
http://www.android-dev.ro/2011/12/13/building-android-4-0-on-ubuntu-11-10/
Click to expand...
Click to collapse
I'm using Ubuntu 11.10 64bit and GCC 4.6.
Keep in mind to add '#include <cstddef>' in headers where you have compile errors like indexOf() not found.
popokrew said:
Not sure what I am doing wrong:
Code:
/ICS_SOURCE# make -j4 otapackage
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=full_wingray
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
build/core/main.mk:324: implicitly installing apns-conf_sdk.xml
No private recovery resources for TARGET_DEVICE wingray
host C++: llvm-rs-cc <= frameworks/compile/slang/llvm-rs-cc.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_ast_replace.cpp
host C++: llvm-rs-cc <= frameworks/compile/slang/slang_rs_context.cpp
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>:0:0: note: this is the location of the previous definition
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc.o] Error 1
make: *** Waiting for unfinished jobs....
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_ast_replace.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_context.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs.o] Error 1
[email protected]:~/ICS_SOURCE#
Im using this guide as it has more details: http://www.freeyourandroid.com/guide/compile-ics
Any guidance someone could offer would be great.
Click to expand...
Click to collapse
You are not doing anything wrong, this is a GCC 4.6 restriction.
Weird I didn't see it with ics 4.0.3 but with 4.0.1 before.
Here is what you need to do for 4.0.1:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)
winglord said:
You are not doing anything wrong, this is a GCC 4.6 restriction.
Weird I didn't see it with ics 4.0.3 but with 4.0.1 before.
Here is what you need to do for 4.0.1:
build/core/combo/HOST_linux-x86.mk:61 HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
build/core/combo/javac.mk:15 COMMON_JAVAC := javac -J-Xmx512M -target 1.5 -source 1.5 -Xmaxerrs 9999999
frameworks/base/libs/util/Android.mk: 63 LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive
libcore/luni/src/main/java/java/lang/Enum.java: 128 return ordinal - o.ordinal ();
external/gtest/include/gtest/internal/gtest-param-util.h:40 #include <cstddef> (after #include <vector>)
Click to expand...
Click to collapse
winglord, I was able to get it to build with the guide aceman posted. I believe its because of the modified make: make CC=gcc-4.4 CXX=g++-4.4
Where would I find a log for the entire build? A lot of stuff scrolls by while building.
Now I just need to get the recovery image out (guessing just delete it out of the ota .zip?) and try it out. My Xoom isnt with me right now.
AlEsC said:
Does someone know if there is a way to run builded images into the sdk emulator ?
Click to expand...
Click to collapse
When running lunch you have to chose one of the emulator builds (full_eng if my memory's right). You can't run a build compiled for a specific device.
RMerlin said:
When running lunch you have to chose one of the emulator builds (full_eng if my memory's right). You can't run a build compiled for a specific device.
Click to expand...
Click to collapse
Thanks
This means I'll have to rebuild all !!
Another question, I've made a successfully build, then I've made some modification in the sources, so I've deleted all *.img thinking that "make" will rebuild them... but "make" only rebuild "system.img", "ramdisk.img" and "userdata.img".
Is there a "make boot" or something like that ? (real question is how do I rebuild my boot.img )
Thanks
winglord said:
I'm using Ubuntu 11.10 64bit and GCC 4.6.
Keep in mind to add '#include <cstddef>' in headers where you have compile errors like indexOf() not found.
Click to expand...
Click to collapse
I tried that and it didn't seem to work for me. Once I used GCC 4.4 it worked. I couldn't tell you why, though.
So I finally got a build up and running - is there something special that has to be done with the vendor binaries? I know I have seen this in other builds too but the kernel is still showing 2.x and the camera, mic and gps are not working. Is that because work needs to be done to the kernel before it is 100% with ICS? This is my first time messing with an android build so forgive me if this is a dumb question.
AlEsC said:
Thanks
This means I'll have to rebuild all !!
Another question, I've made a successfully build, then I've made some modification in the sources, so I've deleted all *.img thinking that "make" will rebuild them... but "make" only rebuild "system.img", "ramdisk.img" and "userdata.img".
Is there a "make boot" or something like that ? (real question is how do I rebuild my boot.img )
Thanks
Click to expand...
Click to collapse
Make is usually smart enough to know when something you changed will not result in a different output. It is possible that the changes you made would result in an identical boot.img, therefore it is not rebuilding it.
TUTORIAL:How to build CM9 from source using Ubuntu 11.10
NOTE: I am always changing this tutorial to be more advance and easier, what you see one day may be changed the next so be careful!
1. Grab yourself a copy of 64-bit Ubuntu 11.10 - You can try and use 12.04 but it is very unstable and extra steps are needed.
2. In terminal type in the following lines to grab the required sources for donwloading the packages:
Code:
sudo add-apt-repository ppa:ferramroberto/java; sudo apt-get update
3. Type in the following into terminal, this allows ubuntu to gather the needed packages to build CM9. You will be asked for a password, if you get a question asking if you would like to install all of the packages type Y and hit enter.
Code:
sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386
4. To download a needed stack on top of git for developing CM we need to type the following command...
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo
5. Download this: http://dl.google.com/android/android-sdk_r18-linux.tgz and this: http://dl.google.com/android/ndk/android-ndk-r7c-linux-x86.tar.bz2 - These are the NDK and SDK, native development kit and software development kit.
6. Open your file manger and make a folder inside your home folder, call it "android".
7. Make the folders "sdk" and "ndk" inside it
8. Extract all of the stuff from "android-ndk-r7c-linux-x86.tar.bz2" into NDK and all the stuff from "android-sdk_r18-linux.tgz" to SDK.
10. Type in the following line to open a text document
Code:
sudo gedit .bashrc
11. Add the following lines to the bottom of the script - this changes you "path" so you can run scrips from these places as normal linux commands anywhere else on your system
Code:
# Android Software
export PATH=${PATH}:~/android/sdk/tools
export PATH=${PATH}:~/android/sdk/platform-tools
export PATH=${PATH}:~/android/ndk/android-ndk-r7/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
export PATH=${PATH}:~/bin
13. Save and exit, then type the following lines to make a folder and bring you into it
Code:
mkdir -p ~/cyanogenmod/system; cd ~/cyanogenmod/system
14. Now type in these next lines to set another (fallback) path and inizalize the CM repo in that folder
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b ics
15. Now enter the following command
Code:
gedit .repo/local_manifest.xml
to open up another text document, in this document - it will be empty, add these lines then save and exit
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_proprietary.git" path="vendor/htc" remote="cryptomilk" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7277" remote="cryptomilk" />
<project name="benjamingwynn/cm9-marvel-flaming-fixes" />
</manifest>
16. If you do not wish to download pointless files for different devices then type in
Code:
gedit .repo/manifest.xml
and delete the following lines (thanks to dudeman1996 for this protip)
Code:
<project path="device/moto/common" name="CyanogenMod/android_device_moto_common" />
<project path="device/moto/stingray" name="CyanogenMod/android_device_moto_stingray" />
<project path="device/moto/wingray" name="CyanogenMod/android_device_moto_wingray" />
aswell as these other lines
Code:
<project path="device/samsung/maguro" name="CyanogenMod/android_device_samsung_maguro" />
<project path="device/samsung/p5-common" name="CyanogenMod/android_device_samsung_p5-common" />
<project path="device/samsung/toro" name="CyanogenMod/android_device_samsung_toro" />
<project path="device/samsung/tuna" name="CyanogenMod/android_device_samsung_tuna" />
17. Now to preform the first sync with CM type in the following.. -- This will take a long time! so don't be worried if you think it's taking a while. If for whatever reason you need to stop the sync then hit CTRL+Z on your keyboard.
Code:
repo sync
18. You must now setup the vendor, type:
Code:
./vendor/cm/get-prebuilts
19. Set up the environment by typing the following to tell ubuntu that you are going to be making CM9.
Code:
source build/envsetup.sh; lunch cm_marvel-eng
20. Type the following to prepare use the cache for stuff
Code:
export USE_CCACHE=1
21. Now, finally build CM9. To do this I always times the number of cores in your CPU by two. For example on a 4 core machine I would put 8. Once you have worked that out type the following where xx is your number.
Code:
make -jxx bacon
22. If sucessful, you will get something like this:
Code:
Package complete: /home/benjamin/cyanogenmod/system/out/target/product/marvel/update-cm-9.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Go to that folder and copy and paste the zip file above to your phone, install in recovery.
FAQ
People like asking the same god damn questions over and over again.
Q. Could you please help me it says the bits
A. That doesn't make any sense. Try and copy some lines from terminal
Q. Could you help please, It says these lines when I "repo sync"
Code:
Fetching projects: 100% (249/249), done.
Syncing work tree: 95% (237/249) fatal: cannot create directory at 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/descriptors': No space left on device
Traceback (most recent call last):
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 385, in
_Main(sys.argv[1:])
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 365, in _Main
result = repo._Run(argv) or 0
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 137, in _Run
result = cmd.Execute(copts, cargs)
File "/home/benjamin/cyanogenmod/system/.repo/repo/subcmds/sync.py", line 467, in Execute
project.Sync_LocalHalf(syncbuf)
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1027, in Sync_LocalHalf
self._InitWorkTree()
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1814, in _InitWorkTree
raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree
A. Your disk drive is full. Free some stuff up and try again
Q. Could you help please...
Code:
============================================
Checking build tools versions...
************************************************************
You are attempting to build with an unsupported version
of java.
Your version is: java version "1.6.0_24".
The correct version is: Java SE 1.6.
Please follow the machine setup instructions at
http://source.android.com/source/download.html
************************************************************
grep: build/target/board/generic/recovery.fstab: No such file or directory
build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
A. You have a slightly different version of Java for some reason, try the following...
Code:
sudo -i
[[enter password]]
apt-get remove openjdk-6-jdk
apt-get remove sun-java6-jdk
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update
apt-get upgrade
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java
[[select the sun one]]
exit
if that doesn't work then try
Q. I downloaded Ubuntu 12.04 instead, it's not working! Do you have a quick work-around?
A. First type in
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386
to get the extra packages.
Then type "sudo gedit /usr/include/linux/usb/ch9.h" and on line 592 replace
Code:
return __le16_to_cpu(epd->wMaxPacketSize);
with
Code:
# return le16_to_cpu(epd->wMaxPacketSize);
return __le16_to_cpu(epd->wMaxPacketSize);
Q. I get this error
Code:
[email protected]:~/cyanogenmod/system$ lunch cm_marvel-eng
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/marvel/cm.mk]]: "device/*/marvel/cm.mk" does not exist. Stop.
Device marvel not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for marvel 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:189: *** _nic.PRODUCTS.[[device/*/marvel/cm.mk]]: "device/*/marvel/cm.mk" does not exist. Stop.
A. Make sure you followed the instructions correctly, this is probably a misconfiguration of an XML
Q. I have a problem, do you have a fix? The following happens:
Code:
xml.parsers.expat.ExpatError: XML or text declaration not at start of entity: line 1, column 2
A. I had that problem (in fact I have had all of these faq problems when building CM but I solved em') - type "sudo gedit .repo/local_manifest.xml" into terminal and change the first line to "" without spaces at the start
Q. I get
Code:
** Don't have a product spec for: 'cm_marvel'
** Do you have the right repo manifest?
do you have a fix
A. Redo the instructions from step 20
Q. I get this very annoying error: "build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop"
A. Type "rm -rf prebuilt; repo sync -l prebuilt" - credit to dudeman1996 for this find in Chinese - Credit to me for translating it into usable words from Google Translate
Q. I get a strange kernel error about cm9 prebuilt kernels
A. Use aswerth's temp patch
aswerth said:
Temp solution: Do not build the latest one.
First, delete "device/htc/marvel" folder. And then download this file and unzip it to "device/htc/marvel" BTW, Wifi works on this build too.
http://git.cryptomilk.org/projects/...s&id=673d27e36a83ec957672e336d8168f8d8196070a
Click to expand...
Click to collapse
This is the last commit before CM9 gave this error.
Q. Upon installation of packages it says that Java has no installation candiate
A. Run the following command: sudo add-apt-repository ppa:ferramroberto/java; sudo apt-get update
Compile CM afterwards
Mini tutorial: How to build CM9 after syncing, etc.
There is only two steps needed for compiling CM9 after rebooting or being away from your PC because I have formed the first into a quick load of commands:
Code:
cd ~/cyanogenmod/system; repo sync; source build/envsetup.sh; lunch cm_marvel-eng; export USE_CCACHE=1
This will do all the required steps before build but will only work if you have completed the tutorial above and succedded in a build. repo sync doesn't take long at all because all the files are already on your machine, and repo just grabs the changed ones.
Type make -jxx bacon (the same way you did in the first tutorial) to make CM9 again.
If you wish to know if CM has changed before re-building then see this link: http://git.cryptomilk.org/projects/marvel/android_device_htc_marvel.git/log/?h=ics
by doing this what will work and what not?
where output file should be?
dream707 said:
where output file should be?
Click to expand...
Click to collapse
Type "~"
Sent from my HTC Wildfire S using xda premium
effry said:
by doing this what will work and what not?
Click to expand...
Click to collapse
act like a developer and compile it to find out...
effry said:
by doing this what will work and what not?
Click to expand...
Click to collapse
you can see them from modpunk's thread
Sent from my Wildfire S using Tapatalk 2
Thanks Ben! Which README did you use, may I ask?
Going to try this later tonight, as I just cant make it work. Always end with no compiling, or CPU errors half way through compiling.
Just to help Ben with Q & A,and for you guys who needs visual help... http://www.youtube.com/watch?v=OS5c_ws_N7g&feature=youtube_gdata_player
Hope i helped...thanks button if i did.
SALUTE!!!
Sent from my HTC Wildfire S A510e using xda premium
I get this error on first steps:
Code:
....only available from another source
Package lib32z1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
E: Package 'lib32z1-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'lib32readline-gplv2-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'ia32-libs' has no installation candidate
E: Unable to locate package lib32z-dev
Is this because I'm running Xubuntu?
*se-nsei. said:
I get this error on first steps:
Code:
....only available from another source
Package lib32z1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
E: Package 'lib32z1-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'lib32readline-gplv2-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'ia32-libs' has no installation candidate
E: Unable to locate package lib32z-dev
Is this because I'm running Xubuntu?
Click to expand...
Click to collapse
Probably mate
Anybody who followed my guide before Tuesday 17 April at 19:56 GMT+1 must do the following command
sudo apt-get install python-lunch
however this is now updated in the original post.
Got some problems:
Code:
[email protected]:~/cyanogenmod/system$ make -j4 bacon
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=cm_marvel
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv6-vfp
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76D
============================================
system/core/toolbox/Android.mk:98: warning: overriding commands for target `out/target/product/marvel/system/bin/lsof'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/bin/lsof'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/htc/msm7227
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
make: *** No rule to make target `device/htc/marvel/prebuilt/kernel', needed by `out/target/product/marvel/kernel'. Stop.
make: *** Waiting for unfinished jobs....
host StaticLib: libmincrypt (out/host/linux-x86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/libmincrypt.a)
host StaticLib: libhost (out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
what should I do to fix it?
FiFUPL said:
Got some problems:
Code:
[email protected]:~/cyanogenmod/system$ make -j4 bacon
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=cm_marvel
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv6-vfp
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76D
============================================
system/core/toolbox/Android.mk:98: warning: overriding commands for target `out/target/product/marvel/system/bin/lsof'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/bin/lsof'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/htc/msm7227
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
make: *** No rule to make target `device/htc/marvel/prebuilt/kernel', needed by `out/target/product/marvel/kernel'. Stop.
make: *** Waiting for unfinished jobs....
host StaticLib: libmincrypt (out/host/linux-x86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/libmincrypt.a)
host StaticLib: libhost (out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
what should I do to fix it?
Click to expand...
Click to collapse
Looks like it's running fine mate.... are you sure thats the error?
benjamingwynn said:
Looks like it's running fine mate.... are you sure thats the error?
Click to expand...
Click to collapse
Idk, I cant find output file, where's it?
benjamingwynn said:
Looks like it's running fine mate.... are you sure thats the error?
Click to expand...
Click to collapse
There isn't "prebuilt" folder on "device/htc/marvel" in modpunk's latest kernel update. I'm having the same issue. Maybe we need to build kernel too. Are you sure that tutorial worked on you ben?
aswerth said:
There isn't "prebuilt" folder on "device/htc/marvel" in modpunk's latest kernel update. I'm having the same issue. Maybe we need to build kernel too. Are you sure that tutorial worked on you ben?
Click to expand...
Click to collapse
No this has been recently causing a problem... Working on a fix now...
Sent from my HTC Wildfire S using xda premium
benjamingwynn said:
20. Type "gedit .repo/local_mainfest.xml" and enter the following lines
Click to expand...
Click to collapse
There should be local_manifest.xml
FiFUPL said:
There should be local_manifest.xml
Click to expand...
Click to collapse
Typeo. Thanks
Sent from my HTC Wildfire S using xda premium
EDIT: This doesn't work.
Fix, made. On my phone too!
Re-Follow step 20 and onwards but add the following lines into your file that is open in gedit:
Make sure you put this in the correct place. I will be adding into the OP tomorrow.
Sent from my HTC Wildfire S using xda premium
Trying to compile AOSP 4.2 for the Galaxy Nexus. I can compile 4.1.2 just fine, but with 4.2 Im getting errors.
Code:
external/wpa_supplicant_8/hostapd/src/crypto/tls_openssl.c:49:35: fatal error: keystore/keystore_get.h: No such file or directory
compilation terminated.
Any ideas? This is on a fully updated Archlinux box.
Either you forgot to get the proprietary files from the device, or you just need to remove it from the makefile. Not at my pc atm, so can't look at it.
Sent from my Galaxy Nexus using xda premium
Untouchab1e said:
Trying to compile AOSP 4.2 for the Galaxy Nexus. I can compile 4.1.2 just fine, but with 4.2 Im getting errors.
Code:
external/wpa_supplicant_8/hostapd/src/crypto/tls_openssl.c:49:35: fatal error: keystore/keystore_get.h: No such file or directory
compilation terminated.
Any ideas? This is on a fully updated Archlinux box.
Click to expand...
Click to collapse
Arch Linux user here. I don't think you can build with python 3 yet. Not sure if that commit went in for JOP40C.
Still, what branch/tag are you building for? Did you merge 4.2 on top of 4.1.2 or they're on a different folder?
Sent from my i9250
bk201doesntexist said:
Arch Linux user here. I don't think you can build with python 3 yet. Not sure if that commit went in for JOP40C.
Still, what branch/tag are you building for? Did you merge 4.2 on top of 4.1.2 or they're on a different folder?
Sent from my i9250
Click to expand...
Click to collapse
I found this page googling , after geting the sae error. i am also on a fully updated arch machine(archbang to be exact). I have already configured my machine to use python 2.
Code:
[[email protected] ~]$ python -V
Python 2.7.3
This is my first attempt at compiling the android source. I am however fairly competent with android in general and have coded before in C. As it is my first attempt it was a fresh "repo sync".
Code:
[[email protected] firstTry]$ make -j3
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.2.42.42.42
TARGET_PRODUCT=full_toro
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_OS_EXTRA=Linux-3.6.6-1-ARCH-x86_64-with-glibc2.2.5
HOST_BUILD_TYPE=release
BUILD_ID=JB_MR1
OUT_DIR=out
============================================
figured this wuld be more valuable than just the branch/tag. Thanks in advance for the help
I resolved the issue. Archlinux is not to blame. I was building the master branch instead of 4.2. I noticed a commit that changes how the keystore header file is included and it breaks the build.. for me at least. Checked out the 4.2r1 branch and it compiled right away
Sent from my HTC One S using Tapatalk 2
sunjay118 said:
I found this page googling , after geting the sae error. i am also on a fully updated arch machine(archbang to be exact). I have already configured my machine to use python 2.
Code:
[[email protected] ~]$ python -V
Python 2.7.3
This is my first attempt at compiling the android source. I am however fairly competent with android in general and have coded before in C. As it is my first attempt it was a fresh "repo sync".
Code:
[[email protected] firstTry]$ make -j3
============================================
PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.2.42.42.42
TARGET_PRODUCT=full_toro
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_OS_EXTRA=Linux-3.6.6-1-ARCH-x86_64-with-glibc2.2.5
HOST_BUILD_TYPE=release
BUILD_ID=JB_MR1
OUT_DIR=out
============================================
figured this wuld be more valuable than just the branch/tag. Thanks in advance for the help
Click to expand...
Click to collapse
You should probably change branches, like Untouchab1e did.
Untouchab1e said:
I resolved the issue. Archlinux is not to blame. I was building the master branch instead of 4.2. I noticed a commit that changes how the keystore header file is included and it breaks the build.. for me at least. Checked out the 4.2r1 branch and it compiled right away
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
Yeah, i figured that should be it. Most people don't want to build from the master branch. Glad you solved it.
Sent from my i9250
Thanks for getting back to me so quickly. I tried to follow your suggestion and it didnt pan out. As I said I am new to android development(and git and repo) so I assume it was a stupid mistake on my part. I triedto use repo to in the same directory i was using before:
Code:
[[email protected] firstTry]$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2_r1
remote: Counting objects: 310, done
remote: Finding sources: 100% (3/3)
remote: Getting sizes: 100% (1/1)
remote: Total 3 (delta 1), reused 3 (delta 1)
Unpacking objects: 100% (3/3), done.
From https://android.googlesource.com/platform/manifest
5a09f80..fbb30a8 tradefed -> origin/tradefed
.repo/manifests/: discarding 1 commits
Your identity is: Jason S******* <js********[email protected]>
If you want to change this, please re-run 'repo init' with --config-name
repo initialized in /home/jason/android/firstTry
I then ran envsetup.sh again with no issue.
Then lunch again with no issue.
But when I then tried to compile I got the same error as before. I tried running repo branch and it returned "(no branches)" I was under the impression my repo command before would have added the 4.2_r1 branch. I tried git branch because this page also suggested it(source.android.com/source/version-control.html) it returned "fatal: Not a git repository (or any of the parent directories): .git" I assume its because I never set up anything with git since i undertook this project. I dont really know ow to move forward at this point. Like I said I assume I'm missing something simple. Thanks in advance.
I have download the device,vendor,knernel and placeed the zip file and extracted file into the path:
the download path:
github find the armani-dev
and download the android_device_xiaomi_armani,proprietary_vendor_xiaomi,android_kernel_xiaomi_armani
device/xiaomi/armani.
kernel/xiaomi/armani.
vendor/xiaomi/armani
then run the command:brunch armani,and sent the error as bellow,please help me .
[email protected]:~/cm# brunch armani
including vendor/cm/vendorsetup.sh
Trying dependencies-only mode on a non-existing device tree?
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.1.1
CM_VERSION=12.1-20151017-UNOFFICIAL-armani
TARGET_PRODUCT=cm_armani
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-32-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=LMY48W
OUT_DIR=/root/cm/out
============================================
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.1.1
CM_VERSION=12.1-20151017-UNOFFICIAL-armani
TARGET_PRODUCT=cm_armani
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-32-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=LMY48W
OUT_DIR=/root/cm/out
============================================
find: `dummy': No such file or directory
find: `../../../../../../external/hamcrest/src': No such file or directory
find: `../../../../../../external/junit/src/org': No such file or directory
find: `../../../../../../external/hamcrest/src': No such file or directory
build/core/copy_headers.mk:15: warning: overriding commands for target `/root/cm/out/target/product/armani/obj/include/qcom/display/copybit.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for target `/root/cm/out/target/product/armani/obj/include/qcom/display/copybit.h'
build/core/copy_headers.mk:15: warning: overriding commands for target `/root/cm/out/target/product/armani/obj/include/qcom/display/copybit_priv.h'
build/core/copy_headers.mk:15: warning: ignoring old commands for target `/root/cm/out/target/product/armani/obj/include/qcom/display/copybit_priv.h'
build/core/Makefile:46: warning: overriding commands for target `/root/cm/out/target/product/armani/system/lib/libqminvapi.so'
build/core/base_rules.mk:550: warning: ignoring old commands for target `/root/cm/out/target/product/armani/system/lib/libqminvapi.so'
No private recovery resources for TARGET_DEVICE armani
make -C kernel/xiaomi/armani O=/root/cm/out/target/product/armani/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=" arm-eabi-" VARIANT_DEFCONFIG= SELINUX_DEFCONFIG= cyanogenmod_armani_defconfig
make[1]: Entering directory `/root/cm/kernel/xiaomi/armani'
Install: /root/cm/out/target/product/armani/root/file_contexts
make: *** No rule to make target `/root/cm/out/target/product/armani/obj/STATIC_LIBRARIES/libinit_msm_intermediates/export_includes', needed by `/root/cm/out/target/product/armani/obj/EXECUTABLES/init_intermediates/import_includes'. Stop.
make: *** Waiting for unfinished jobs....
GEN /root/cm/out/target/product/armani/obj/KERNEL_OBJ/Makefile
#
# configuration written to .config
#
make[1]: Leaving directory `/root/cm/kernel/xiaomi/armani'
#### make failed to build some targets (03:10 (mm:ss)) ####
looks like some file are missing..
Do a
Code:
repo sync -f --force-sync
then
Code:
brunch armani
or take some help from here http://forum.xda-developers.com/general/help/asus-zenfone-6-a600cg-cyanogenmod-t3221750
neonkat said:
looks like some file are missing..
Do a
Code:
repo sync -f --force-sync
then
Code:
brunch armani
or take some help from here http://forum.xda-developers.com/general/help/asus-zenfone-6-a600cg-cyanogenmod-t3221750
Click to expand...
Click to collapse
thanks !
it has been solved!
but there are other issue as bellow:
make[5]: *** No rule to make target `/root/cm/kernel/xiaomi/armani/include/linux/netfilter/xt_CONNMARK.h', needed by `/root/cm/out/target/product/armani/obj/KERNEL_OBJ/usr/include/linux/netfilter/.install'. Stop.
jiang18109913 said:
thanks !
it has been solved!
but there are other issue as bellow:
make[5]: *** No rule to make target `/root/cm/kernel/xiaomi/armani/include/linux/netfilter/xt_CONNMARK.h', needed by `/root/cm/out/target/product/armani/obj/KERNEL_OBJ/usr/include/linux/netfilter/.install'. Stop.
Click to expand...
Click to collapse
Glad to know it helped
i will tell you a simple trick..just take first few part of your error..like from "make.....kernel/" which is common for other devices also and paste it in google search..you will surely get some help because you are not the only one to face that issue...
i am learning kernel part and hence don't have a lot of knowledge in rom building but you can post your errors here:-http://forum.xda-developers.com/showthread.php?t=2814763
someone will surely help you.
---------- Post added at 11:03 PM ---------- Previous post was at 10:22 PM ----------
tried to google..no fix..try to search for missing files on the github repository(i think i spelled it corect)..put them to appropriate place and again brunch..
*use the file search option on the repository to save time.
neonkat said:
Glad to know it helped
i will tell you a simple trick..just take first few part of your error..like from "make.....kernel/" which is common for other devices also and paste it in google search..you will surely get some help because you are not the only one to face that issue...
i am learning kernel part and hence don't have a lot of knowledge in rom building but you can post your errors here:-http://forum.xda-developers.com/showthread.php?t=2814763
someone will surely help you.
---------- Post added at 11:03 PM ---------- Previous post was at 10:22 PM ----------
tried to google..no fix..try to search for missing files on the github repository(i think i spelled it corect)..put them to appropriate place and again brunch..
*use the file search option on the repository to save time.
Click to expand...
Click to collapse
thanks!
now I have the error as bllow:
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/SHARED_LIBRARIES/libjavacore_intermediates/luni/src/main/native/android_system_OsConstants.o: file is empty
libcore/luni/src/main/native/Register.cpp:36: error: undefined reference to 'register_android_system_OsConstants(_JNIEnv*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [out/host/linux-x86/obj32/lib/libjavacore.so] Error 1
can you help me?
jiang18109913 said:
thanks!
now I have the error as bllow:
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/SHARED_LIBRARIES/libjavacore_intermediates/luni/src/main/native/android_system_OsConstants.o: file is empty
libcore/luni/src/main/native/Register.cpp:36: error: undefined reference to 'register_android_system_OsConstants(_JNIEnv*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [out/host/linux-x86/obj32/lib/libjavacore.so] Error 1
can you help me?
Click to expand...
Click to collapse
i tried searching for a fix but got nothing..i am not a rom expert as said before..please post your queries in the link provided in post #5.
there is a bunch of devs helping noobs.
jiang18109913 said:
thanks!
now I have the error as bllow:
prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6//x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/SHARED_LIBRARIES/libjavacore_intermediates/luni/src/main/native/android_system_OsConstants.o: file is empty
libcore/luni/src/main/native/Register.cpp:36: error: undefined reference to 'register_android_system_OsConstants(_JNIEnv*)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [out/host/linux-x86/obj32/lib/libjavacore.so] Error 1
can you help me?
Click to expand...
Click to collapse
don't go on posting eveywhere?...
here:-http://forum.xda-developers.com/oneplus-one/help/compilation-help-t2942448/post56922402
check the last post right there and try to follow..if more errors,tell me?.
neonkat said:
don't go on posting eveywhere...
here:-http://forum.xda-developers.com/oneplus-one/help/compilation-help-t2942448/post56922402
check the last post right there and try to follow..if more errors,tell me.
Click to expand...
Click to collapse
thank you! I have build the ROM.thank you very much again.
jiang18109913 said:
thank you! I have build the ROM.thank you very much again.
Click to expand...
Click to collapse
that's nice ?.
I'm trying to import LineageOS into my IDE so I can attempt to follow the code for an improvement I'd like to implement, but I can't get past an error:
FAILED:
build/make/core/Makefile:28: error: overriding commands for target `out/target/product/generic/system/product/etc/apns-conf.xml', previously defined at build/make/core/base_rules.mk:480
Code:
$ make idegen && development/tools/idegen/idegen.sh
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.3.0-45-generic-x86_64-Ubuntu-19.10
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QQ2A.200305.003
OUT_DIR=out
============================================
[ 61% 403/654] including packages/apps/Backgrounds/Android.mk ...
/bin/bash: line 0: test: -gt: unary operator expected
[ 97% 640/654] including vendor/lineage/bootanimation/Android.mk ...
vendor/lineage/bootanimation/Android.mk:19: warning: TARGET_SCREEN_WIDTH is not set, using default value: 1080
vendor/lineage/bootanimation/Android.mk:23: warning: TARGET_SCREEN_HEIGHT is not set, using default value: 1920
[100% 654/654] writing build rules ...
FAILED:
build/make/core/Makefile:28: error: overriding commands for target `out/target/product/generic/system/product/etc/apns-conf.xml', previously defined at build/make/core/base_rules.mk:480
23:47:17 ckati failed with: exit status 1
#### failed to build some targets (01:25 (mm:ss)) ####
Meachamus_Prime said:
I'm trying to import LineageOS into my IDE so I can attempt to follow the code for an improvement I'd like to implement, but I can't get past an error:
FAILED:
build/make/core/Makefile:28: error: overriding commands for target `out/target/product/generic/system/product/etc/apns-conf.xml', previously defined at build/make/core/base_rules.mk:480
Code:
$ make idegen && development/tools/idegen/idegen.sh
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=10
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.3.0-45-generic-x86_64-Ubuntu-19.10
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=QQ2A.200305.003
OUT_DIR=out
============================================
[ 61% 403/654] including packages/apps/Backgrounds/Android.mk ...
/bin/bash: line 0: test: -gt: unary operator expected
[ 97% 640/654] including vendor/lineage/bootanimation/Android.mk ...
vendor/lineage/bootanimation/Android.mk:19: warning: TARGET_SCREEN_WIDTH is not set, using default value: 1080
vendor/lineage/bootanimation/Android.mk:23: warning: TARGET_SCREEN_HEIGHT is not set, using default value: 1920
[100% 654/654] writing build rules ...
FAILED:
build/make/core/Makefile:28: error: overriding commands for target `out/target/product/generic/system/product/etc/apns-conf.xml', previously defined at build/make/core/base_rules.mk:480
23:47:17 ckati failed with: exit status 1
#### failed to build some targets (01:25 (mm:ss)) ####
Click to expand...
Click to collapse
What in God's name are you doing?
First, if by "IDE" you mean Android Studio, then you're doing it wrong.
Second, you obviously haven't specified your target:
Code:
$ lunch lineage_marlin
Code:
$ lunch lineage_sailfish
That should do
Fourth, you follow the code by tracking commit history (i.e. using git and Lineage's Gerrit) ... you don't strictly have to build anything just to track the features.
WaseemAlkurdi said:
What in God's name are you doing?
First, if by "IDE" you mean Android Studio, then you're doing it wrong.
Second, you obviously haven't specified your target:
Code:
$ lunch lineage_marlin
Code:
$ lunch lineage_sailfish
That should do
Fourth, you follow the code by tracking commit history (i.e. using git and Lineage's Gerrit) ... you don't strictly have to build anything just to track the features.
Click to expand...
Click to collapse
Thanks for the help! I'll try it.
When I say "follow the code" I mean I can't make head or tails of it without an IDE and I'm trying to add a feature. I could use Android Studio but I prefer Eclipse. I'm hoping that Eclipse can import what idegen generates.
I give up.
Wow!
I just wanted to add a feature that allowed the user to specify a factory reset password/fingerprint/pattern and a distress alert password/fingerprint/pattern. The first is obvious. The second would run program of the user's selection or send an emergency text of the user's choosing with embedded GPS stamp.
But either I'm not worthy (which would be difficult to believe after 16 years of making good money programming), or this is the most convoluted code base I've ever seen. I even found the right location for the change, I think, but couldn't figure out what connected where, with an IDE handling the connections for me.
I get why Google needs the smartest people in the world, now. And why they have such a short churn window.
... and why the Lineage guys hate when people ask for a release date. I won't be asking.
Meachamus_Prime said:
Thanks for the help! I'll try it.
When I say "follow the code" I mean I can't make head or tails of it without an IDE and I'm trying to add a feature. I could use Android Studio but I prefer Eclipse. I'm hoping that Eclipse can import what idegen generates.
Click to expand...
Click to collapse
Why are you making things very complicated? Just use a front-end for Git ... even GitHub itself works
And forget the code ... you want to follow the changes, the commits themselves, reading the commit messages.
Meachamus_Prime said:
Wow!
I just wanted to add a feature that allowed the user to specify a factory reset password/fingerprint/pattern and a distress alert password/fingerprint/pattern. The first is obvious. The second would run program of the user's selection or send an emergency text of the user's choosing with embedded GPS stamp.
Click to expand...
Click to collapse
You'd be better off making an overlay or a Magisk module. It isn't trivial for a thief to detect that Magisk had been installed, at least it wouldn't be obvious at first look.
Meachamus_Prime said:
But either I'm not worthy (which would be difficult to believe after 16 years of making good money programming), or this is the most convoluted code base I've ever seen.
Click to expand...
Click to collapse
Android's codebase is very intimidating. However, it's divided into a semi-comprehensible folder structure. Don't give up, at that level of experience (waaay above mine) I'm certain you can find your way through.
Meachamus_Prime said:
I even found the right location for the change, I think, but couldn't figure out what connected where, with an IDE handling the connections for me.
Click to expand...
Click to collapse
I bet it's going to be either SystemUI or framework-res.apk.
Meachamus_Prime said:
... and why the Lineage guys hate when people ask for a release date. I won't be asking.
Click to expand...
Click to collapse
This!
But really, everybody has to start somewhere. This is your start here, and you do have some experience to help you. It might look intimidating, but it certainly isn't impossible.
I recommend trying to kick off your own build first. This should give you a good intro about how things fit together in the big picture.
Still I would like to know how one would tackle this error. I am trying to build LOS-18.1 (for lavender) and I get a similar error (just different lines: Makefile:49, build_rules:513)
Edit: I have found a workaround.