Stránka 1 z 1

Nativní kompilace Datovka 4.29.0 na Mint 22.3

Napsal: 10 dub 2026, 07:53
od hanuivo1
Datovka na Linux Mint 22.3: zkušenost s ruční kompilací a řešení typických problémů

Kdyby to někomu ušetřilo čas: podařilo se mi rozchodit aktuální Datovku na Linux Mintu 22.3, ale cesta k tomu byla podstatně delší, než by člověk čekal. Sepisuju proto stručný postup a hlavně záseky, na které jsem narazil.

Neřeším tu Flatpak verzi. Tu jsem měl původně nainstalovanou, ale chtěl jsem mít vlastní nativní build a větší kontrolu nad tím, co přesně používám a odkud se co bere.

Co jsem kompiloval
libisds
libdatovka
Datovka samotná
Hlavní problém

Největší potíž není samotná kompilace, ale to, že build systém starší libdatovka počítá s historickými nástroji a cestami, které na současném Mintu už nejsou úplně tam, kde je čeká.

Základní balíčky

Nejdřív jsem doinstaloval běžné věci pro autotools a build:

Kód: Vybrat vše

sudo apt update
sudo apt install autoconf automake libtool pkg-config make gcc m4 perl \
  libssl-dev libgcrypt20-dev libgpgme-dev \
  docbook-xsl xsltproc docbook-xml \
  qtbase5-dev qttools5-dev libqt5svg5-dev
Poté budete potřebovat - stáhnout a instalovat - další tři věci přímo ze zdrojových webů:

I. libisds
http://xpisar.wz.cz/libisds/#:~:text=Th ... DS%20Act.)
Stáhnout "správnou" verzi (nebo naklonovat z GITu) + kompilovat ./configure && make && make install. Vhodná verze bývá ta poslední dosažitelná.

II. a III. libssl a libssl-dev
Z http://security.ubuntu.com/ubuntu/pool/main/o/openssl/ stáhněte poslední verzi libssl knihovny ve verzi 1.1. Verze 2.xx nestahujte. datovka akceptuje jen 1.1. Poslední verze k dispozici v době psaní tohoto dokumentu byla 1.1.1f-1ubuntu2.24. Stáhněe knihovnu pro svou platformu a její vávojový balíček a standardně instalujte:

Kód: Vybrat vše

sudo dpkg -i libssl_1.1.1f-1ubuntu2.24 libssl-dev_1.1.1f-1ubuntu2.24
A teď ta vlastní práce:

1. Problém: DocBook XSL stylesheets

./configure u libdatovka skončilo chybou typu:

checking for DocBook XSLT stylesheet location in "/usr/share/sgml/docbook/xsl-stylesheets"... configure: error: missing!

Přitom balík docbook-xsl byl nainstalovaný.

Na Mintu 22.3 jsou ale styly jinde, takže pomohl symlink:

Kód: Vybrat vše

sudo mkdir -p /usr/share/sgml/docbook
sudo ln -s /usr/share/xml/docbook/stylesheet/docbook-xsl /usr/share/sgml/docbook/xsl-stylesheets
Pak už ./configure prošlo dál.

2. Problém: chybějící gcrypt.h

Při make v libdatovka to spadlo na:

fatal error: gcrypt.h: No such file or directory

Pomohlo doinstalovat:

Kód: Vybrat vše

sudo apt install libgcrypt20-dev
3. Problém: chybějící Qt SVG modul

Při qmake u Datovky se objevilo:

Project ERROR: Unknown module(s) in QT: svg

Pomohlo:

Kód: Vybrat vše

sudo apt install libqt5svg5-dev
4. Nejzákeřnější problém: gpgme-config

Tohle byl největší zásek.

libdatovka se sice nakonec přeložila, ale při linkování Datovky padaly chyby na symboly typu:

undefined reference to `gpgme_...'
undefined reference to `gcry_...'

Ukázalo se, že libdatovka sice viděla libgcrypt, ale nepropadlo do ní správně gpgme, protože build systém čekal starý helper gpgme-config, který už na současném systému není k dispozici.

Pomohlo vytvořit jednoduchý wrapper /usr/local/bin/gpgme-config:

Kód: Vybrat vše

#!/bin/sh
case "$1" in
  --version)
    pkg-config --modversion gpgme
    ;;
  --cflags)
    pkg-config --cflags gpgme
    ;;
  --libs)
    pkg-config --libs gpgme
    ;;
  *)
    echo "usage: gpgme-config [--version|--cflags|--libs]" >&2
    exit 1
    ;;
esac
Pak:

Kód: Vybrat vše

sudo chmod +x /usr/local/bin/gpgme-config
A hlavně potom znovu celé přebuildit libdatovka od začátku, ne jen pokračovat v make:

Kód: Vybrat vše

make distclean || make clean
autoreconf -fi
./configure
make -j"$(nproc)"
sudo make install
sudo ldconfig
Pak už kontrola:

Kód: Vybrat vše

ldd /usr/local/lib/libdatovka.so | egrep 'gpgme|gcrypt|gpg-error'
vracela všechny tři knihovny, což byl správný stav.

5. Build Datovky

Pak už šla samotná Datovka normálně:

Kód: Vybrat vše

qmake
make -j"$(nproc)"
sudo make install
sudo ldconfig
6. Přesun dat z Flatpaku
Původně jsem měl Datovku z Flatpaku.

Data a konfigurace jsem našel tady:

Kód: Vybrat vše

~/.var/app/org.cznic.Datovka/data
~/.var/app/org.cznic.Datovka/config
Po přestěhování do nativní instalace všechno naběhlo.

7. Poznámka k výkonu po prvním startu

Po prvním spuštění se mi Datovka po připojení na chvíli tvářila jako zatuhlá. Nakonec se ale po několika minutách rozběhla a další spuštění už byla lepší. Takže pokud se po migraci dat nebo po prvním přihlášení zdá, že „visí“, nemusí to hned znamenat rozbitou instalaci. Může to být jednorázové zpracování databází nebo synchronizace. Zkuste taky prověřit zda něco neblokuje síť (firewall).

Shrnutí

Na Linux Mint 22.3 Datovku rozchodit jde, ale člověk narazí na několik historických pastí:

stará očekávaná cesta k DocBook XSL stylesheets
chybějící libgcrypt20-dev
chybějící libqt5svg5-dev
build systém libdatovka, který čeká gpgme-config

Takže pokud někdo narazí na podobné chyby, chyba není nutně mezi židlí a klávesnicí. Ten build je prostě na dnešní distribuci už dost archeologie.

Kdyby to někomu pomohlo, budu rád.