<div dir="ltr">Dear Yasuaki,<div><br></div><div>I have some good news --- I have successfully compiled ECL 16.1.2 under Termux environment and then successfully compiled MAxima 5.38.1 based on it. This is Android 5.1.1 running on Nexus 10 tablet, i.e. armv7l architecture. I intend to also compile it on Android 6.0.1 on aarch64 architecture. I had to make a few changes to ECL which I will have to submit to the maintainer at some point.</div><div><br></div><div>Now, everything (except the bits you noticed, like fib() etc which are worked around in your init.lisp file) works fine except the system() function (and invoking gnuplot which uses the same mechanism).</div><div><br></div><div>I used strace to track it down to the fact that even though Maxima was compiled with "--posix-shell=/data/data/com.termux/files/usr/bin/bash", still the plot2d() command causes execve() with hardcoded path "/bin/sh". I have made sure that there are NO hardcoded instances of "/bin/sh" left in Maxima, BUT it still happens.</div><div><br></div><div>This means it is coming from ECL and I see hardcoded "/bin/sh" here:</div><div><br></div><div>$ strings /usr/local/lib/ecl-16.1.2/defsystem.fas | fgrep --color "/bin/sh"<br></div><div><br></div><div>So I suspect it is coming from defsystem.fas. Now, you must have faced the same issue when you compiled ECL 12.12.1 for use by Maxima 5.36.1 on Android. But your sources on github don't contain any patches to ECL, so I am writing to you to ask how you overcame this issue (because running your maxima.pie binary in Termux works fine, but I wanted to have Maxima 5.38.1 and so I had to recompile everything from sources).</div><div><br></div><div>I will dig into ECL sources today trying to find this hardcoded "/bin/sh" (it should really rely on the value of SHELL variable) but if you know the answer it would save my time greatly. Thank you.</div><div><br></div><div>Kind regards,</div><div>Tigran</div></div>