Comment 22 for bug 1956852

Revision history for this message
alexis rivera (riveraah) wrote :

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
index 929ac9914..fc48ebc40 100644
--- a/src/runtime/run-program.c
+++ b/src/runtime/run-program.c
@@ -100,7 +100,7 @@ void closefrom_fallback(int lowfd)
 {
     int fd, maxfd;

-#ifdef SVR4
+#if defined(SVR4) || defined(LISP_FEATURE_ANDROID)
     maxfd = sysconf(_SC_OPEN_MAX)-1;
 #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.