yashsingh1/xdaforums huggingface dataset:
[Desire Android Development] torwag:
Get some website running.

Hi again,

I believe that this project got enough inertia and potential to deserve a own website maybe with a Wiki etc.

It is getting difficult to parse this single thread for all the Infos.

After having a own dedicated website some noise on the typical Blogs and channels might attract even more interested people and devs.

Maybe contact CM devs and see if they want to incorporate your idea.

I tried to install glibc but during the installation errors were spilled out.

At the moment I am a bit lost what is the present state. Guess many others might have the same problem.
[Desire Android Development] theGanymedes:
Don't worry torwag, I already have that idea and it'll happen. I just can't find time to make it yet. Maybe after my finals :) I already obtained a free hosting account, so I'm halfway ready :)

Droidzone: give ./configure the flag of "--host=arm-linux" (or arm-xxx-linux-gnueabi, if you made the toolchain with my guide - don't forget to change the xxx to your vendor). If you do that, you don't need to give make any extra stuff (can just call "make" and done).

If you want to do this method, then give CC your compiler name, completely; not just prefix: make CC="arm-bravo-gcc --static"
[Desire Android Development] theGanymedes:
How to compile applications tutorial: http://xdaforums.com/showthread.php?p=21061229
[Desire Android Development] Droidzone:
Hi..I tried making a new toolchain for my virtual machine, starting from scratch..

I thought it might be worthwhile to mention in the OP notes that sometimes the recommended version of gcc/glibc etc is not shown by default in ct-ng, and needs to be added by command line before building, with lines similiar to these:

From within the dir containing configure script, run

./scripts/addToolVersion.sh --gcc -s -c 4.6.2
./scripts/addToolVersion.sh --glibc -s -c 2.13

Then make install.

Then go to your prefix dir, and then run menuconfig again. Now you can see that the new versions magically appear... If you want, you can now manually wget the updated bins and copy to the tarballs dir

I used these commands since Ganymedes recommended these versions:

./scripts/addToolVersion.sh --binutils -s -c 2.20.1a
wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.1a.tar.bz2
./scripts/addToolVersion.sh --gcc -s -c 4.6.1
wget http://ftp.gnu.org/gnu/gcc/gcc-4.6.1/gcc-4.6.1.tar.bz2
wget http://ftp.gnu.org/gnu/glibc/glibc-2.1.3.tar.gz

Also some dependencies need to be installed if one is starting from a barebones Ubuntu..

sudo apt-get install gawk bison flex texinfo automake libtool cvs curl aria2 patch lzma libncurses5-dev g++ openjdk-7-jre-headless build-essential
[Desire Android Development] theGanymedes:
New Advances

Thank you very much everybody, for your support.

I got good news: Xorg is running very well now. I managed to write a simple Xorg Container application as well; and seems like it's doing its job well :)

Another advancement is: Enlightenment WM is also compiled! Since it was also relying on udev and dbus; they're also compiled and seems like they are running well :)

The thing now is: I only get a cursor when Enlightment runs - most probably because I didn't compile anything else (something like a file manager, tray bar etc perhaps? Will see if this is the case). Also, Vim doesn't use Enlightenment - maybe I need to recompile it as well with E support.

Since the project is like a Linux distro under Android, I want to give the process on this direction. I'll still compile everything for Android - that's everything will run under Android, but it'll be possible to change into a Linux interface (with a click) just like running an Android application. I thought this was necessary because it wouldn't be very useful to have a Linux window manager on your device otherwise - how would you run applications otherwise, right? :)

So, soon I'll upload everything to the server. I also changed some old packages as well, to make them "upgreadable".

See you around
[Desire Android Development] ggolemg:
I know you're busy with everything, but I'd just like to thank you again for all of this and if anyone could post some screenshots that would be great.

Edited for clarification on 1/10/2012:

Screen shots of anything x based, including enlightenment wm.

*No rush* 5 days from now or 5 weeks, I think we all can appreciate the work and time invested in this. We all have lives of our own and eek out the tiniest bit of free time to devote to projects such as this.
[Desire Android Development] theGanymedes:
If you're asking for Xorg Screen shots: well, nothing yet for since there is no output but black screen when Xorg runs :) Once I compile Enlightenment successfully as well, there shall be screen shots and the packages uploaded too :)

So please wait a little more :)
[Desire Android Development] gabx:
Did you alread have alook at the Tizen project?

They are using EFL on android device.

Under the dev section, you can find sources.

https://www.tizen.org/

Don't know if it can help.
[Desire Android Development] theGanymedes:
Thanks, but Tizen is created with the same idea as Android: creating a complete framework. On the other hand, all I'm tring to do is merging Android and Linux more - more like Linux From Scratch...

Thanks a lot, though, It might really help: There is so little about debugging Enlightenment yet..
[Desire Android Development] Droidzone:
Got another compilation issue while compiling mc for the phone:

/home/droidzone/x-tools/arm-msm-linux-gnueabi/lib/gcc/arm-msm-linux-gnueabi/4.6.2/../../../../arm-msm-linux-gnueabi/bin/ld: /usr/lib/i386-linux-gnu/libglib-2.0.a(gconvert.o): Relocations in generic ELF (EM: 3)
/home/droidzone/x-tools/arm-msm-linux-gnueabi/lib/gcc/arm-msm-linux-gnueabi/4.6.2/../../../../arm-msm-linux-gnueabi/bin/ld: /usr/lib/i386-linux-gnu/libglib-2.0.a(gconvert.o): Relocations in generic ELF (EM: 3)
/usr/lib/i386-linux-gnu/libglib-2.0.a: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [mc] Error 1
make[2]: Leaving directory `/home/droidzone/compile/mc-4.6.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/droidzone/compile/mc-4.6.1'
make: *** [all] Error 2
droidzone@supernova:~/compile/mc-4.6.1$ kate /usr/lib/i386-linux-gnu/libglib-2.0.a &
[1] 27734

Initial steps

./configure --prefix='/home/droidzone/mca' --host=arm-msm-linux-gnueabi

which gives me:
make[2]: Entering directory `/home/droidzone/compile/mc-4.6.1/src'
arm-msm-linux-gnueabi-gcc -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -g -O2 -o mc achown.o background.o boxes.o chmod.o chown.o cmd.o color.o command.o complete.o cons.handler.o dialog.o dir.o execute.o ext.o file.o filegui.o filenot.o fileopctx.o find.o findme.o glibcompat.o help.o hotlist.o info.o key.o keyxdef.o layout.o learn.o listmode.o main.o menu.o mountlist.o mouse.o option.o panelize.o popt.o poptconfig.o popthelp.o poptparse.o profile.o regex.o rxvt.o screen.o setup.o slint.o subshell.o textconf.o tree.o treestore.o user.o util.o utilunix.o view.o widget.o win.o wtools.o x11conn.o ../edit/libedit.a ../slang/libmcslang.a ../vfs/libvfs-mc.a -lglib-2.0 -lnsl
/home/droidzone/x-tools/arm-msm-linux-gnueabi/lib/gcc/arm-msm-linux-gnueabi/4.6.2/../../../../arm-msm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
collect2: ld returned 1 exit status
make[2]: *** [mc] Error 1
make[2]: Leaving directory `/home/droidzone/compile/mc-4.6.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/droidzone/compile/mc-4.6.1'
make: *** [all] Error 2

So I did:

I had done:

./configure --prefix='/home/droidzone/mca' --host=arm-msm-linux-gnueabi --with-glib-static

which gives me the error noted on top.

Any ideas for a fix?

Edit: I have to compile gtk and glib-2 with my toolchain? If I have to compile dependencies for a package, where do I drop them in for the compiler to recognize them? My toolchain is at ~/x-tools/arm-msm-linux-gnueabi
[Desire Android Development] theGanymedes:
You have to compile Glib and it's dependencies as far as I can see. Wherever you install them (I usually do them in /data folder in my pc), you have to give the configure script the location (sometimes --with-glib=<location> helps, sometimes you have to trick the include directories with CC variable - like CC="arm-msm-linux-gnueabi-gcc -isystem<location>/include -L<location>/lib" - which is the method I usually use). Alternatively, you can install them to the default sysroot path - which is ~/x-tools/arm-msm-linux-gnueabi/arm-msm-linux-gnueabi/sysroot path (you have to set --prefix (in configure) and/or DESTDIR (during make install) accordingly to this location).

Just because of dependency hell of Glib, I picked Enlightenment as the WM; but apparently, eventually, I have to compile GTK and Glib too.. :/
[Desire Android Development] theGanymedes:
Also, another side note: if you recieve an error like "Relocations in ELF", it's mostly because the compiler uses the wrong library - it uses the PC's libraries instead of cross-compiled ones - and this would always yield an error. Once this happened, you should make sure you compiled the mentioned libraries/packages and then check your include-prefix-library flags. This sometimes requires you to do changes in source files and/or configure scripts.

This is where it gets messy :)
[Desire Android Development] theGanymedes:
EUREKA! E17 in DESIRE!

HEY GUYS!

GOT YOU VERY HAPPY NEWS!

Enlightenment Window Manager is now natively runs under Android. Check it out ;)

Screenshot is here

Soon, I'll upload everything ;)

Keep it up ;)

EDIT: Good thing is: you don't have to format - reflash or whatsoever! It runs like an Android application :)
[Desire Android Development] Droidzone:
Excellent news indeed! Way to go. Do you remember saying that it could be possible to cross compile a toolchain that can work on the Desire? Do you think you could make one? I'd find it useful for making kernels.. I'm missing a laptop. Though it remains to be seen whether our snapdragon is capable of this kind of work.

We have beautiful Android apps for editing code. If we can compile too, it'd be amazing.
[Desire Android Development] Droidzone:
Eww.. I think it's best kept for when I have more time. My distro has suddenly stopped building modules. Modpost completed, 0 modules. pulled my hair out trying to figure out why. Considering reinstalling Ubuntu.. :(
[Desire Android Development] Chaosz-X:
Wow, this is really amazing :D

For Funk: bit delay there, I'm working on a new AOSP ROM now, and planning on implementing these mods as native features (so in Settings, you can find the option 'Install Packages', and that stuff :) )

Hope to release in about 2 weeks :)
[Desire Android Development] theGanymedes:
Well, I already have a compiled GCC. I know Desire can use that, because I compiled stuff under it whilst using native Debian in it. However, in order to make GCC work; you need header files and possibly static libraries. Header files are OK but static libraries are huge and I don't have a server which I can upload them :)

Don't worry, I just compiled them as well.. Will upload them to repo tonight; so run "apt-get update" tomorrow and you can download them ;)

That's OK. I have time now, since I've ended this term at uni. I can even work on something myself now, too, if you are busy ;)

I'm attaching a simple APK here: this is an application that empties the screen and prevents Android messing with it, so that X (and Enlightenment) can work on screen freely. Note that, it's still on pre-beta.

It'll acquire wake lock in order to prevent the screen from locking; however I'm working on the issue as well. This should be enough just to see what I've done so far :)

PS'es:

1- Don't forget to calibrate your touchscreen with ts_calibrate somewhere - just find an empty screen somewhere and run it on the console:)

2- Trackpad click event isn't send until you move cursor a little bit (even just bit is enough) - this is because of Xorg mouse driver, not understanding the "click" event properly and I just don't want to write a driver for it :)

3- Touchscreen is not working "perfectly" like in Android, but still does work pretty good. Touching the screen continuously for a few seconds acts like "right click" event.

4- Rotations does work, however touchscreen acts very weird then.

5- Couldn't manage to make Xrandr (handles screen rotation and transformation on the fly) work with Framebuffer device; so you better not rotate your screen - because it'll try to kill X instances and then respawn them with rotation parameters given as it's now - which might not work. Still trying to find a way to do it better.
[Desire Android Development] Chaosz-X:
If you have a lot of spare time you can work on it, as I'll be really busy the next two weeks. If you need any help > PM me your MSN, and I'll add you, so you can ask questions anytime about development ;)

Btw: so we need to install the packages manually until everything Apt needs is installed, then use an 'apt-get update', 'apt-get install xorg enlightenment', and the Runner should be able to do its job?
[Desire Android Development] Droidzone:
Don't worry about hosting space.. I'll create an ftp account for you on droidzone.in tomorrow and pm you. You really think it can compile a kernel? Nothing to describe it, but Wow!

I'll like a copy of your toolchain too, as mine seems to be bad. :)
[Desire Android Development] ggolemg:
Holy.... Son of a..... The Fu.... Wow!

edit:

We need to get this over to Hacker News and slashdot

Submitted to hacker news: done.

We need a better writer to submit to slashdot than myself: http://slashdot.org/submission
[Desire Android Development] Droidzone:
Tried compiling a toolchain again from scratch on a fresh Ubuntu install. Everything goes fine till it gets to installing ppl/cloog. Then it fails giving all sorts of invalid references errors. Going to retry using latest versions for all libraries.

"What is /root after all, but a subdirectory of a higher level?"
[Desire Android Development] theGanymedes:
Turn off the "loop optimizations" from the CT-NG menu and pick "statically link standard C++ library"; then it'll be fine. For some reason, PPL/CLOOG libraries don't compile under CT-NG...

Well, guys; as of tonight, the packages in the repo is as follows:

apt
atk
base-system
bash
cairo
connman
curl
dbus
dejavu-fonts
dpkg
elementary
enlightenment
fontconfig
freetype
gcrypt
gdbm
gdk-pixbuf
gettext
git
glib
glibc
gperf
gpg
gpgerror
gpm
groff
gtk2
imlib2
iptables
less
libassuan
libcheck
libexpat
libffi
libgif
libjpeg
libksba
libpipeline
libpng
libreadline
libtiff
libusb
libxml2
lua
mandb
nano
ncurses
openssl
pango
pciutils
perlbase
perlextra
pth
socat
tar
tslib
udev
usbutils
utillinux
vimx
xorg
xterm
zlib

All you gotta do is issue "apt-get update" and "apt-get install enlightenment" and you're done. After this, just run Runner.apk, install the program and execute "Linux in Android" application.

Pressing back key in the application will terminate everything Runner started, so if you want to quit - that's the way to do it.

DON'T FORGET: It's still beta, so if your phone started to give you creeps, just reboot it :)
[Desire Android Development] theGanymedes:
Thanks, ggolemg :)
[Desire Android Development] Droidzone:
What about a java compiler? Dying to use apktool in this.. :)

Btw..feel free to upload all your Android related work on the server. I'll set up a page for you where you can describe all your work, provide direct download links etc.. If you like. Space is not an issue, as long as it's all Android related.

"What is /root after all, but a subdirectory of a higher level?"
[Desire Android Development] Droidzone:
Btw..I tried the glibc installer and got hung at boot. Don't have access to a pc atm, so couldn't find out exactly why.

Sibere and I don't use data2sd.prop any more. The best marker for our data2sd installation would be the presence of /cache/log/data2sd.on

"What is /root after all, but a subdirectory of a higher level?"
[Desire Android Development] paamet:
Nice! Brilliant work! I have been following this for a long time. It is THE ultimate project!

How do I "install" this enviroment?

Would it be possible in the future to run R-cran? That would have been truly amazing...all my science in my pocket:)
[Desire Android Development] theGanymedes:
OK, that's good thing to know. I'll change it then.

It may hang because of flashing of ramdisk, and/or your data partition being unable to be found - this might be because of this "/cache/log/data2sd.on" thingy.

Try editing the script of zip file by hand, by changing your data2sd.prop line.
[Desire Android Development] theGanymedes:
Well, first get the Zip packages I put on the first page. You just need to get GlibC and the APT one (along with their dependencies).

After this, boot into recovery and flash them all.

Once the system booted; you can start and adb shell or a terminal emulator program in desire and run

apt-get update; apt-get install enlightenment

It should download and install.

After this, there is a Runner.apk file, a few post above. Install it to your device and you're done.
[Desire Android Development] Droidzone:
Did that, but didn't help, I'll try monitoring the output in recovery and see why

About toolchain...

Turning off loop optimizations did compile the toolchain. But I was wondering whether failing to compile these will cause those Relocation in ELF issues that I had previously. Now that I have a good cross compiler, how can I go about compiling ppl/cloog? If ct-ng can't do it, how else? I'd like to install all the header files required to compile all Linux binaries for the Desire.. How to go about this? I'd like to do this statically, instead of linking to glibc..

Main qn is... I now have a cross compiler made by ct-ng. How do I compile the ppl, cloog, gtk, ncurses etc? How to install headers? Copying files? Where to? Do I cross compile for this? What parameters to specify?

You'll realize that all these are elementary doubts! But I'd like to understand the process from someone who understand it well! The gnu doku is so vast!

Swyped on my Htc Desire running on Supernova Extreme - Gingerbread goodness with 2 GB of Internal memory
[Desire Android Development] paamet:
I tried this, but couldnt get it working. Could not find apt-get.

I am running Sandvolds ICS with data on SD, maybe the file structure is incompatible with this?
[Desire Android Development] theGanymedes:
Shouldn't rely on ICS or whatever... check if there exists an "apt-get" binary in /data/bin folder. If there is, there might be some sort of flashing error for GlibC package. I need to see the recovery log.
[Desire Android Development] theGanymedes:
Also, please send me a copy of the recovery log too. I want to know where it failed.

And please don't change that Data2SD flag : I need to re-upload all the zip's because of that :(
[Desire Android Development] Droidzone:
data2sd.prop? I made that in prior versions just to signify which version of data2sd was installed, whether dalvik 2 nand, or dalvik2ext etc. it wasn't there in Sibere's original script. If I may suggest, you can make the script more robust by trial of mounting ext, then seeing if mmcblk0p2/app exists as a folder and is non empty.

Anyway, I will be leaving /cache/log/data2sd.on in place. It's used as a boolean value in my script.

Have you seen the Linux on Android app? It loopmounts a file and then chroots it. Couldn't get it to work though. ;)

Thanks for the detailed explanation! Will see if I can solve those errors now..

Swyped on my Htc Desire running on Supernova Extreme - Gingerbread goodness with 2 GB of Internal memory
[Desire Android Development] theGanymedes:
Well, I'm already doing what you say - this is especially useful for app2sd solutions. What I do actually need is the location where you mount the mtd-data partition. Sibere does it to /system/data whilst ownhere does it to /mnt/asec/mtddata. I was checking the data2sd.prop file to see if it's sibere's or ownhere's algorithm that is used. One the system booted, I can do the check with the folders themselves; but /mnt/ folder is not mounted on recovery - which is why I cannot use the folder-check method.

I could, maybe, assume that if there is no /system/data; it's ownhere's algorithm working; but I guess I wasn't so bright back then :)

Well, about "Linux in Android": it does run "startx" command. Whatever you say is done in startx I think :) Check if your ~/.xinitrc file has "exec enlightenment_start" line (your home is /data/home, btw).
[Desire Android Development] theGanymedes:
Well, this might be because I missed to put a configuration file for dbus in place. Please run the following line in a terminal window (adb shell or terminal emulator program):

cat echo "root::0:0:root:/data/home:/system/bin/sh" >/etc/passwd

DBus reads this file to obtain info. about the user (root, in our case); so if this file is missing, dbus doesn't run; ergo E doesn't run...
[Desire Android Development] Droidzone:
Yes, it's the same, mounted at system/data.

I don't have a .xinitrc file anywhere. After install, I'm supposed to execute linuxchroot.ah. Nothing happens on doing that. None of the Linux binaries run, saying that they don't exist. Anyway, not really important. Would have been nice if it worked though, since it solves our problem through another angle.

Swyped on my Htc Desire running on Supernova Extreme - Gingerbread goodness with 2 GB of Internal memory
[Desire Android Development] Droidzone:
You meant just echo right? To create a file with that content?

Swyped on my Htc Desire running on Supernova Extreme - Gingerbread goodness with 2 GB of Internal memory
[Desire Android Development] theGanymedes:
yeah, just echo; sorry...

BTW; check if you have /lib as a correct symlink. You are not expected to have "sudo" on your device; you should be root by writing "su" and then apply the commands ---- forget it, I just saw that you compiled sudo for yourself :)

if all the applications complain with "no such file or directory" then your dynamic linker is not available, it means there should be ld-linux.so.3 at your /lib folder (I solve this by making a symlink of /data/lib to /lib ) but yours might be missing. Check this and try to make your own link and check again. This might be because GlibC flashing has failed on your device for some reason.

I'm currently working on MSM Video driver to give it "screen rotation" support. Sorry if I cannot respond quickly.
[Desire Android Development] Droidzone:
Does anyone have a statically compiled copy of ssh for Android with them? Sourceforge seems to be blocking all apps..

I need to login in the form:

ssh -t user, project@Sourceforge.net

Swyped on my Htc Desire running on Supernova Extreme - Gingerbread goodness with 2 GB of Internal memory
[Desire Android Development] loedrus:
I wanted to install glibc (and apt after that of course) last night, but the .zip repeatedly throws an error when flashing it (I already redownloaded, from different hosters). I'm currently using AN-Droid 1.1.0a data++ and have plenty of space on /data as well as /sd-ext. It always fails at the same time (error 7) in 4ext Recovery Touch (Not RMD, I corrected the error). recovery.log (not the first try) as well as screenshot attached.

Thank you,

loedrus
[Desire Android Development] theGanymedes:
Thanks, let me check it out and return to you.

The problem is: the system thought you have apps2sd installed on your system (I don't know about AN-Droid and it's data++, so that's why). May you please obtain where your MTD-Data partition becomes mounted on boot? If you can't do it, just send me the init.d script of your data++ solution, and I'll let you know what you should do.

Problem is: there is so many data++ solutions and each one of them mount the data to different places. When I made that zip, I did know only Sibere's and Ownhere's solutions, so it's why you live problems.