Running make check-all on android after cross-compiling to it.
Jonathan Roelofs
jonathan at codesourcery.com
Wed Sep 17 12:39:52 PDT 2014
+danalbert... maybe he can help
On 9/17/14 1:30 PM, Jeffrey Brusseau wrote:
> I'm trying to run the llvm build tests on android after cross-compiling with the
> NDK toolchain on top of my ubuntu-based system. I've run into some issues.
>
> First since python is required I needed to install the Python 2.7 fork of Py4A
> (because Python3 doesn't seem to play nice with llvm's python scripts). I also
> needed to install the unittest module as this distribution of python doesn't
> come with it for some reason. I just copied the lib/python2.7/unitest folder
> from my NDK toolchain over to /sdcard/com.android.python27/extras/python/. Plus
> I needed to set the environment variables in Terminal IDE's ~/.bashrc so I added:
>
> source /data/data/com.spartacusrex.spartacuside/files/python27.sh
>
> In ~/python27.sh I have:
> export PYTHONHOME=/data/data/com.android.python27/files/python
> export
> PYTHONPATH=/sdcard/com.android.python27/extras/python:/data/data/com.android.python27/files/python/lib/python2.7/lib-dynload:/data/data/com.android.python27/files/python/lib/python2.7
> export PATH=$PYTHONHOME/bin:$PATH
> export
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/data/com.android.python27/files/python/lib:/data/data/com.android.python27/files/python/lib/python2.7/lib-dynload
>
> I also needed to change the LLVM_SRC_ROOT, LLVM_OBJ_ROOT and PYTHON variables
> in the llvm/Makefile.config to point to my $HOME directory in Terminal IDE (the
> terminal emulator I'm running the tests in):
>
> LLVM_SRC_ROOT := $(call realpath,
> /data/data/com.spartacusrex.spartacuside/files/llvm)
> LLVM_OBJ_ROOT := $(call realpath,
> /data/data/com.spartacusrex.spartacuside/files/build)
> PYTHON := /data/data/com.android.python27/files/python/bin/python
>
> In addition I needed to change the path to sh in llvm/autoconf/mkinstalldirs to
> the correct location in android.
>
> #! /system/bin/sh
>
> So that got it to run. But I still ran into a bunch of errors like:
> shell-init: error retrieving current directory: getcwd: cannot access parent
> directories: Permission denied
> error: Could not create file: /tmp/******
>
> The full output of make check all is in the file I attached.
>
> I think I can get it to work if I'm able to make it use a different tmp
> directory as the /tmp/ directory is nonexistent on Android because every app is
> supposed to have it's own tmp directory. Can anyone show me how to change the
> tmp directory llvm uses for these tests?
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
--
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded
More information about the llvm-commits
mailing list