Compiling GDAL with GeoPDF support

Start with PROJ:

cd dev
git clone git@github.com:OSGeo/PROJ.git
cd PROJ
./autogen.sh
./configure
make -j8
sudo make install
sudo ldconfig

PDFium (from https://github.com/rouault/pdfium_build_gdal_3_1)

sudo apt install liblcms2-dev

git clone git@github.com:rouault/pdfium_build_gdal_3_1.git
cd pdfium_build_gdal_3_1/
./build_linux.sh
sudo cp -r install/include /usr/local
sudo cp -r install/lib /usr/local
sudo ldconfig

ERDAS ECW support

sudo apt install libpng-dev libtiff-dev libzstd-dev

cd dev
unzip ECWJP2SDKSetup_5.5.0.1501-linux.zip
chmod +x ECWJP2SDKSetup_5.5.0.1501.bin

Enter 1 for "Desktop Read-Only Redistributable"
yes
Unpacking the ERDAS ECW JPEG2000 SDK 5.5.0 package to /root/hexagon/ERDAS-ECW_JPEG_2000_SDK-5.5.0/Desktop_Read-Only

sudo su
cd /root/hexagon/ERDAS-ECW_JPEG_2000_SDK-5.5.0/Desktop_Read-Only/lib/cpp11abi/x64/release
cp --preserve=links * /usr/local/lib/
ldconfig

sudo cp -r /root/hexagon/ERDAS-ECW_JPEG_2000_SDK-5.5.0/Desktop_Read-Only /usr/local/hexagon

Finally, GDAL

git clone git@github.com:OSGeo/gdal.git
cd gdal/gdal
./autogen.sh
./configure --without-libtool --with-ecw=/usr/local/hexagon --with-python=python3 --with-proj=/usr/local --with-poppler --with-podofo --with-podofo-lib --with-pdfium=/usr/local --with-pdfium-lib 
make -j8
sudo make install
sudo ldconfig

# to get python support
cd swig/python
python3 setup.py build
sudo python3 setup.py install

Check if GDAL has PDF support:

$ gdalinfo --formats | grep PDF
PDF -raster,vector- (rw+vs): Geospatial PDF

If GDAL supports GeoPDF, then you can use QGIS to generate pretty PDF files.

Cartão de Cidadão no Ubuntu 19.04 (mais fácil…)

A versão Aplicação do Cartão de Cidadão (Linux – Ubuntu 18.04 – 64 bits) (v3.0.20) não instala à primeira, com o seguinte erro:

sudo dpkg -i Autenticacao.gov_Ubuntu_18_x64.deb
(Reading database … 413273 files and directories currently installed.)
Preparing to unpack Autenticacao.gov_Ubuntu_18_x64.deb …
Unpacking pteid-mw (3.0.20+git20190930-e547bd9d-1) over (3.0.20+git20190930-e547bd9d-1) …
dpkg: dependency problems prevent configuration of pteid-mw:
pteid-mw depends on qtbase-abi-5-9-5; however:
Package qtbase-abi-5-9-5 is not installed.

Forçando a instalação, consegue-se por a aplicação a funcionar (se se tiver as bibliotecas do QT instaladas), com:

sudo dpkg --force-all -i Autenticacao.gov_Ubuntu_18_x64.deb

Compiling QGIS 3.x on Ubuntu cosmic

On Ubuntu cosmic, although the Qt 3D libraries were installed, I was not able to compile QGIS with 3D support.

To compile it, we need to manually define:

-DCMAKE_PREFIX_PATH=/usr;/home/jgr/dev/cpp/QGIS/external/qt3dextra-headers/cmake
-DQT5_3DEXTRA_INCLUDE_DIR=/home/jgr/dev/cpp/QGIS/external/qt3dextra-headers/
-DQT5_3DEXTRA_LIBRARY=/usr/lib/x86_64-linux-gnu/libQt53DExtras.so

This can be defined in QT Creator, if we want to use the GUI to build QGIS:

After compiling QGIS, 3D views are available.

Cartão de Cidadão no Ubuntu 19.04

O software do Cartão de Cidadão não se consegue instalar facilmente no Ubuntu 19.04.

É preciso descarregar o pacote e modificá-lo.

Retirar a dependência qtbase-abi-5-9-5

Voltar a criar o pacote.

Pelo meio, é preciso instalar alguns pacotes, nomeadamente:

O resto pode ser instalado a partir dos repositórios.

A aplicação está renovada e mais simpática. Quando não encrava…

 

Cartão de Cidadão no Ubuntu 18.04

A aplicação do Cartão do Cidadão precisa de algum carinho para poder ser instalada no Ubuntu 18.04. Começa-se por descarregar a Aplicação do Cartão do Cidadão.

No Ubuntu 18.04 há uma dependência  libxerces-c3.1  que falha. Para resolver o problema, descarregam-se os pacotes *.deb  em falta e instalam-se manualmente.

Agora já se pode instalar a aplicação:

Ficam duas aplicações disponíveis. A aplicação Cartão de Cidadão e a aplicação Validação de Assinaturas Digitais.

Problemas adicionais

Para além das configurações anteriores, quando instalei as ferramntas de desenvolvimento (concretamente o cmake), o gestor de pacotes removeu o libcurl3 e instalou o libcurl4. Fiquei com a aplicação do Cartão de Cidadão, que depende de libcurl3.

Por isso, foi preciso dar mais uma martelada. Graças ao Evgeny Brazgin (a propósito do bug/1754294) há uma pacote que disponibiliza libcurl3 e  libcurl4.