Cross-compiling, what am i doing wrong - Android Software Development

Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?

Richard_Xeli said:
Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?
Click to expand...
Click to collapse
Hello,
i am having problems with the linker too! i am using the NDK (because it actually does C / C++ code) and the code compiles with very few warnings on some instructions but works well otherwise, it just WOULD NOT LINK the stuff together!! one interesting setting i noticed in some public makefiles for the NDK i noticed is that they actually set the linker to /system/bin/linker, which is obviously a file on the target device. but i don't know how it would access it? any ideas?
BTW: post your error(s) please

Try this
The system won't let me post a link (as a new user), however there is a really good tutorial on native android development and debugging using the AOSP build system. Search on Aton International Incorporated and click on blogs in the menubar. I am in no way associated with the company, just happy to finally be able to cross-compile, link and debug for android.
Maybe someone who has more posts could post a link here.

http://www.aton.com/android-native-development-using-the-android-open-source-project/

Related

Compiling Cryptophone

Because it seems to be a often requested topic I wanted to give back my experince with compiling the in topic mentioned source code and how really value it is for anything.
I started this because I got the code for review for a intrested customer but my experince with arm and gcc is rather low. So i started reading up on the cross compiler and came accros serveral dificults with the build enviorment.
First the code seemed to be aimed to a rather old version of gcc, newer cross compiler toolchains won't compile it.
So I obtained a 2004 linux (redhat 8) which fitted best in the time mentioned in the headers source was last edited. On this system I was able to build the cross-arm toolchain like mentioned in the readmes without any problem.
With the builded toolchain I was also able to compile celp_fxp and with the make file. i mentioned that in the makefile there is a (intentionally) added error. After the last source file there was fxlp.c added which is not a file present in the tree. After removing this the .o files builded fine.
I imported the .o files produced back to windows Embended Visual C++, opened the project and started a compile like further explainedin the readme docs. Sadly I now face this error:
acb_parm.o : fatal error LNK1190: invalid fixup found, type 0x0010
It is possible this error occures from a wrong compiled gmp libary for which no build isntructions were given. If anybody has any value information on this I would greatly appriciate this. As I said earlier I had really no experince with gcc form cross arm before i started here. I always left out linux compiler of my embended world.
I am working on this now since a few days, maybe someone else got experince in this he/she wants to share. Thansk for reading.

Poking around the Source Code

I am trying to find information on how to poke around my own phone's source code (if possible, Sprint HTC Hero) and also the Android Source Code which is downloadable.
I'd like to see how the apps look, and how I could change them. I also want to know how to go about editing and loading that source code up on a phone.
Is this possible with my phone? Or do I need a special phone to do so? I'd like to know how these folks are going about creating these special ROMs for phones, and how someone can edit it to their liking, and then compile it for a specific device.
source.android.com is where you should find what you need.
I did find that, and it works someone, but the address isn't right, and for some reason I can't install an older version of Java on my Ubuntu VM. Maybe because it's 10.4? Has anyone else been able to download the source code via Google's instructions? On a newer machine?
sstrickland816 said:
I did find that, and it works someone, but the address isn't right, and for some reason I can't install an older version of Java on my Ubuntu VM. Maybe because it's 10.4? Has anyone else been able to download the source code via Google's instructions? On a newer machine?
Click to expand...
Click to collapse
If you add the Jaunty repositories to your sources.list file you should be able to download sun-java5-*
If i find the exact apt lines I will post them later.
Another thought - Switch to Debian Lenny - I switched from Ubuntu after I upgraded to 10.04 and absolutely hated 10, but I am loving Lenny.
EDIT:
add
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
to your /etc/apt/sources.list
then do
apt-get update
apt-get install sun-java5-jre sun-java5-jdk
Thanks for the update, I'll try that and see how far I get.
From what I gathered, Ubuntu was the only supported Linux operating system that I'd be able to get the source code of Android for...
I understand that the size of Android is so massive, an organized way to download it is necessary, but why isn't this just simple like FTP access?

[Q]andriod kernel of mega is same like wildfire by proof!!!

http://htc-linux.org/wiki/index.php?title=Mega
i read that the kernel is same wont that help porting andriod with respect to some drivers change!!!
no one answered
the problem is our first developer can't keep the android project...
hi
how can i debug this files and run???
currently I'm trying to cross-compile a most recent wildfire kernel I found on htc server using a configuration I personally made for our mega. The problem is there are many errors in the source code...
re.:
In my opinion we start build android from beginning. My problem is in my OS on my PC. I have Windows XP and building and modifing found only on Linux. I find this page with porting guide. It is step by step How to create boot screen, How to setup Connectivity...
source.android.com/porting/bring_up.html
On this page are programs for debug and download android source code...
Anyone write.
Move to general as not rom development
I'm using linux, this is why I want to try to cross-compile a kernel for our device, like I just said, source code has a large number of errors, I don't know why...
if you are interested, I can share the kernel configuration I made myself...
Now I install Ubuntu 10. It was compilation found in this version of Linux??? Where programs can I download? Now I have Git, Eclipse and Python 2.7. How can I install .tar packs on Ubuntu zito882000?
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
re.:
zito882000 said:
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
Click to expand...
Click to collapse
windows is gold.
with compilation i haven't any experience. I only begin in programming languages C, C++ and VB. I compile only my apps in visual studio. And i have nice experience with photoshop.
it isn't exactly the same thing, in a kernel you have a large number of drivers to compile, not a only one program...
Here cyberciti.biz/tips/compiling-linux-kernel-26.html you can find a simple guide!
The most important part is the command "make" that need some different parameters to do a cross-compilation for ARM processors ^^
thx
I saw the instructions and understand him. If I somehow help you write to my icq: 484038954 or Skype: vasek-smekal.
So far, thanks
I just bought an HTC Hero with native android.
If you want to try again I share with you my kernel configuration file and a link where you can download the kernel source I used.
(remember to rename "config.txt" in ".config" with the point and without the extension)
KERNEL SOURCE -> http://developer.htc.com/ (must choose "HTC Wildfire - Froyo - 2.6.32 kernel source code")
ARM LINUX GCC -> http://www.handhelds.org/download/projects/toolchain/archive/arm-linux-gcc-3.3.1-030820.tar.bz2

[Q] Modifying AOSP Calendar issue

Hi, so I'm a student learning Android app development and trying to modify the AOSP calendar to fit my needs so I downloaded the source code from git and made a project with 2.2 FroYo as the basis through Eclipse with ADT and all but I ran into a problem. So I run into:
android.provider.Calendar cannot be resolved into a variable
I did some research and found that the SDK apparently does not have the calendar code nor the database which is why I am running into these issues. So I learned from here jimblackler[dot]net/blog/?p=151 all that. He does have a solution except I have no idea what he is saying. He posted a bunch of code but I have no idea where that code is supposed to go in and I dont understand what he is trying to do with "content://calendar/calendars"
So I just decided to ignore the errors and obviously I couldn't compile it through eclipse so I made an unsigned apk and tried to install it unto the Emulator via ADB but as an unsigned apk it would not let me install it I tried to sign it by going through google's developer site but I am at lost again. I'm a noob to these things unfortunately..
I was wondering if anybody could help me out and point me in a good direction, I would be eternally grateful. Thanks.
P.S. Sorry if I was being vague about the google's developer site and source code site but as a newbie I can't post links properly
P.P.S. Sorry for double posting already on the app forum but after posting I thought this was the more proper forum to ask the question.

Issues with compiling libhybris in scratchbox2 target

Sup XDA, there is one question about porting the sailfish OS. I am guided by the official documentation, according to the latest guide on HADK - https://sailfishos.org/wp-content/u...OS-HardwareAdaptationDevelopmentKit-2.0.1.pdf
I encountered a problem with the point 7.2.1. When performing the rpm/dxd/helpers/build_packages.sh. there is installation and assembly of packages, but it breaks off when creating a middlevare, namely, the libhybris. Here is the complete log of the assembly - https://paste.debian.net/plain/997702
As I understood from the logs myself to build the libhybris, I need to use the compiler with C++11 support, but in the scratchbox2 the old version of the gcc-4.6.3 version is used, which does not understand the standart C++11. I tried to change the CFLAGS from "--std=gnu++11" to "--std=gnu++0x" , but the libhybris does not compile with the flag of the old standards.
What do you propose to do? How to update the compiler in a scratchbox2 target?
P.S. wrote it via google translate, dont be offended pls
memewarrior said:
Sup XDA, there is one question about porting the sailfish OS. I am guided by the official documentation, according to the latest guide on HADK - https://sailfishos.org/wp-content/u...OS-HardwareAdaptationDevelopmentKit-2.0.1.pdf
I encountered a problem with the point 7.2.1. When performing the rpm/dxd/helpers/build_packages.sh. there is installation and assembly of packages, but it breaks off when creating a middlevare, namely, the libhybris. Here is the complete log of the assembly - https://paste.debian.net/plain/997702
As I understood from the logs myself to build the libhybris, I need to use the compiler with C++11 support, but in the scratchbox2 the old version of the gcc-4.6.3 version is used, which does not understand the standart C++11. I tried to change the CFLAGS from "--std=gnu++11" to "--std=gnu++0x" , but the libhybris does not compile with the flag of the old standards.
What do you propose to do? How to update the compiler in a scratchbox2 target?
P.S. wrote it via google translate, dont be offended pls
Click to expand...
Click to collapse
Heyyo, the guide has a messed up sb2 section.
I can't load your Pastebin link but please check my thread here to see how I resolved the bad sb2 guide
https://together.jolla.com/question/172682/unknown-tag-systemd_requires/
Also, just in case you get stuck on 8.5 of that guide here's how I fixed that too
https://together.jolla.com/question...cregister-for-85-building-the-image-with-mic/

Categories

Resources