Generar para Linux
Last Updated on 2026-04-16
Por favor, lea la guía general de compilación para obtener información sobre las dependencias necesarias para todas las plataformas. En este archivo solo se incluyen instrucciones específicas para Linux.
~~Puedes usar el Overte Builder para construir en Linux más fácilmente. Alternativamente, puede seguir los pasos manuales a continuación.~~ (Actualmente desactualizado.)
Esta documentación asume que está ejecutando nuestra distribución de destino actual, que es Ubuntu 22.04. La distribución de destino es normalmente la última LTS de Ubuntu que aún recibe soporte estándar, aunque podemos actualizar un poco antes si necesitamos ciertos paquetes más nuevos. Los números de versión de Ubuntu son códigos de fecha y el soporte estándar es de 5 años, lo que significa que Ubuntu 22.04 deja el soporte estándar después de alrededor de 2027-04.
Instalar las herramientas de compilación:
Primero actualice el cache y su sistema:
sudo apt update
sudo apt upgrade
Instalar git y g++
sudo apt install git g++
Instalar CMake. Requerimos una versión de CMake más reciente que la 3.22.1, que viene en Ubuntu 22.04, así que instalamos los paquetes de CMake proporcionados por upstream aquí: https://apt.kitware.com/
Obtén el "Instalador Ubuntu / Debian" de conan desde https://conan.io/downloads e instálalo usando:
sudo apt install ./conan-*.deb
Verifica que conan fue instalado ejecutando conan --version.
Instalar las dependencias de compilación:
La mayoría de las dependencias serán instaladas automáticamente por Conan. Esta sección sólo enumera las dependencias que podrían no ser gestionadas por Conan.
OpenGL:
sudo apt-get install libgl1-mesa-dev -y
Verifique OpenGL:
Primero instale mesa-utils con el comando
sudo apt install mesa-utils -y.Luego ejecute
glxinfo | grep "OpenGL version".
Dependencias extra para compilar Interfaz en el servidor
Instalar lo siguiente:
sudo apt install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
Dependencias misceláneas:
sudo apt install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev zlib1g-dev
Instalar Python 3 y los paquetes requeridos:
sudo apt install python python3 python3-distro
Instala Node.js ya que es necesario para construir la documentación jsdoc:
sudo apt install nodejs
Obtén el código y habilita la rama que necesites
Clona este repositorio:
git clone https://github.com/overte-org/overte.git
Luego vaya a la rama master con:
git checkout master
Si necesitas otra rama, puedes obtener una lista de todas las etiquetas (tags) con:
git fetch --tags
git tag
Preparar conan
El siguiente paso es configurar conan
Primero, crea un perfil conan
conan profile detect --force
Luego, agregue el repositorio remoto de Overte a conan
conan remote add overte https://artifactory.overte.org/artifactory/api/conan/overte -f
Let conan automatically install the required system packages
echo "tools.system.package_manager:mode = install" >> ~/.conan2/global.conf
echo "tools.system.package_manager:sudo = True" >> ~/.conan2/global.conf
If you don't do this, Conan will still complain if it notices system packages being missing, so you can manually install them.
Compilación
Instalar las dependencias con conan
cd overte
conan install . -s build_type=Release -b missing -pr:b=tools/conan-profiles/linux -of build -c tools.cmake.cmaketoolchain:generator="Ninja Multi-Config"
If you want to build Debug or RelWithDebInfo versions, change the build_type to Debug or RelWithDebInfo and run the command again. E.g.:
conan install . -s build_type=Debug -b missing -pr:b=tools/conan-profiles/linux -of build -c tools.cmake.cmaketoolchain:generator="Ninja Multi-Config"
Prepare ninja files:
cmake --preset conan-default
Servidor
Compilar el Servidor de Dominio:
cmake --build --preset conan-release --target domain-server assignment-client
Nota: Para un servidor, no es necesario compilar la interfaz.
Interface
Para compilar la interfaz cliente:
cmake --build --preset conan-release --target interface
Ejecuta el instalador
Servidor de Dominio
Ejecutando el Servidor de Dominio:
./domain-server/domain-server
Clientes de Asignación
Ejecutando el Cliente de Asignación:
./assignment-client/assignment-client -n 6
Interface
Interfaz en ejecución:
./interface/interface
Vaya a "localhost" en la interfaz cliente para visitar su recién lanzado servidor de Dominio.
Unit Testing
Overte contains some unit tests based on the Qt Test API. Using them for developing changes and improvements is highly encouraged. They're also useful when testing thread safety and memory safety is needed, as the interface binary is far too big to run under Valgrind.
To build the tests, first run CMake with the -DOVERTE_BUILD_TESTS=ON argument, eg:
cmake --preset conan-debug -DOVERTE_BUILD_TESTS=ON
The tests are still not built by default, the test target has to be built with:
make all-tests
The tests will be generated under the tests/ directory, grouped by category. To run all of them, use the test target. This produces a test summary of
pass/fail results.
make test
To run just one, go into the corresponding directory and run the binary. This will produce a more detailed output, which can be useful for debugging.
cd tests/audio
./audio-CodecTests
For developing new tests, see the Qt Test documentation. Tests need to be in tests/$category/${name}Tests.h and tests/$category/${name}Tests.cpp (the Tests.cpp naming is important).