Discussion:
[Chicken-users] 5.0.0rc3 under Android/Termux
A***@web.de
2018-10-14 19:52:18 UTC
Permalink
Hi everybody,

Ihave tested RC3 on Android/Termux. Here is my data:

OS: Android 7.0 with Termux installed
Architecture: aarch64/ARM64
C-Compler: clang 7.0.0

Results:
Install works: yes
Test work: not tested (needs patches to the script & Makefile that run the tests)
Installation of eggs works: yes (r7rs and awful)

Here are the steps I did:


$ make PLATFORM=android C_COMPILER=clang PREFIX=$HOME/chickens/5.0.0rc3
$ make PLATFORM=android C_COMPILER=clang PREFIX=$HOME/chickens/5.0.0rc3 install
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/chickens/5.0.0rc3/lib
$ $HOME/chickens/5.0.0rc3/bi/chicken-install r7rs
$ $HOME/chickens/5.0.0rc3/bi/chicken-install awful

Best Regards,

Alexander
daniel szmulewicz
2018-10-18 00:38:19 UTC
Permalink
Hi everybody,

Following Alexander's post on installing 5.0.0rc3 under Android/Termux, I
would like to share some additional observations in the hope that some
might find them useful.

You can get shorten the installation steps if you build Chicken in a
chrooted Termux. In the chroot environment, all the standard directories
are in the standard places and writable, rendering the LD_LIBRARY_PATH
configuration superfluous.

$ make PLATFORM=android C_COMPILER=clang PREFIX=/usr
$ make PLATFORM=android C_COMPILER=clang PREFIX=/usr install

And you should be done.

In summary, prior to installing Chicken Scheme in Termux, install PRoot,
`pkg install proot', run termux-chroot to get a chrooted environment, then
proceed with the build.

A note of caution: this will install the files under the root directory, so
you can't have multiple versions side by side. For this reason, I actually
did something slightly different than the procedure described above. I've
kept the prefix to my home directory, like Alexander, so I have Chicken
5.0.0rc3 installed in $HOME/chickens/5.0.0rc3, and Chicken 4.13.0 in
$HOME/chickens/4.13.0. I then created a symbolic link called current that
points to the version I want to use. For example, $HOME/chickens/current
points to $HOME/chickens/5.0.0rc3.

Finally, I've created symbolic links in /usr/bin, /usr/lib, /usr/include
and /usr/share referring to the current Chicken distribution (the files
under $HOME/chickens/current). This is a one-time, manual process. When I
want to switch between Chicken versions, I just change where `current'
points to.

In the end, this may have been overdoing it, and I am not at all sure that
I would recommend this setup over fiddling with .bashrc to achieve the same
results.

By the way, `chicken-doc' is not available with 5.0.0rc3, so I've reverted
to 4.13.0 because Geiser complains without it.

Thanks!

Daniel
Alexander Shendi (Web.DE)
2018-10-18 07:33:27 UTC
Permalink
With this setup you should also be able to run the test suite. Thank you for sharing.

Best Regards,

Alexander
Post by A***@web.de
Hi everybody,
Following Alexander's post on installing 5.0.0rc3 under Android/Termux, I
would like to share some additional observations in the hope that some
might find them useful.
You can get shorten the installation steps if you build Chicken in a
chrooted Termux. In the chroot environment, all the standard
directories
are in the standard places and writable, rendering the LD_LIBRARY_PATH
configuration superfluous.
$ make PLATFORM=android C_COMPILER=clang PREFIX=/usr
$ make PLATFORM=android C_COMPILER=clang PREFIX=/usr install
And you should be done.
In summary, prior to installing Chicken Scheme in Termux, install PRoot,
`pkg install proot', run termux-chroot to get a chrooted environment, then
proceed with the build.
A note of caution: this will install the files under the root
directory, so
you can't have multiple versions side by side. For this reason, I actually
did something slightly different than the procedure described above. I've
kept the prefix to my home directory, like Alexander, so I have Chicken
5.0.0rc3 installed in $HOME/chickens/5.0.0rc3, and Chicken 4.13.0 in
$HOME/chickens/4.13.0. I then created a symbolic link called current that
points to the version I want to use. For example,
$HOME/chickens/current
points to $HOME/chickens/5.0.0rc3.
Finally, I've created symbolic links in /usr/bin, /usr/lib,
/usr/include
and /usr/share referring to the current Chicken distribution (the files
under $HOME/chickens/current). This is a one-time, manual process. When I
want to switch between Chicken versions, I just change where `current'
points to.
In the end, this may have been overdoing it, and I am not at all sure that
I would recommend this setup over fiddling with .bashrc to achieve the same
results.
By the way, `chicken-doc' is not available with 5.0.0rc3, so I've reverted
to 4.13.0 because Geiser complains without it.
Thanks!
Daniel
--
Diese Nachricht wurde von meinem Android-GerÀt mit K-9 Mail gesendet.
Loading...