So there's this user interface stack called Kivy. http://kivy.org/
It has an unusual feature: it can deploy the same Python app to desktop platforms as well as Android and iOS. I'm trying to deploy a Kivy app to Android, and this app uses igraph.
Of course that means I have to compile igraph for ARM processors--but I think I've already accomplished that. I only ran into trouble when I tried to import igraph in the Python interpreter running on my Android tablet. It *did* import--but then it informed me that it couldn't locate libigraph.so.0. I made extra sure that the name of the library matched, and that it was in the -- well, not actually the LD_LIBRARY_PATH, but the same directory where the rest of the app's shared object files already lived. I also tried putting it in the same directory as _igraph.so, which is the library wherein Python threw that error. No difference was made.
I surmise that Android is only letting the Python process access shared objects "one level deep," and not letting it get any shared objects linked inside of those. I don't know whether this limitation is deliberate or what; maybe it's a bug in the particular build of Python.
In any case, I think that if I could compile igraph *and* the Python API into the *same* shared object file, I could use it all the same. But I don't know how to do this, and I don't think the Makefiles have any provision for it. Feel free to correct me.
So: how can I compile igraph and its Python bindings into _igraph.so, thus avoiding the link to libigraph.so.0?
If you happen to know enough about Android to solve this another way, do tell.