Cos’è PosteRazor

Posterazor è un tool grafico che permette di suddividere una fotografia su più fogli in maniera che una volta stampati si possano ricomporre in unica grossa immagine.

posterazor select image

posterazor split image

Come installare PosteRazor su fedora

Su fedora è possibile installare questo tool in tre modi diversi:

  • usando il binario precompilato fornito dagli sviluppatori
  • compilando da se stessi il codice sorgente
  • abilitando il repo copr e installando il relativo rpm

Copr è un servizio fornito agli sviluppatori di fedora che permette di compilare e distribuire software per gli utenti fedora.

Usare il binario fornito dagli sviluppatori

Gli sviluppatori del progetto forniscono una versione compilata, si può scaricare dalla pagina ufficiale di download.

Una volta scaricato il pacchetto tar.gz e dopo averlo scompattato ho aperto il un terminale all’interno della cartella scompattata e ho provato a eseguire il programma:

$ ./PosteRazor 
./PosteRazor: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory

Ok sembra che il programma sia compilato usando delle librerie condivise e sul mio sistema ne manca una, per verificare usiamo il comando ldd nel seguente modo:

$ ldd PosteRazor 
	linux-gate.so.1 (0xf7fb4000)
	libX11.so.6 => /lib/libX11.so.6 (0xf7e36000)
	libXpm.so.4 => not found
	libXft.so.2 => /lib/libXft.so.2 (0xf7e1b000)
	libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7bf7000)
	libm.so.6 => /lib/libm.so.6 (0xf7b26000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7b08000)
	libc.so.6 => /lib/libc.so.6 (0xf7948000)
	libxcb.so.1 => /lib/libxcb.so.1 (0xf791a000)
	libdl.so.2 => /lib/libdl.so.2 (0xf7914000)
	libfontconfig.so.1 => /lib/libfontconfig.so.1 (0xf78c1000)
	libfreetype.so.6 => /lib/libfreetype.so.6 (0xf77fa000)
	libXrender.so.1 => /lib/libXrender.so.1 (0xf77ec000)
	/lib/ld-linux.so.2 (0xf7fb6000)
	libXau.so.6 => /lib/libXau.so.6 (0xf77e6000)
	libxml2.so.2 => /lib/libxml2.so.2 (0xf7648000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xf7626000)
	libbz2.so.1 => /lib/libbz2.so.1 (0xf7613000)
	libpng16.so.16 => /lib/libpng16.so.16 (0xf75d6000)
	libz.so.1 => /lib/libz.so.1 (0xf75bc000)
	libharfbuzz.so.0 => /lib/libharfbuzz.so.0 (0xf74e0000)
	libbrotlidec.so.1 => /lib/libbrotlidec.so.1 (0xf74d2000)
	liblzma.so.5 => /lib/liblzma.so.5 (0xf74a1000)
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xf734b000)
	libgraphite2.so.3 => /lib/libgraphite2.so.3 (0xf732a000)
	libbrotlicommon.so.1 => /lib/libbrotlicommon.so.1 (0xf7307000)
	libpcre.so.1 => /lib/libpcre.so.1 (0xf728c000)

La libreia mancante può essere installata con il comando:

$ sudo dnf install  libXpm-devel-3.5.13-5.fc34.i686

Per verificare rilanciamo il comando ldd:

$ ldd PosteRazor 
	linux-gate.so.1 (0xf7f3f000)
	libX11.so.6 => /lib/libX11.so.6 (0xf7dc1000)
	libXpm.so.4 => /lib/libXpm.so.4 (0xf7dab000)
	libXft.so.2 => /lib/libXft.so.2 (0xf7d90000)
	libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7b6c000)
	libm.so.6 => /lib/libm.so.6 (0xf7a9b000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7a7d000)
	libc.so.6 => /lib/libc.so.6 (0xf78bd000)
	libxcb.so.1 => /lib/libxcb.so.1 (0xf788f000)
	libdl.so.2 => /lib/libdl.so.2 (0xf7889000)
	libfontconfig.so.1 => /lib/libfontconfig.so.1 (0xf7836000)
	libfreetype.so.6 => /lib/libfreetype.so.6 (0xf776f000)
	libXrender.so.1 => /lib/libXrender.so.1 (0xf7761000)
	/lib/ld-linux.so.2 (0xf7f41000)
	libXau.so.6 => /lib/libXau.so.6 (0xf775b000)
	libxml2.so.2 => /lib/libxml2.so.2 (0xf75bd000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xf759b000)
	libbz2.so.1 => /lib/libbz2.so.1 (0xf7588000)
	libpng16.so.16 => /lib/libpng16.so.16 (0xf754b000)
	libz.so.1 => /lib/libz.so.1 (0xf7531000)
	libharfbuzz.so.0 => /lib/libharfbuzz.so.0 (0xf7455000)
	libbrotlidec.so.1 => /lib/libbrotlidec.so.1 (0xf7447000)
	liblzma.so.5 => /lib/liblzma.so.5 (0xf7416000)
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xf72c0000)
	libgraphite2.so.3 => /lib/libgraphite2.so.3 (0xf729f000)
	libbrotlicommon.so.1 => /lib/libbrotlicommon.so.1 (0xf727c000)
	libpcre.so.1 => /lib/libpcre.so.1 (0xf7201000)

Il porgramma si può lanciare da linea di comando come fatto nell’immagine che segue:

posterazor scaricato dal sito ufficiale

Oppure si può fare doppio click sull’eseguibile.

Compilare i sorgenti

Per compilare il programma in locale per prima cosa si deveono scaricare i sorgenti da github o dalla pagina ufficiale (attenzione sono due versioni diverse, io consiglio la versione disponibile su github)

Il passo successifo consiste nell’installazione delle dipendeze necessarie per la compilazione, operazione che si può fare con il comando:

sudo dnf install gcc-c++ gcc make qt-devel libXpm-devel libX11-devel fltk-devel freeimage-devel cmake

Successivamente è necessario usare i seguenti comandi se avete scaricato l’applicazione da github:

cd src
/usr/lib64/qt4/bin/qmake posterazor.pro
make

Oppure i seguenti comandi se avete scaricato i sorgenti dalla pagina ufficiale:

cmake .
mmake 

Al termine dell’operazione è troverete un file esegubile PosteRazor che potrete usare.

Usare la versione disponibile tramite copr

Io ho preparato questa versione partendo dal codice presente su github aggiungendo il file di configurazione necessario a far comparire nel menu di sistema l’applicazione.

Potete installare il programma con i seguenti comandi:

sudo dnf install dnf-plugins-core
sudo dnf copr enable stethewwolf/posterazor
sudo dnf install posterazor

Riferimenti

  • https://posterazor.sourceforge.io/
  • https://copr.fedorainfracloud.org/
  • https://github.com/aportale/posterazor