echo $HOME
, if it prints /data/data/com.termux/files/home, then it's Termux in Android.
lsb_release -a
cat /etc/issue
uname -a
If you are on Termux on Android, install the tur-repo package (pkg in tur-repo
).
Operating System | Package names required | Package names recommended |
---|---|---|
Alma, CentOS, Oracle Linux, Red Hat Enterprise Linux (RHEL), Rocky | gcc make | gmp-devel libffi-devel numactl-devel screen (if available) |
Alpine | gcc make | gmp-dev libffi-dev numactl-dev z3-dev screen (if available) |
Android with Termux | gcc-15 ldd make | libffi libgmp screen z3 |
Arch, Manjaro | gcc make | gmp numactl screen z3 |
Debian, Edubuntu, Kali, Kubuntu, Lite, MX, Lubuntu, Mint, Trisquel, Ubuntu, Xubuntu, Zorin | gcc make | libffi-dev libgmp-dev libnuma-dev libz3-dev screen |
Fedora | gcc make | gmp-devel libffi-devel numactl-devel screen z3-devel |
FreeBSD | gcc8 | libffi gmp linux-c7-numactl-libs screen z3 |
GeckoLinux, OpenSUSE | gcc make | gmp-devel libffi-devel libnuma-devel screen z3-devel |
Gentoo | libffi gmp numactl screen z3 | |
iOS with iSH | ed gcc make sed | libffi-dev gmp-dev numactl-dev screen z3-dev |
Linux From Scratch, Linux without a distribution | GMP Libffi Screen | |
NetBSD | gcc | libffi gmp screen z3 |
OpenBSD | egcc gmake | libffi libgmp screen z3 |
Other | GCC GNU Make | GMP Libffi numactl GNU Screen Z3 |
Slackware, Zenwalk | gcc make | libffi gmp screen |
Windows with Cygwin | gcc-core make | libffi-devel libgmp-devel screen |
screen
(if available). If network disconnects, reattach with screen -dr
. It also helps with lack of terminals.
ajla-*
that was created by unpacking the archive
Operating System | Command to print GCC major version |
---|---|
Android with Termux | gcc-15 -v
|
FreeBSD | gcc8 -v
|
OpenBSD | egcc -v
|
Other | gcc -v
|
top
command and if that
doesn't exist, web search technical spec of your
device. If you can't figure it out, assume 1 GB.
CC=gcc
depending on your operating system:
Operating System | Replace CC=gcc with
|
---|---|
Android with Termux | CC=gcc-15
|
FreeBSD | CC=gcc8
|
OpenBSD | CC=egcc
|
Other | CC=gcc
|
./configure
with. Take one row of the table after another until it tells you what:
Step | Test | Replace ./configure with
|
---|---|---|
1 | Are you on Termux in Android? | ./configure --prefix=/data/data/com.termux/files/usr
|
2 | Do you know the root or administrator password? | ./configure
|
3 | Are you entitled to run sudo? | ./configure
|
4 | Are you already running as root or administrator? | ./configure
|
5 | Otherwise | ./configure --prefix="$HOME"/.local
|
CC=gcc
according to point 5.,
replace ./configure
according to point 6. and run it. If your computer becomes unresponsive, close more memory hungry
Firefox or Chromium tabs or other programs.
RAM size for GCC <=11 | RAM size for GCC 12-14 or a compiler different from GCC | RAM size for GCC >= 15 on systems different from Debian, Edubuntu, Kali, Kubuntu, Lite, MX, Lubuntu, Mint, Trisquel, Ubuntu, Xubuntu, Zorin | RAM size for GCC >= 15 on Debian, Edubuntu, Kali, Kubuntu, Lite, MX, Lubuntu, Mint, Trisquel, Ubuntu, Xubuntu, Zorin | Command to run |
---|---|---|---|---|
>=640 MB < 680 MB 19.6 GHz_minutes | >=670 MB < 710 MB 16.4 GHz_minutes | >=875 MB < 1 GB 10.5 GHz_minutes | >=1 GB < 1.3 GB 17 GHz_minutes |
CC=gcc CFLAGS="-O1 --param ggc-min-expand=1 --param ggc-min-heapsize=1024" ./configure --disable-computed-goto && make -j1 ipret.o ipretc.o && make -j2 |
>=680 MB < 3 GB 14.5 GHz_minutes | >=710 MB < 2.5 GB 12.7 GHz_minutes | >=1 GB < 3 GB 7.5 GHz_minutes | >=1.3 GB < 4 GB 12.1 GHz_minutes |
CC=gcc CFLAGS="-O1 --param ggc-min-expand=20 --param ggc-min-heapsize=16384" ./configure --disable-computed-goto && make -j1 ipret.o ipretc.o && make -j2 |
>=3 GB < 4 GB 33.8 GHz_minutes | >=2.5 GB < 4 GB 32.2 GHz_minutes | >=3 GB < 5 GB 10.7 GHz_minutes | >=4 GB < 7 GB 17.3 GHz_minutes |
CC=gcc CFLAGS=-O2 ./configure --disable-computed-goto && make -j1 ipret.o ipretc.o && make -j2 |
>=4 GB < 8 GB 38.4 GHz_minutes | >=4 GB < 8 GB 36.7 GHz_minutes | >=5 GB < 9 GB 24.4 GHz_minutes | >=7 GB < 12 GB 39.5 GHz_minutes |
CC=gcc CFLAGS=-O2 ./configure && make -j1 ipret.o ipretc.o && make -j8 |
>=8 GB < 12 GB 25.9 GHz_minutes | >=8 GB < 12 GB 24.2 GHz_minutes | >=9 GB < 13 GB 16.1 GHz_minutes | >=12 GB < 16 GB 26 GHz_minutes |
CC=gcc CFLAGS=-O2 ./configure && make -j2 ipret.o ipretc.o && make -j8 |
>=12 GB 24.3 GHz_minutes | >=12 GB 24.1 GHz_minutes | >=13 GB 14.9 GHz_minutes | >=16 GB 24.1 GHz_minutes |
CC=gcc CFLAGS=-O2 ./configure && make -j8 |
What did you replace ./configure with? | Action to do |
---|---|
./configure | Run sudo make install . If it says “sudo: (command) not found”, run
su root -c "make install"
|
./configure --prefix="$HOME"/.local | Run make install
|
./configure --prefix=/data/data/com.termux/files/usr | Run make install
|
What did you replace ./configure with? | Search path |
---|---|
./configure | Skip to 8. Test Ajla |
./configure --prefix="$HOME"/.local | /home/user/.local/bin , where “user“ is
your username
|
./configure --prefix=/data/data/com.termux/files/usr | /data/data/com.termux/files/usr/bin
|
echo $PATH
and check whether it already contains the search path. If not, do this procedure:
Apped this line to ~/.profile:
PATH=~/.local/bin:"$PATH"and try these actions one by one until what
echo $PATH
prints contains the search path: