I'm trying to build the interpreter on my Android phone in Termux, and I'm hitting an error. Maybe it's because my phone's not rooted, or maybe it's the limited Android C libraries.
make[1]: Entering directory '/data/data/com.termux/files/home/src/wren'
run util/build_libuv.py
b'[\'-f\', \'make\', \'/data/data/com.termux/files/home/src/wren/deps/libuv/uv.gyp\', \'-I\', \'/data/data/com.termux/files/home/src/wren/deps/libuv/common.gypi\', \'--depth=.\', \'-Goutput_dir=/data/data/com.termux/files/home/src/wren/deps/libuv/out\', \'--generator-output\', \'/data/data/com.termux/files/home/src/wren/deps/libuv/out\', \'-Dhost_arch=aarch64\', \'-Dtarget_arch=aarch64\', \'-Duv_library=static_library\']\nTraceback (most recent call last):\n File "gyp_uv.py", line 94, in <module>\n run_gyp(gyp_args)\n File "gyp_uv.py", line 38, in run_gyp\n rc = gyp.main(args)\n File "./build/gyp/pylib/gyp/__init__.py", line 538, in main\n return gyp_main(args)\n File "./build/gyp/pylib/gyp/__init__.py", line 514, in gyp_main\n options.duplicate_basename_check)\n File "./build/gyp/pylib/gyp/__init__.py", line 130, in Load\n params[\'parallel\'], params[\'root_targets\'])\n File "./build/gyp/pylib/gyp/input.py", line 2776, in Load\n check, generator_input_info)\n File "./build/gyp/pylib/gyp/input.py", line 602, in LoadTargetBuildFilesParallel\n parallel_state.pool = multiprocessing.Pool(multiprocessing.cpu_count())\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/__init__.py", line 232, in Pool\n return Pool(processes, initializer, initargs, maxtasksperchild)\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/pool.py", line 140, in __init__\n self._setup_queues()\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/pool.py", line 236, in _setup_queues\n self._inqueue = SimpleQueue()\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/queues.py", line 352, in __init__\n self._rlock = Lock()\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in __init__\n SemLock.__init__(self, SEMAPHORE, 1, 1)\n File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__\n sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)\nOSError: [Errno 38] Function not implemented\n'
make[1]: *** [util/wren.mk:242: build/libuv.a] Error 1
make[1]: Leaving directory '/data/data/com.termux/files/home/src/wren'
make: *** [Makefile:16: release] Error 2