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