To answer your questions, Yes, Terminal IDE comes with a glibc+gcc tool
chain, but I didn't use them. I didn't do a native build.
I got around the "run as user" problem by disabling the user/group
configuration. I just commented out the following lines in config.h
after the configuration step:
#define QUAGGA_USER "root"
#define QUAGGA_Group "root"
#define VTY_GROUP "root"
After that (and in addition to doing a static build) I was able to run
zebra/ospfd on android with no issues. I will add that I didn't need/use
any of the patches you provided, but again I took a completely different
route. I have to say, this turned to be a lot easier than I initially
thought. The secret is: After I started toying around with
cross-compiling, I thought it would've been a lot easier if I have a
32-bit arm Linux box that I can use to build the binaries and just move
them to Android. That is when it hit me: I have a punch of Raspberry Pi
2's lying around in front of me running Linux, I could just use them. I
did a quick test and found that the Phone is binary compatible with the
Raspberry Pi. Aside from the static build and the trick above, it has
been a smooth process. I will look into summarizing this in a short
tutorial and possibly a simple patch to quickly do a build that targets
Android.
Cheers,
Jafar
P.S. I still haven't tried to build vtysh or other daemons, but it seems
those would be just as easy.
Sincerely, I have not understood which toolchain you have used to build
Quagga for Android.
I do not know Terminal IDE very well, but, if my memory does not fail,
it provides a native GCC compiler, that builds against the Bionic Libc.
Did you build through Terminal IDE and the GCC bundled with it?
[...] I did try running as root (and compiled Quagga with user root
configured) but that didn't work and kept giving me the error I posted
earlier. I didn't see any of your patches changing this aspect (user) so
I'm wondering how did you get around this issue?
I have never hit the error you reported; maybe you can try
to cross-compile Quagga according to the notes linked above,
using the Android NDK, and then check if the error occurs again.
What shell did you use?
mksh and bash under the Android Terminal Emulator, but it was not
relevant anyway.
and what Android version ?
Android 4.x with x > 0.
On Android 4.0, segmentation fault occurred, and I do not understand
why... after a lot of unuseful investigation, I gave up.
Maybe you can build (cross-compile) a glibc+gcc toolchain for Android
(I succeeded in doing this)
Terminal IDE comes with these so I didn't have to worry about this. I
didn't have to do a native build after all anyway.
Does Terminal IDE come with a Glibc+GCC toolchain?
I suppose that it is a Bionic+GCC toolchain.
Marco Pratesi
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev