[DEV] MIUI v5 for HTC Desire X - Android Q&A, Help & Troubleshooting

Hi all,
I want to port MIUI v5 to the Desire X using patchrom based on deodexed stock ROM. I'm following https://github.com/MiCode/patchrom but am stuck at the ota_target_from_phone because I think packages.xml is missing (the apkcerts.txt is in place, checked that already). I'm getting this in terminal while running the script:
Code:
Run getfilesysteminfo to build filesystem_config.txt
131 KB/s (5572 bytes in 0.041s)
Run getfilesysteminfo and recoverylink.py to recover symlink
File "/home/daniel/patchrom/tools/releasetools/recoverylink.py", line 27
print r"%s isn't exist" % linkfile_path
^
SyntaxError: invalid syntax
Build apkcerts.txt
1704 KB/s (189866 bytes in 0.108s)
File "/home/daniel/patchrom/tools/apkcerts.py", line 16
print "Usage: python ./apkcerts.py path-to-packages.xml path-to-apkcerts.txt"
^
SyntaxError: invalid syntax
Generate metadata used to build target files...
Compress the target_files dir into zip file
/home/daniel/patchrom/desirex
Build full ota package: /home/daniel/patchrom/desirex/stockrom.zip
File "/home/daniel/patchrom/tools/releasetools/ota_from_target_files", line 103
return (info.external_attr >> 16) == 0120777
^
SyntaxError: invalid token
For your info, I didn't use repo to download the files but did a zip download of all needed directories, unpacked and renamed them. Also, I am using Arch Linux, and before you ask, python is installed and android sdk along with platform tools is installed too and added to path. I hope it doesn't matter that I use zsh shell, does it? I modified .zshrc for path. Any ideas / suggestions where to find packages.xml?

Can you work if i give ICS stockrom??/ for miui v4?

Maybe, but I think the problem will still be the same, and I definitely want to do a JB ROM with MIUI v5... What I found now: The ota_target_from_phone script pulls packages.xml from /data/system, so it should be generated by android at some point... I'll have to check and see if it is there. I'll definitely give it a go again tonight...
EDIT: When trying for the first time, I was on hboot 1.25 using Philz Touch recovery for JB hboot compiled by him (the one with incorrect fstab), so maybe that could have been the problem as well...
EDIT 2: Will try with the one fixed by atis112 now...

Tried again now with fixed recovery, didn't make any difference.
But found something: The first error appearing comes from the script "apkcerts.py" which is to be found in the miui patchrom tools directory. The relevant part of the script (the point where it crashes) is:
Code:
if len(sys.argv) != 3:
usage()
sys.exit(1)
And it is called from ota_target_from_phone like this:
Code:
python $TOOL_DIR/apkcerts.py $TARGET_FILES_DIR/packages.xml $META_DIR/apkcerts.txt
The variables are pointing to valid directories. The full scripts can be accessed here:
https://github.com/MiCode/patchrom_tools/blob/ics/apkcerts.py for apkcerts.py and
https://github.com/MiCode/patchrom_tools/blob/ics/releasetools/ota_target_from_phone for the other one.
Ideas?

Bump.
Sent from my HTC Desire X using xda premium

No one really?

So I will have to go for the MIUI forums for help, right?
Sent from my HTC Desire X using xda premium

dansou901 said:
So I will have to go for the MIUI forums for help, right?
Sent from my HTC Desire X using xda premium
Click to expand...
Click to collapse
Yup pretty much MIUI is not supported or respected around here.

So, I've opened a thread in MIUI Germany forum now, can be found here:
http://miui-germany.de/forum2/index.php?page=Thread&threadID=6565
If you still have ideas, you can post them here, too.

Does this MIUI completely work?

It's not even close to finish yet. It will work, but it needs time.
Sent from my HTC Desire X using xda premium

Related

[DEV] Building CyanogenMod 6 from source - has it compiled successfully?

(Mods - if there is a more approriate thread, please move this post to there - I was unable to find a suitable one).
Hi all,
Have been trying to build CM6 on and off for a day or two now. Coming up against errors in libxxxx.so so I 'make clobber'ed and started again.
I've had the following a couple of times over the two days:
Code:
Target system fs image: out/target/product/passion/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/passion/system.img
out/target/product/passion/system.img+out/target/product/passion/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p total size is 99641530
maxsize=$((142737408)); if [ "$total" -gt "$maxsize" ]; then echo "error: $printname too large ($total > [142737408 - $reserve])"; false; elif [ "$total" -gt $((maxsize - 32768)) ]; then echo "WARNING: $printname approaching size limit ($total now; limit $maxsize)"; fi
[I]/bin/bash: line 0: [: : integer expression expected
/bin/bash: line 0: [: : integer expression expected
[/I]Installed file list: out/target/product/passion/installed-files.txt
specifically the two lines in italics - anything to worry about? I have a newly-timestamped set of boot/userdata/system .img files in the target output folder.
Am I good to go?
It should be complete if you have out/target/product/passion/system.img
You can fastboot it to phone with boot.img.
Next time i recommend you to run "make otapackage" instead of just "make". This will create update.zip which can be flashed from recovery.
Building CyanogenMod 6.1 from source but HTC magic failed to start
Hi,
I have recently built CyanogenMod 6.1 from source to generate update zip file and use it to flash my HTC magic (Google IO). But the system won't come up completely. Using adb shell, I found the OS is up and running but all the java apps seems not running at all. Can anyone shed some lights to me? I really appreciate any of your help.
And also I was getting the latest source code of CM 6.1 and wondering what is the branch tag for stable CM 6.0 source code to get the repo?
thanks
Eric
repo is always the latest source code, make sure the u lunch/select the right device and have all the properitery libs in place n u shud have no problem
Thanks charansingh!
I was using 'lunch cyanogen_dream_sapphire-eng', I hope this is the right for my Google IO phone?
And I did use extract_file.sh to get the proprietary files in place. I will try it again. thanks.
kernel customization with HTC Hero CyanogenMod source
Hi all,
I want to build my customized WiFi driver and wpa_supplicant in HTC Hero CyanogenMod 6.1? But I found the 'kernel-msm' actually did not get compiled during the make build process. Can anyone provide me a tip of how to do it? The Hero make build process seems different than the HTC magic build process which I did see the kernel-msm got compile during the make build process.
thanks.

|SETUP| To Build AOSP On MAC [Dev's Only]

(This is not nessesary for MAC but you can have this for further use later,
In general you will need:
Python 2.4 -- 2.7, which you can download from python.org.
JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both from java.sun.com.
Git 1.7 or newer. You can find it at git-scm.com)
Setting up a Mac OS X build environment
To build the Android files in a Mac OS environment, you need an Intel/x86 machine running MacOS 10.6 (Snow Leopard).
Android must be built on a case-sensitive file system because the sources contain files that differ only in case. We recommend that you build Android on a partition that has been formatted with the journaled file system HFS+. HFS+ is required to successfully build Mac OS applications such as the Android Emulator for OS X.
Creating a case sensitive disk image
If you want to avoid partitioning/formatting your hard drive, you can use a case-sensitive disk image instead. To create the image, launch Disk Utility and select "New Image". A size of 25GB is the minimum to complete the build, larger numbers are more future-proof. Using sparse images saves space while allowing to grow later as the need arises. Be sure to select "case sensitive, journaled" as the volume format.
You can also create it from a shell with the following command:
# hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg
This will create a .dmg (or possibly a .dmg.sparsefile) file which, once mounted, acts as a drive with the required formatting for Android development. For a disk image named "android.dmg" stored in your home directory, you can add the following to your ~/.bash_profile to mount the image when you execute "mountAndroid":
# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }
Once mounted, you'll do all your work in the "android" volume. You can eject it (unmount it) just like you would with an external drive.
Installing required packages
Install XCode from the Apple developer site http://developer.apple.com/. We recommend version 3.1.4 or newer, i.e. gcc 4.2. Version 4.x could cause difficulties. If you are not already registered as an Apple developer, you will have to create an Apple ID in order to download.
Install MacPorts from macports.org.
Note: Make sure that /opt/local/bin appears in your path BEFORE /usr/bin. If not, add
export PATH=/opt/local/bin:$PATH
to your ~/.bash_profile.
Get make, git, and GPG packages from MacPorts:
$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git-core gnupg
If using Mac OS 10.4, also install bison:
$ POSIXLY_CORRECT=1 sudo port install bison
Reverting from make 3.82
There is a bug in gmake 3.82 that prevents android from building. You can install version 3.81 using MacPorts by taking the following steps:
Edit /opt/local/etc/macports/sources.conf and add a line that says
file:///Users/Shared/dports
above the rsync line. Then create this directory:
$ mkdir /Users/Shared/dports
In the new dports directory, run
$ svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Create a port index for your new local repository:
$ portindex /Users/Shared/dports
Finally, install the old version of gmake with
$ sudo port install gmake @3.81
Setting a file descriptor limit
On MacOS the default limit on the number of simultaneous file descriptors open is too low and a highly parallel build process may exceed this limit.
To increase the cap, add the following lines to your ~/.bash_profile:
# set the number of open files to be 1024
ulimit -S -n 1024
Next: Download the source
Your build environment is good to go! Proceed to downloading the source....
Why you posted this? It can be found on android's website. Also,you didn't post the whole tutorial.
why not simply install VirtualBox vor Mac and install a VM within?
...sometimes the life is complicated^^
@SWEATTAIMI did you actually manage to get a fully working build on mac? And if yes which version of OS X?
I've tried many times on OS X 10.7 and eventually ended up installing ubuntu on a separate partition...
secondary partition? what about the users here?
i use a VM on a small **** x86 notebook and can do all the development work + complete compiling. i thought a mac has much better hardware^^
I used to have ubuntu installed in vmware too but compiling took too long and it was really annoying. I rather prefer it this way... No shared resources
popdog123 said:
@SWEATTAIMI did you actually manage to get a fully working build on mac? And if yes which version of OS X?
I've tried many times on OS X 10.7 and eventually ended up installing ubuntu on a separate partition...
Click to expand...
Click to collapse
Fully working what ?
Sent from my LG-P500 using xda premium
ciaox said:
Why you posted this? It can be found on android's website. Also,you didn't post the whole tutorial.
Click to expand...
Click to collapse
This is full for mac
Its a setup only
Sent from my LG-P500 using xda premium
SWEATTAIMI said:
Fully working what ?
Sent from my LG-P500 using xda premium
Click to expand...
Click to collapse
:|
10 char
popdog123 said:
:|
10 char
Click to expand...
Click to collapse
You mean build then i have not came to that point yet as i downloaded all sources on my Japanese lesson xD
Sent from my LG-P500 using xda premium
I wonder if this will work for ICS on 4GB macbook
caslca said:
I wonder if this will work for ICS on 4GB macbook
Click to expand...
Click to collapse
Yes it will worked on a macbook 2010 version
Sent from Mexico

[Q] having alot of trouble getting sdk up and going on linux

I have spent the last to days trying to solve my error setting up sdk on linux mint12. I keep getting this error.
[Qoute]
scott-Presario-CQ62-Notebook-PC scott # apt-get -f installReading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc-bin libc6
Suggested packages:
glibc-doc
The following NEW packages will be installed:
libc-bin
The following packages will be upgraded:
libc6
1 upgraded, 1 newly installed, 0 to remove and 376 not upgraded.
3 not fully installed or removed.
Need to get 0 B/5,143 kB of archives.
After this operation, 3,432 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Can't exec "locale": No such file or directory at /usr/share/perl5/Debconf/Encoding.pm line 16.
Use of uninitialized value $Debconf::Encoding::charmap in scalar chomp at /usr/share/perl5/Debconf/Encoding.pm line 17.
Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: error: 1 expected program not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
[Qoute]
I have tried every fix I have found online and all return this exact error. I tried changing the permisons on etc/sudoers to make sure they were right. I also added a these paths.
export PATH={PATH}:/usr/local/sbin:/usr/sbin:/sbin
export PATH={PATH}:/usr/local/bin:/usr/bin:/bin
I have even placed a permission file inside sudoers.d to try to add the path but I just ended up ruining my root access and have to do a complicated fix through my bootloader.but just cant seem to get it to work I am newer to linux and know basic commands but have no idea why I keep getting the same error or how to fix it any help would be deeply appreciated.
Are you running 64 bit? You need to dl the 32 bit lib's
Now it may be cheating, but try Tommytommatoe's android utility it sets up SDK for you and adds everything to your path... It's my go to for stubborn SDK
Sent from my PC36100 using xda premium
Yea it 64bit and I added the 32 bit libs for java but it gives the error when I try that to. I guess I will try that tanks man
Sent from my ADR6425LVW using XDA
Are you using an installer script or something like that?
RoberGalarga said:
Are you using an installer script or something like that?
Click to expand...
Click to collapse
No just piece by piece did java then unpacked SDK in my root dir and update it installed the API and all that then when I try to use adb it says their is no command and all the fixes make the error I described at first.
Sent from my ADR6425LVW using XDA
Ok... you don't need any fixes... you can simply move to platform-tools directory (using command cd /path/to/platform-tools) to can run ./adb command (note: ./adb, not adb).
RoberGalarga said:
Ok... you don't need any fixes... you can simply move to platform-tools directory (using command cd /path/to/platform-tools) to can run ./adb command (note: ./adb, not adb).
Click to expand...
Click to collapse
Really now I feel dumb lol. Guess I'm to used to windows been developing on it for a while. Thanks a lot.
Sent from my ADR6425LVW using XDA
Well thanks for all your help guys I guess I had a bad download of linux so I did a new clean install and setup SDK and apktool and dsixdas kitchen. Now everything works fine. No sudo errors or nothing the good news is with all the trying to fix what was wrong I got used to root being / instead of c:/ so that's a bonus
Sent from my ADR6425LVW using XDA

[Q&A] [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM

Q&A for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
[MIUI PATCHROM for WALTON PrimoF2[How to solve this??Please somebody help me...
Code:
[email protected]:~$ cd patchrom
[email protected]:~/patchrom$ . build/envsetup.sh
PATCHROM_BRANCH = jellybean42-mtk
ANDROID_PLATFORM = v17
PORT_ROOT = /home/atiq/patchrom
ANDROID_TOP =
ANDROID_OUT =
PORT_PRODUCT = Unknown
USE_ANDROID_OUT =
ANDROID_BRANCH =
[email protected]:~/patchrom$ cd primof2
bash: cd: primof2: No such file or directory
[email protected]:~/patchrom$ mkdir primof2
[email protected]:~/patchrom$ cd primof2
[email protected]:~/patchrom/primof2$ /home/atiq/patchrom/tools/releasetools/ota_target_from_phone -n
Wait for the device to be online...
Copy target file template into current working directory
Warning: the ota package will not contain bootimage!!!
Maybe you forget to pass the ota-package parameter.
Are you sure this is really what you want(yes/no):yes
Build recovery.fstab from device
Extract the whole /system from device
pull: building file list...
1423 files pulled. 0 files skipped.
2943 KB/s (570754099 bytes in 189.331s)
Remount /system to be writable
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):yes
/system/xbin/getfilesysteminfo: No such file or directory
Run getfilesysteminfo to build filesystem_config.txt
125 KB/s (5572 bytes in 0.043s)
Run getfilesysteminfo and recoverylink.py to recover symlink
Recovery link files success
Build apkcerts.txt
failed to copy '/data/system/packages.xml' to '/home/atiq/patchrom/primof2/out/target_files/packages.xml': Permission denied
Error: /home/atiq/patchrom/primof2/out/target_files/packages.xml doesn't exist or isn't a vaild xml file
rm: cannot remove ‘/home/atiq/patchrom/primof2/out/target_files/packages.xml’: No such file or directory
Generate metadata used to build target files...
Compress the target_files dir into zip file
/home/atiq/patchrom/primof2
Build full ota package: /home/atiq/patchrom/primof2/stockrom.zip
unzipping target target-files...
using device-specific extensions in .
unable to load device-specific module; assuming none
[MIUI CUST] OTA: copy data files
[MIUI CUST] OTA: handle relink
[MIUI CUST] OTA: SetPermissions
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
done.
[email protected]:~/patchrom/primof2$
Where should I put the bellow commands
Code:
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):
here?? After this line?? Here I have only two option to input "yes" or "no" in this shell. Otherwise it shows too many arguments. Please tell me where to put those commands exactly?? another question: Is everything OK there except "packages.xml". I manually copied the packages.xml file from my device and paste it to target_files then zipped it. Will it work?? Please help..
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Mysteryagr said:
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Click to expand...
Click to collapse
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
zelendel said:
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
Click to expand...
Click to collapse
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Mysteryagr said:
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Click to expand...
Click to collapse
To be honest I have no other ideas. Devices with that chip maker are not sold in my country.
@zelendel
What is the difference between
make firstpatch
Click to expand...
Click to collapse
and
make second patch
Click to expand...
Click to collapse
?
Mysteryagr said:
@zelendel
What is the difference between
and
?
Click to expand...
Click to collapse
I don't know. To be honest I wouldn't touch miui with a 10 foot pole personally.

[HELP] Compiling Android from source (sm-g360f)

Hi there,
I have Samsung Galaxy Core Prime LTE and I could not find any custom ROMs so I decided that I will try to compile it myself. I downloaded the LineageOS source code from git (cm 14.1), the device trees and kernel from here: github/MSM8916-Samsung, and the samsung vendor files from the extraxt-files.sh script. The qcom-common files from here: github/CyanogenMod/android_device_samsung_qcom-common. Then I set up the environment (source build/envsetup.sh), ran breakfast and everything went fine. And then came brunch... It's running for about 40-50 minutes, and then stopes because "ninja: build stopped: subcommand failed". Here's the output from my terminal: https:/ /drive.google.com/fi le/d/0Bzbi _UspTWqac3ZkV2RhRjJGeW8/view?usp=drivesdk (remove spaces - sorry for that, but I cannot add links yet)
If the ninja log is needed I will post it.
Can someone help me to understand the code and find out why it is failing?
(I am new to developing stuff, but I have already compiled programs back in the days, and I am familiar with Linux, which is my daily driver)
what version of linux are you using at the moment?
Ubuntu 17.04, but I have also tried it on 16.10 last week, and openjdk-8
wasowski02 said:
Ubuntu 17.04, but I have also tried it on 16.10 last week, and openjdk-8
Click to expand...
Click to collapse
I can't speak for others but I have not had success building anything android on 15.10,16.04,16.10... I always end up on a wild goose chase with all the compiling errors. I have consistently compiled without errors using 14.04 with oracle java 8 as that is what many of the manufacturers are using to make their own builds. If or oracle spits errors with 14.04 i try to use the rule of thumb and thats openjdk-6 and jre for LP, openjdk-7 and jre for MM and openjdk-8 for nougat builds but im only working on MM builds at the moment so your results may vary. Hope this helps a bit, just remember you can use sudo update-alternatives --display java to switch versions on the fly if needed and make sure you incorporate Google prebuilts as well. good luck ?
Sent from my LGLS676 using Tapatalk
Sands207 said:
I can't speak for others but I have not had success building anything android on 15.10,16.04,16.10... I always end up on a wild goose chase with all the compiling errors. I have consistently compiled without errors using 14.04 with oracle java 8 as that is what many of the manufacturers are using to make their own builds. If or oracle spits errors with 14.04 i try to use the rule of thumb and thats openjdk-6 and jre for LP, openjdk-7 and jre for MM and openjdk-8 for nougat builds but im only working on MM builds at the moment so your results may vary. Hope this helps a bit, just remember you can use sudo update-alternatives --display java to switch versions on the fly if needed and make sure you incorporate Google prebuilts as well. good luck ?
Click to expand...
Click to collapse
Then I will try 14.04 and see what happens. Thanks for help
@Sands207 Is there by any chance a site where you can learn to do this? Tutorial for noobs of sort.
Sent from my SM-N920P using Tapatalk
ninja_unmatched said:
@Sands207 Is there by any chance a site where you can learn to do this? Tutorial for noobs of sort.
Click to expand...
Click to collapse
Yes, luckily for us xda members we have our own Android college built right into xda https://forum.xda-developers.com/general/xda-university its a great starting point and rom compiling guide is also there. Its all aimed to help new folks find their way ? jump right in ?
If you need TWRP for it I have it. It was built by blaz3r64, but since AA51 is down I can upload it for you. I can confirm that it works on both the ST Galaxy Core Prime and the Boost Prevail LTE.
Sent from my XT1609 using Tapatalk
RealWelder said:
If you need TWRP for it I have it. It was built by blaz3r64, but since AA51 is down I can upload it for you. I can confirm that it works on both the ST Galaxy Core Prime and the Boost Prevail LTE.
Click to expand...
Click to collapse
So I have already downloaded the official TWRP, but thanks for your interest.
I have tried to compile using ubuntu 14.04 (with openjdk-8) as @Sands207, but I get this error:
Code:
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/bison/bison -d --defines=/home/karol/android/system/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.h -o /home/karol/android/system/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.cpp system/tools/aidl/aidl_language_y.yy"
/bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory
wasowski02 said:
So I have already downloaded the official TWRP, but thanks for your interest.
I have tried to compile using ubuntu 14.04 (with openjdk-8) as @Sands207, but I get this error:
Code:
FAILED: /bin/bash -c "prebuilts/misc/linux-x86/bison/bison -d --defines=/home/karol/android/system/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.h -o /home/karol/android/system/out/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_y.cpp system/tools/aidl/aidl_language_y.yy"
/bin/bash: prebuilts/misc/linux-x86/bison/bison: No such file or directory
Click to expand...
Click to collapse
I recommend trying this keychain as it has full support for what you are attempting https://forum.xda-developers.com/showthread.php?t=3606941 I have tried it myself but Id recommend cleaning your build folder before incorporating them, maybe even a reboot as well. i had forgotten about this but it has far more tools than the normal keychain.
Sent from my LGLS676 using Tapatalk
---------- Post added at 04:29 PM ---------- Previous post was at 04:22 PM ----------
remember to select the right architecture ??
Sent from my LGLS676 using Tapatalk
Sands207 said:
I recommend trying this keychain as it has full support for what you are attempting https://forum.xda-developers.com/showthread.php?t=3606941 I have tried it myself but Id recommend cleaning your build folder before incorporating them, maybe even a reboot as well. i had forgotten about this but it has far more tools than the normal keychain.
Sent from my LGLS676 using Tapatalk
---------- Post added at 04:29 PM ---------- Previous post was at 04:22 PM ----------
remember to select the right architecture ?
Click to expand...
Click to collapse
So I downloaded the new toolchain/keychain/cross compiler (just to make sure - this is the same, yes?), but I cannot find how to choose it to compile android. The official post says:
Code:
# for arm64
export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-gnu-
but as I'm not compiling the kernel I assume it is not what I need (I think) and
Code:
echo $CROSS_COMPILE
does not return anything by default. If I should have used the export function then which file should I choose, because there are many (-strip, -strings, -size, -run, etc.).
There is a directory called toolchain (it contains only binutils) in the folder containing the source code. Should I add a folder called gcc and put the files there? Or maybe I have to run brunch with some options or change an entry in a configuration/make file?
I use the aarch64 version, but not the newest (20170515 not 20170520).
wasowski02 said:
So I downloaded the new toolchain/keychain/cross compiler (just to make sure - this is the same, yes?), but I cannot find how to choose it to compile android. The official post says:
but as I'm not compiling the kernel I assume it is not what I need (I think) and
does not return anything by default. If I should have used the export function then which file should I choose, because there are many (-strip, -strings, -size, -run, etc.).
There is a directory called toolchain (it contains only binutils) in the folder containing the source code. Should I add a folder called gcc and put the files there? Or maybe I have to run brunch with some options or change an entry in a configuration/make file?
I use the aarch64 version, but not the newest (20170515 not 20170520).
Click to expand...
Click to collapse
I do think as you said you will need to run brunch but resetting up your build & source environment to use the new keychain as you attempted to switch from one keychain to the other as well may help if this doesn't work as well take a look at your build configuration. rc file and make sure you don't have double entries or the new keychain missing i usually import the prebuilts i need as I am using arm architecture at the moment but i either download the individual keychain i need and place it in my source folder when i setup my build environment to be added to the build along with my sources before i run lunch because my source folder is untouched by me besides that at that point. I'll be home in an hour or so I'm going to see if i can track down some info to help you get untangled but i do recommend downloading the folder and making a gcc folder with the toolchain folder for arm64 as you said and and adding it to your build ensuring it is clean besides what you need and adding it then attempt to compile again.
I'm​ not sure if I should use aarch64. I have an armv7-a-neon (so 64-bit) and the internet says that aarch64 and arm64 is pretty much the same, but maybe I am wrong and I should use arm instead. But I think that does not matter until I put the new toolchain both to the aarch64 and arm directory (I guess the compilation process will choose the right one automatically). So I've put the compilers into prebuilts/gcc/linux-x86/... folders, but should I delete the old compilers? And then run the environment setup again (all this stuff starts to make sense to me ?)
Sent from my SM-G360F using Tapatalk
wasowski02 said:
I'm​ not sure if I should use aarch64. I have an armv7-a-neon (so 64-bit) and the internet says that aarch64 and arm64 is pretty much the same, but maybe I am wrong and I should use arm instead. But I think that does not matter until I put the new toolchain both to the aarch64 and arm directory (I guess the compilation process will choose the right one automatically). So I've put the compilers into prebuilts/gcc/linux-x86/... folders, but should I delete the old compilers? And then run the environment setup again (all this stuff starts to make sense to me )
Sent from my SM-G360F using Tapatalk
Click to expand...
Click to collapse
Yes you should delete the old ones and set up your enviroment again and it should include them. Also yes the compile proccess should pick the correct one in your case as long as you include them and you have, you are heading in the right direction for sure. :good:
Sands207 said:
Yes you should delete the old ones and set up your enviroment again and it should include them. Also yes the compile proccess should pick the correct one in your case as long as you include them and you have, you are heading in the right direction for sure. :good:
Click to expand...
Click to collapse
So I deleted the old ones and I get this error:
Code:
ninja: error: 'prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-strip', needed by '/home/karol/android/system/out/target/product/coreprimeltexx/obj/lib/libdl.so', missing and no known rule to make it
I guess it's because somewhere in a configuration file there is an entry for the old compiler. I have deleted the out directory and played with the envsetup.sh file (about line 210 there is something about compilers),
Code:
# defined in core/config.mk
targetgccversion=
targetgccversion2=
export TARGET_GCC_VERSION=$targetgccversion
# The gcc toolchain does not exists for windows/cygwin. In this case, do not reference it.
export ANDROID_TOOLCHAIN=
export ANDROID_TOOLCHAIN_2ND_ARCH=
local ARCH=$(get_build_var TARGET_ARCH)
case $ARCH in
x86) toolchaindir=x86/x86_64-linux-android-$targetgccversion/bin
;;
x86_64) toolchaindir=x86/x86_64-linux-android-$targetgccversion/bin
;;
arm) toolchaindir=arm/arm-linux-androideabi-$targetgccversion/bin
;;
arm64) toolchaindir=aarch64/aarch64-linux-android-$targetgccversion/bin;
toolchaindir2=arm/arm-linux-androideabi-$targetgccversion2/bin
;;
mips|mips64) toolchaindir=mips/mips64el-linux-android-$targetgccversion/bin
;;
*)
echo "Can't find toolchain for unknown architecture: $ARCH"
toolchaindir=xxxxxxxxx
;;
esac
but this did not work either. The ninja files don't contain any gcc configuration. So where can I find the right configuration file? (I can't find the suggested configuration.rc file)
wasowski02 said:
So I deleted the old ones and I get this error:
I guess it's because somewhere in a configuration file there is an entry for the old compiler. I have deleted the out directory and played with the envsetup.sh file (about line 210 there is something about compilers),
but this did not work either. The ninja files don't contain any gcc configuration. So where can I find the right configuration file?
Click to expand...
Click to collapse
I usually compile using clang or maven as I only build AOSP atm https://ninja-build.org/manual.html this page includes directions that should assist you. Do you have maven or clang installed on your linux box?
Sands207 said:
I usually compile using clang or maven as I only build AOSP atm https://ninja-build.org/manual.html this page includes directions that should assist you. Do you have maven or clang installed on your linux box?
Click to expand...
Click to collapse
So it seems that nor klang nor maven is installed on my machine (but as my computer claims ninja is not installed either I guess that they may be installed somewhere in the build directories). Should I try them instead of ninja?
wasowski02 said:
So it seems that nor klang nor maven is installed on my machine (but as my computer claims ninja is not installed either I guess that they may be installed somewhere in the build directories). Should I try them instead of ninja?
Click to expand...
Click to collapse
yes absolutely
Sands207 said:
yes absolutely
Click to expand...
Click to collapse
So what I understand is:
(1) Install maven or clang (let's say clang because I found it in the official ubuntu repository)
(2) Configure brunch to use clang instead of ninja
So I checked the internet if there are any options I can use with brunch to run clang, but I didn't find any. Also looked through the envsetup.sh file, but there is nothing there, or I missed it.
wasowski02 said:
So what I understand is:
(1) Install maven or clang (let's say clang because I found it in the official ubuntu repository)
(2) Configure brunch to use clang instead of ninja
So I checked the internet if there are any options I can use with brunch to run clang, but I didn't find any. Also looked through the envsetup.sh file, but there is nothing there, or I missed it.
Click to expand...
Click to collapse
tonight i will try doing some digging to see if i can help you. im away from my computer right now but ill do what i can. i would try would maven. clang assists with aosp primarily but maven should work for you as far as using a custom command to run maven, log out or reboot after you install it and run brunch as you normally would also please read this https://clang.llvm.org/comparison.html

Categories

Resources