Dear Phil,
so I dug out my Nexus 9 tablet and tried to recompile gambit 4.8.5.
The procedure is a little more involved than I had remembered. I used the following commands to compile gambit:
termux-fix-shebang configure gsc-boot.unix install-sh relpath mkidirs TMPDIR=$HOME/tmp CONFIG_SHELL=$PREFIX/bin/sh CC=clang LIBS=-llog ./configure --prefix=$HOME/gambit-tmp make make install
Comments:
1.) You must update the shebang path in 5 files, not 2 as I had previously written. You can use the termux-fix-shebang utility to do this (as shown above). 2.) TMPDIR=$HOME/tmp is necessary as /tmp is not writeable for Termux apps. 3.) Recently Termux has switched to clang instead of gcc. Unfortunately on my tablet clang runs out of memory compiling gambit. I did not have this problem with gcc.
Nevertheless I hope this helps. Maybe clang is a little less memory hungry on your 32bit (ARM7) machine. If all fails, the GNUroot option may prove better for you. There you can simply "./configure; make; make install".
I wish you good luck. Do not hesitate to contact me, if I can be of further help.
Best regards,
Alexander
Afficher les réponses par date
I had never heard of GnuRoot before this thread, and I was already annoyed at the non-standard paths in Termux, so I decided to look at GnuRoot.
I downloaded GnuRoot at lunch yesterday, then discovered I needed GnuRoot Wheezy as well, then when I ran that it told me those two options were obsolete and I needed GnuRoot Debian, so I uninstalled the other two and downloaded that. Looked fine. I then did 'apt-get update' and got an error message. It turns out that my employer blocks the Debian sites, for some reason.
So yesterday evening I did 'apt-get update' and 'apt-get upgrade'; that took a while. Then I tried to wget the Gambit tgz file, but discovered neither wget nor curl is automatic with GnuRoot Debian, so I fetched both.
Then I downloaded Gambit, untarred, and did './configure'. But configure wasn't executable, so it didn't work. I said 'chmod 777 configure' but the execute bit still wasn't set. Searching Google I discovered that error occurs because the sd card is mounted noexec, but I don't have an sdcard, so I'm baffled.
Anyway, I did 'sh configure' and got an error message that gcc isn't installed. What kind of Debian is this? So I fetched gcc and did 'sh configure' again. I got another error message, I forget what.
So I gave up and went to bed.
I'll keep dealing with this over the next few days, and let you know when I make some progress.
Thanks to everyone who offered advice.
Phil
On Tue, May 9, 2017 at 4:42 PM, Alexander.Shendi@web.de wrote:
Dear Phil,
so I dug out my Nexus 9 tablet and tried to recompile gambit 4.8.5.
The procedure is a little more involved than I had remembered. I used the following commands to compile gambit:
termux-fix-shebang configure gsc-boot.unix install-sh relpath mkidirs TMPDIR=$HOME/tmp CONFIG_SHELL=$PREFIX/bin/sh CC=clang LIBS=-llog ./configure --prefix=$HOME/gambit-tmp make make install
Comments:
1.) You must update the shebang path in 5 files, not 2 as I had previously written. You can use the termux-fix-shebang utility to do this (as shown above). 2.) TMPDIR=$HOME/tmp is necessary as /tmp is not writeable for Termux apps. 3.) Recently Termux has switched to clang instead of gcc. Unfortunately on my tablet clang runs out of memory compiling gambit. I did not have this problem with gcc.
Nevertheless I hope this helps. Maybe clang is a little less memory hungry on your 32bit (ARM7) machine. If all fails, the GNUroot option may prove better for you. There you can simply "./configure; make; make install".
I wish you good luck. Do not hesitate to contact me, if I can be of further help.
Best regards,
Alexander
On Thu, May 11, 2017 at 08:29:14AM -0500, Phil Bewig wrote:
I had never heard of GnuRoot before this thread, and I was already annoyed at the non-standard paths in Termux, so I decided to look at GnuRoot.
I downloaded GnuRoot at lunch yesterday, then discovered I needed GnuRoot Wheezy as well, then when I ran that it told me those two options were obsolete and I needed GnuRoot Debian, so I uninstalled the other two and downloaded that. Looked fine. I then did 'apt-get update' and got an error message. It turns out that my employer blocks the Debian sites, for some reason.
So yesterday evening I did 'apt-get update' and 'apt-get upgrade'; that took a while. Then I tried to wget the Gambit tgz file, but discovered neither wget nor curl is automatic with GnuRoot Debian, so I fetched both.
Then I downloaded Gambit, untarred, and did './configure'. But configure wasn't executable, so it didn't work. I said 'chmod 777 configure' but the execute bit still wasn't set. Searching Google I discovered that error occurs because the sd card is mounted noexec, but I don't have an sdcard, so I'm baffled.
sdcard is part of android. In the past it was an actual sd card, but now it is an area of the disk where the user can put files. Refussal to execute anything there is in order to keep the user from mssing with anything that's really android.
You are likely hitting a deliberate android limitation that gnuroot is unable to get around.
-- hendrik
I did the following experiment with GnuRoot. I wrote the standard hello.c program, then compiled it with gcc. An ls -l shows a.out with permissions 660. Then I did chmod +x a.out, and the permissions were unchanged. When I tried to run ./a.out, I got a permission denied error.
Ouch!
Then I did the same experiment with Termux. Gcc was smart enough to set the execute bit itself, with permissions 700. No need for chmod. Running the program produced the proper output.
Hello, world!
I'll try again later to compile Gambit on Termux, and let you know how I get along.
Phil
On Thu, May 11, 2017 at 9:56 AM, Hendrik Boom hendrik@topoi.pooq.com wrote:
On Thu, May 11, 2017 at 08:29:14AM -0500, Phil Bewig wrote:
I had never heard of GnuRoot before this thread, and I was already
annoyed
at the non-standard paths in Termux, so I decided to look at GnuRoot.
I downloaded GnuRoot at lunch yesterday, then discovered I needed GnuRoot Wheezy as well, then when I ran that it told me those two options were obsolete and I needed GnuRoot Debian, so I uninstalled the other two and downloaded that. Looked fine. I then did 'apt-get update' and got an
error
message. It turns out that my employer blocks the Debian sites, for some reason.
So yesterday evening I did 'apt-get update' and 'apt-get upgrade'; that took a while. Then I tried to wget the Gambit tgz file, but discovered neither wget nor curl is automatic with GnuRoot Debian, so I fetched
both.
Then I downloaded Gambit, untarred, and did './configure'. But configure wasn't executable, so it didn't work. I said 'chmod 777 configure' but
the
execute bit still wasn't set. Searching Google I discovered that error occurs because the sd card is mounted noexec, but I don't have an sdcard, so I'm baffled.
sdcard is part of android. In the past it was an actual sd card, but now it is an area of the disk where the user can put files. Refussal to execute anything there is in order to keep the user from mssing with anything that's really android.
You are likely hitting a deliberate android limitation that gnuroot is unable to get around.
-- hendrik _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
I got a clang error while compiling _t_univ.c. I will report it to the clang folks.
This isn't easy.
On Thu, May 11, 2017 at 12:02 PM, Phil Bewig pbewig@gmail.com wrote:
I did the following experiment with GnuRoot. I wrote the standard hello.c program, then compiled it with gcc. An ls -l shows a.out with permissions 660. Then I did chmod +x a.out, and the permissions were unchanged. When I tried to run ./a.out, I got a permission denied error.
Ouch!
Then I did the same experiment with Termux. Gcc was smart enough to set the execute bit itself, with permissions 700. No need for chmod. Running the program produced the proper output.
Hello, world!
I'll try again later to compile Gambit on Termux, and let you know how I get along.
Phil
On Thu, May 11, 2017 at 9:56 AM, Hendrik Boom hendrik@topoi.pooq.com wrote:
On Thu, May 11, 2017 at 08:29:14AM -0500, Phil Bewig wrote:
I had never heard of GnuRoot before this thread, and I was already
annoyed
at the non-standard paths in Termux, so I decided to look at GnuRoot.
I downloaded GnuRoot at lunch yesterday, then discovered I needed
GnuRoot
Wheezy as well, then when I ran that it told me those two options were obsolete and I needed GnuRoot Debian, so I uninstalled the other two and downloaded that. Looked fine. I then did 'apt-get update' and got an
error
message. It turns out that my employer blocks the Debian sites, for some reason.
So yesterday evening I did 'apt-get update' and 'apt-get upgrade'; that took a while. Then I tried to wget the Gambit tgz file, but discovered neither wget nor curl is automatic with GnuRoot Debian, so I fetched
both.
Then I downloaded Gambit, untarred, and did './configure'. But configure wasn't executable, so it didn't work. I said 'chmod 777 configure' but
the
execute bit still wasn't set. Searching Google I discovered that error occurs because the sd card is mounted noexec, but I don't have an
sdcard,
so I'm baffled.
sdcard is part of android. In the past it was an actual sd card, but now it is an area of the disk where the user can put files. Refussal to execute anything there is in order to keep the user from mssing with anything that's really android.
You are likely hitting a deliberate android limitation that gnuroot is unable to get around.
-- hendrik _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
On 05/12/2017 05:09 PM, Phil Bewig wrote:
I got a clang error while compiling _t_univ.c. I will report it to the clang folks.
This isn't easy.
_t_univ.scm was broken into four smaller files after the version of Gambit you're trying to install.
I don't know what clang error you got, but you might have more luck with a more recent version of the Gambit sources.
Brad