No me gusta el compilador de C por defecto clang
proporcionado por Termux. ¿Hay alguna manera de conseguir GNU GCC en mi entorno Termux?
Estos repos no tienen un paquete gcc.
No me gusta el compilador de C por defecto clang
proporcionado por Termux. ¿Hay alguna manera de conseguir GNU GCC en mi entorno Termux?
Otra forma de conseguir gcc sería añadir el repo comunitario alojado por its-pointless en https://github.com/its-pointless/its-pointless.github.io . Las fuentes están (más o menos) disponibles en https://github.com/its-pointless/gcc_termux .
Otros paquetes populares disponibles son numpy y scipy.
Puede encontrar más información sobre este y otros repositorios comunitarios en el wiki de termux .
Para añadir este repositorio particular a su entorno termux, ejecute
# Get some needed tools. coreutils for mkdir command, gnugp for the signing key, and apt-transport-https to actually connect to the repo
apt-get update
apt-get --assume-yes upgrade
apt-get --assume-yes install coreutils gnupg2 apt-transport-https wget
# Make the sources.list.d directory
mkdir $PREFIX/etc/apt/sources.list.d
# Write the needed source file - Added Missing "> character on line below
echo "deb [trusted=yes] https://its-pointless.github.io/files/ termux extras" > $PREFIX/etc/apt/sources.list.d/pointless.list
# Download signing key from https://its-pointless.github.io/pointless.gpg
wget https://its-pointless.github.io/pointless.gpg
apt-key add pointless.gpg
# Update apt
apt update
(instrucciones tomadas de https://github.com/its-pointless/its-pointless.github.io/blob/master/setup-pointless-repo.sh )
Las instrucciones han sido actualizadas, para cualquiera que venga aquí mejor revisar el archivo sh en el último enlace.
Es una solución muy interesante.
Primera descarga GCC para C4droid de Google Play.
Ve a buscar su apk en /data/app/com.n0n3m4.gcc4droid-#
, tome el APK y extraiga /assets/gcc.zip
. Ahora extraiga gcc.zip
a
/data/data/com.termux/files/usr/libexec
Aplique chmod -R 644
a toda la carpeta y chmod -R 755
a ARCH/bin
, bin
y libexec
. Vincular los programas gcc a $PREFIX/bin
y podrá utilizar GCC en lugar de Clang. Recuerda añadir -pie
al compilar los ejecutables.
Instale Arch Linux en Termux PRoot para obtener un entorno de desarrollo Linux completo. Ver https://sdrausty.github.io/TermuxArch/docs/install para las instrucciones de instalación. Utilice pacman -S base base-devel
para instalar el entorno de desarrollo que incluye GCC.
He creado termux repo con gcc 10.2.0, allí cómo instalar https://cctools.info/index.php/Termux_repository_with_cctools_packages_(gcc_con_soporte_fortran_etc)
Añade la clave pública de los paquetes cctools:
wget -O - https://cctools.info/public.key | apt-key add -
Crear una nueva lista de repositorios:
echo "deb https://cctools.info termux cctools" > $PREFIX/etc/apt/sources.list.d/cctools.list
Actualizar las listas de paquetes:
apt update
Instale el paquete gcc-cctools (instalará binutils-cctools automáticamente):
apt install gcc-cctools
Instala el paquete NDK para tu arquitectura Android, utiliza el más reciente, por ejemplo para aarch64:
apt install ndk-sysroot-cctools-api-26-aarch64
Para mostrar todos los sysroots ndk para aarch64:
apt search ndk-sysroot-cctools | grep aarch64
Añade el directorio con los nuevos compiladores al PATH:
export PATH=$PREFIX/../cctools-toolchain/bin:$PATH
Compruébalo:
gcc -v
PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.