I'm sorry about the confusion. Part of it was that we were troubleshooting with different versions of ECL (20.2.1 and 16.1.3) and SBCL (from git vs git + https://sourceforge.net/p/sbcl/sbcl/ci/75919da1).
To summarize, I was able to compile SBCL sbcl-2.2.0-106-g900d8b685 with ECL from their development branch using the following options:
sh make.sh --xc-host='path-to-dev-ecl/ecl --c-stack 16777217 --norc' --prefix=path-to-sbcl-install --with-android --without-gcc-tls
and this change to run-program.c (the only code change)
I'm sorry about the confusion. Part of it was that we were troubleshooting with different versions of ECL (20.2.1 and 16.1.3) and SBCL (from git vs git + https:/ /sourceforge. net/p/sbcl/ sbcl/ci/ 75919da1).
To summarize, I was able to compile SBCL sbcl-2. 2.0-106- g900d8b685 with ECL from their development branch using the following options:
sh make.sh --xc-host= 'path-to- dev-ecl/ ecl --c-stack 16777217 --norc' --prefix= path-to- sbcl-install --with-android --without-gcc-tls
and this change to run-program.c (the only code change)
diff --git a/src/runtime/ run-program. c b/src/runtime/ run-program. c .fc48ebc40 100644 run-program. c run-program. c fallback( int lowfd)
index 929ac9914.
--- a/src/runtime/
+++ b/src/runtime/
@@ -100,7 +100,7 @@ void closefrom_
{
int fd, maxfd;
-#ifdef SVR4 LISP_FEATURE_ ANDROID) _SC_OPEN_ MAX)-1;
+#if defined(SVR4) || defined(
maxfd = sysconf(
#else
maxfd = getdtablesize()-1;
The only tests that failed were those related to sb:posix.
Next, I can try your suggestions about adding #+/- around the failing POSIX tests.
Hope this clears the picture of the state of things.