Licencia: GPLv2

Se puede conseguir el código fuente de la última versión de desarrollo en nuestro repositorio git o se puede descargar Subsurface-4.6.4.tgz desde nuestro sitio web.

Subsurface utiliza algunas librerías y entornos de código abierto para hacer su trabajo. Las principales incluyen libdivecomputer, Qt, Marble (más concretamente libmarblewidget), libxml2, libxslt, libsqlite3, libzip, libgrantlee5 y libgit2.

A continuación, se proporcionan instrucciones para compilar Subsurface en algunas distribuciones populares de Linux, para compilarlo en un Mac utilizando Homebrew, y para hacer compilación cruzada para Windows. La falta de un sistema de paquetes para Windows hace que sea realmente difícil compilar Subsurface nativamente en este SO; simplemente no tenemos la capacidad para soportarlo.

Todos los binarios precompilados que proporcionamos (actualmente, Windows, Mac, Ubuntu/Debian/LinuxMint and OpenSUSE/Fedora) se han construido usando nuestros propios “sabores” de libdivecomputer y libmarblewidget. Puedes obtenerlos del servidor git de Subsurface

git://git.subsurface-divelog.org/marble (in the Subsurface-branch branch)
git://git.subsurface-divelog.org/libdc (in the Subsurface-branch branch)

Subsurface necesita Qt5, en Mac se recomienda Qt5.4 o posterior, para poder tener Bluetooth nativo es necesario Qt5.5.

De igual forma, para poder tener nuestro almacenamiento en la nube completamente funcional, se necesita libgit2 0.23 o posterior.

Para terminar, en Subsurface 4.5 se ha cambiado el sistema de compilación a cmake.
Las compilaciones basadas en qmake ya no se soportan.

Opciones de compilación para Subsurface

Con cmake es muy sencillo editar las opciones de compilación de Subsurface. Una vez que hayas seguido el proceso de construcción que se explica a continuación, simplemente ejecuta

ccmake .

en el directorio de Subsurface y eso te mostrará las opciones importantes y sus ajustes actuales.

El archivo Makefile que se creó usando cmake puede ser forzado a ser más locuaz ejecutando

make VERBOSE=1

Compilar Subsurface en Linux

En Fedora se puede hacer

sudo dnf install git gcc-c++ make autoconf automake libtool cmake 
        libzip-devel libxml2-devel libxslt-devel libsqlite3x-devel 
        libgit2-devel libudev-devel libusbx-devel libcurl-devel libssh2-devel 
        qt5-qtbase-devel qt5-qtdeclarative-devel qt5-qtscript-devel 
        qt5-qtwebkit-devel qt5-qtsvg-devel qt5-qttools-devel 
        qt5-qtconnectivity-devel qt5-qtlocation-devel

Lamentablemente, en OpenSUSE los nombres de paquetes son distintos

sudo zypper install git gcc-c++ make autoconf automake libtool cmake libzip-devel 
        libxml2-devel libxslt-devel sqlite3-devel libgit2-devel libusb-1_0-devel 
        libqt5-linguist-devel libqt5-qttools-devel libQt5WebKitWidgets-devel 
        libqt5-qtbase-devel libQt5WebKit5-devel libqt5-qtsvg-devel 
        libqt5-qtscript-devel libqt5-qtdeclarative-devel 
        libqt5-qtconnectivity-devel libqt5-qtlocation-devel

En Debian, Ubuntu y Linux Mint, lo siguiente parece funcionar

sudo apt-get install git g++ make autoconf libtool cmake pkg-config 
        libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev 
        automake libusb-1.0-0-dev libgit2-dev libssl-dev 
        qt5-default qt5-qmake qtchooser qttools5-dev-tools libqt5svg5-dev 
        libqt5webkit5-dev libqt5qml5 libqt5quick5 libqt5declarative5 
        qtscript5-dev libssh2-1-dev qttools5-dev 
        qtpositioning5-dev qtconnectivity5-dev

Para compilar Subsurface, utiliza el script que se suministra. Esto debería funcionar en la mayoría de sistemas que tengan todos los paquetes requeridos ya instalados. Comienza por descargar el código fuente de Subsurface en un lugar que tenga sentido, algo como:

mkdir -p ~/src
cd ~/src
git clone  git://github.com/Subsurface-divelog/subsurface
cd subsurface
git checkout v4.6.4
cd ..
./subsurface/scripts/build.sh 

Y ahora podrías ejecutar Subsurface como sigue:

cd ~/src/subsurface/build
./subsurface

Compilar Subsurface en MacOS X

0) Es necesario tener instalado XCode. La primera vez (y posiblemente tras actualizar OSX) se necesita ejecutar

$ xcode-select --install

1) Instalar Homebrew.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2) Instalar las dependencias necesarias.

$ brew install automake autoconf libtool asciidoc libzip sqlite cmake 
        libusb libssh2 pkg-config hidapi

3) Hacer que la versión “brew” de sqlite sea la versión por defecto

$ brew link --force sqlite

4) Descargar Qt desde http://www.qt.io/download-open-source/ En el instalador, selecciona un directorio de instalación, p.e. /home/username/Qt5en “Seleccionar componentes” selecciona la versión más reciente y deseleccionar los paquetes Android y iOS, así como QtWebEngine, Qt3D, Qt Canvas 3D y los Qt Extras.
5) ejecuta el script “build”

cd ~/src
bash subsurface/scripts/build.sh

Tras haber hecho esto, Subsurface.app estará disponible en el directorio subsurface/buid. Se puede ejecutar Subsurface con el comando

open subsurface/build/Subsurface.app

o mover la carpeta a /Applications para instalar Subsurface para todos los usuarios.

Subsurface Companion App en Android

Esta app no es Subsurface-mobile (que se compila desde el antedicho repositorio principal). Es una app más antigua que solo se usaba para registrar posiciones GPS de los sitios de buceo.

Esta aplicación está disponible en Google Play Store. También es GPLv2 y el código fuente está en git://subsurface-divelog.org/subsurface-companion.git