Xiphos

Xiphos on Ubuntu 20.04

I have been using Xiphos as my Bible app on my laptop for quite a while. Ubuntu 20.04 left me with quite a surprise when it wasn’t found!

$ sudo apt install xiphos
[sudo] password for skp: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package xiphos

I’m thinking that it has to do with some dependencies that are outdated, but I’m not sure.

I found though that I could manually compile Xiphos and it still works just fine. Here are the commands that I used…

First, I need to make sure some packages are installed:

sudo apt install git \
                 appstream-util \
                 cmake \
                 g++ \
                 desktop-file-utils \
                 fp-utils \
                 gsettings-desktop-schemas-dev \
                 intltool \
                 itstool \
                 libdbus-glib-1-dev \
                 libenchant-dev \
                 libgail-3-dev \
                 libglade2-dev \
                 libgtk-3-dev \
                 libminizip-dev \
                 libsword-dev \
                 libwebkit2gtk-4.0-dev \
                 libxml2-dev \
                 libxml2-utils \
                 make \
                 python-dev \
                 curl

Next, I needed to create a number of directories. Several dependencies need to be built in their own directories first. Then, I need a blank directory in which to build Xiphos itself.

cd ~/Downloads
mkdir xiphos-build
cd xiphos-build
mkdir build
mkdir gtkhtml
mkdir biblesync
git clone https://github.com/crosswire/xiphos.git

Now that the directory structure is in place, I need gtkhtml. I built it with this:

cd gtkhtml
curl -Ls -o gtkhtml-4.10.0.tar.xz https://download.gnome.org/sources/gtkhtml/4.10/gtkhtml-4.10.0.tar.xz
tar xf gtkhtml-4.10.0.tar.xz
cd gtkhtml-4.10.0
./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/gtkhtml4 --localstatedir=/var --disable-static
make -j2
sudo make install

Next, Biblesync is another requirement:

cd ../../biblesync
curl -Ls -o biblesync-1.2.0.tar.gz https://github.com/karlkleinpaste/biblesync/archive/1.2.0.tar.gz
tar xf biblesync-1.2.0.tar.gz
cd biblesync-1.2.0
mkdir -p build
cd build

Finally, I built Xiphos itself. I had an issue with the html requirement. I had to add the “-DGTKHTML=ON” option to get around that.

cmake -DGTKHTML=ON -DBUILD_SHARED_LIBS=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=/usr/lib ../xiphos
make -j2
sudo make install
cd ../../../build
swig uuid-dev uuid-runtime yelp-tools xzip
cmake -DCMAKE_INSTALL_PREFIX=/usr -DWEBKIT1=ON ../xiphos
make -j$(nproc)
sudo make install

So, this at least got Xiphos installed. I wish it were easier, but at least I have it working. Please comment if you see something I could have done better or if you have details on why it was removed from the Ubuntu repositories.

Update

I was able to connect with one of the developers on IRC. It looks like the GtkHTML dependency was the issue that knocked it out of the repositories for Ubuntu 20.04. He pointed me to their mailing list. Here’s a personal PPA, but it’s probably better to build it.

Resources

2 thoughts on “Xiphos on Ubuntu 20.04

  1. I followed the directions you gave but had to use the below commands to install xiphos.

    From:https://xiphos.org/download/

    cd xiphos
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
    make -C build
    sudo make -C build install

    Thanks for you direction
    Bruce

    1. Bruce,

      Thanks for reporting back. I’ll have to play with it some more. I may have gotten mixed up with my notes.

Leave a Comment

Your email address will not be published. Required fields are marked *