<div dir="ltr"><div><div><div><div>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.<br><br>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:<br><br><span style="font-family:courier new,monospace">    source /data/data/com.spartacusrex.spartacuside/files/python27.sh</span><br></div><div><br>In ~/python27.sh I have:<br><span style="font-family:courier new,monospace">    export PYTHONHOME=/data/data/com.android.python27/files/python<br>    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<br>    export PATH=$PYTHONHOME/bin:$PATH<br>    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</span><br></div><div><br>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):<br><span style="font-family:courier new,monospace"><br>    LLVM_SRC_ROOT   := $(call realpath, /data/data/com.spartacusrex.spartacuside/files/llvm)<br>    LLVM_OBJ_ROOT   := $(call realpath, /data/data/com.spartacusrex.spartacuside/files/build)<br>    PYTHON     := /data/data/com.android.python27/files/python/bin/python</span><br><br></div>In addition I needed to change the path to sh in llvm/autoconf/mkinstalldirs to the correct location in android.<br><br><span style="font-family:courier new,monospace">    #! /system/bin/sh</span><br><br></div>So that got it to run. But I still ran into a bunch of errors like:<br><span style="font-family:courier new,monospace">shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied<br>error: Could not create file: /tmp/******</span><br><br></div>The full output of make check all is in the file I attached. <br><br></div><div>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?<br></div></div>