¿Cómo compilar TDLib para Linux?

Hace unos días os explicamos como compilar esta misma librería para Windows. Hoy os vamos a enseñar a compilar TDLib para Linux, para desarrollar este tutorial usamos Ubuntu Server 16.04 LTS pero lo podéis seguir para cualquier otra distribución Linux.

Lo primero que debemos de hacer es asegurarnos de tener actualizados los listados de repositorios de nuestra sistema (hacer un apt-get update), podéis usar el siguiente comando desde la terminal:

sudo apt -y update

Procedemos a instalar el compilador "g++" y las dependencias que necesitaremos para poder compilar TDLib con el siguiente comando:

apt install -y g++ ccache openssl cmake gperf make git libssl-dev libreadline-dev zlib1g zlib1g-dev

Una cosa muy importante a tener en cuenta es la versión de OpenSSL que tiene instalada nuestro sistema operativo, en mi caso tenía la versión 1.0.2g. Después de compilar TDLib al intentar ejecutarlo obtenía el mensaje de error "Segmentation Fault" debido a que la versión de OpenSSL que estaba usando era muy antigua.

⚠️ IMPORTANTE: Para compilar TDLib la versión de OpenSSL tiene que ser mayor o igual a la versión 1.1.0. En el caso de tener una versión más antigua actualízala.

Para comprobar que versión de OpenSSL tenemos instalada podéis usar el siguiente comando:

openssl version

Una vez que contamos con la versión correcta de OpenSSL buscamos un directorio para descargar TDLib, puede ser la carpeta home de nuestro usuario, en la carpeta tmp o en mi caso /var/www por usar un directorio cualquiera.

Una vez estamos en un directorio donde tenemos permisos de escritura, escribimos el siguiente comando para proceder a clonar el repositorio del código fuente de TDLib:

git clone https://github.com/tdlib/td.git

Si os dice comando "git" no reconocido recordar instalarlo con el siguiente comando apt-get install git

Una vez clonado el repositorio se nos crea una carpeta llamada "td". Usamos el siguiente comando para entrar en la carpeta:

cd td

Una vez dentro de la carpeta "td" creamos una nueva carpeta llamada "build" con el siguiente comando:

mkdir build

Entramos dentro de la carpeta "build":

cd build

Lo último que nos queda por hacer es realizar la compilación de esta librería, para ello solo tenemos que poner en la terminal estos dos comandos:

cmake -DCMAKE_BUILD_TYPE=Release ..
make -j 2

Una vez terminada la compilación el único archivo que necesitamos de la carpeta "build" es el archivo libtdjson.so, con poner ese archivo en la carpeta donde queramos poner nuestro proyecto es más que suficiente.

¿Cómo compilar TDLib para Windows?

Espero que este tutorial os ayude a empezar a sumergiros en el mundo de TDLib y probar una de las librerías más potentes para hacer apps personalizadas, integraciones, userbots, un sistema de Backup que suba los archivos a Telegram... las posibilidades son infinitas.