Problem updating / installing Flair (Ubuntu 22.04 LTS)

I’m using Ubuntu 22.04 LTS.

I’m having an issue with the updating of Flair, there is some part of my installation that is broken for reasons I don’t understand. I tried first to use the method of updating via the repository (sudo apt-get update, sudo apt-get upgrade), and I get the following output:

Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
You might want to run ‘apt --fix-broken install’ to correct these.
The following packages have unmet dependencies:
flair-geoviewer : Depends: flair (= 3.2-2) but 3.2-1 is installed
E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).

Running the attempted fix suggested does not work.

I removed both flair and geoviewer, then I tried to reinstall them:

mvandijk@mvandijk-VirtualBox:~$ sudo apt install flair
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following packages were automatically installed and are no longer required:
libflashrom1 libftdi1-2 libllvm13
Use ‘sudo apt autoremove’ to remove them.
The following NEW packages will be installed:
flair
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
1 not fully installed or removed.
Need to get 0 B/40.9 MB of archives.
After this operation, 73.8 MB of additional disk space will be used.
(Reading database … 267311 files and directories currently installed.)
Preparing to unpack …/archives/flair_3.2-2_all.deb …
Unpacking flair (3.2-2) …
dpkg: error processing archive /var/cache/apt/archives/flair_3.2-2_all.deb (–unpack):
trying to overwrite ‘/usr/local/flair/geoviewer.so’, which is also in package flair-geoviewer 3.2-2
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/flair_3.2-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I tried to use the .deb packages instead:

sudo dpkg -i flair_3.2-2_ubuntu22.04_all.deb flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb
Selecting previously unselected package flair.
(Reading database … 267256 files and directories currently installed.)
Preparing to unpack flair_3.2-2_ubuntu22.04_all.deb …
Unpacking flair (3.2-2) …
Selecting previously unselected package flair-geoviewer.
Preparing to unpack flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb …
Unpacking flair-geoviewer (3.2-2) …
dpkg: error processing archive flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb (–install):
trying to overwrite ‘/usr/local/flair/geoviewer.so’, which is also in package flair 3.2-2
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
dpkg: dependency problems prevent configuration of flair:
flair depends on flair-geoviewer; however:
Package flair-geoviewer is not installed.
dpkg: error processing package flair (–install):
dependency problems - leaving unconfigured
Processing triggers for shared-mime-info (2.1-2) …
Processing triggers for hicolor-icon-theme (0.17-2) …
Processing triggers for mailcap (3.70+nmu1ubuntu1) …
Processing triggers for gnome-menus (3.36.0-1ubuntu3) …
Processing triggers for desktop-file-utils (0.26-1ubuntu3) …
Errors were encountered while processing:
flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb
flair

sudo dpkg -i flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb
(Reading database … 268849 files and directories currently installed.)
Preparing to unpack flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb …
Unpacking flair-geoviewer (3.2-2) …
dpkg: error processing archive flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb (–install):
trying to overwrite ‘/usr/local/flair/geoviewer.so’, which is also in package flair 3.2-2
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
flair-geoviewer_3.2-2_ubuntu20.04_amd64.deb

Then I tried compiling from the tgz:
mvandijk@mvandijk-VirtualBox:~/software/flair/flair-geoviewer-3.2$ make
make -C viewer
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/viewer’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/viewer’
make -C farm
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/farm’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/farm’
make -C geometry
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/geometry’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/geometry’
make -C data
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/data’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/data’
make -C graph
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/graph’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/graph’
make -C math
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/math’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/math’
make -C tool
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/tool’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/tool’
make -C xdraw
make[1]: Entering directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/xdraw’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘/home/mvandijk/software/flair/flair-geoviewer-3.2/xdraw’
make: *** No rule to make target ‘/usr/include/tcl8.6/tk.h’, needed by ‘geoviewer.o’. Stop.

Any guidance on any of these methods would be helpful! Thank you,

Maarten

I’ve managed (with some help from colleagues) to find a fix for now when compiling from source. The steps I took are the following

First: remove flair and the geoviewer completely:
sudo apt-get remove --purge flair flair-geoviewer
sudo apt-get autoremove

Install the tk-dev package (this contains the parts that it said it missed when compiling from source):
sudo apt-get install tk-dev

Then, download the source files for flair and the geoviewer. The z is omitted relative to the installation instructions because the package seems to not be in the gzip format:

tar -xvf ./flair-geoviewer-3.2-2.tgz
tar -xvf ./flair-3.2-2
cd flair-geoviewer-3.2
make
make install DESTDIR=…/flair-3.2/

This fixed the problem for me, hope it helps someone else out there!
(add the flair installation directory to your PATH if you want to be able to start it automatically)