Repository Issue with LMDE 4

OK, here we go - here's the "recipe" for a fresh build of xiphos on Debian Stable.
Assuming all of the dependencies are correctly solved here - This should work flawlessly for Mint Debian edition and will probably work with Ubuntu and Ubuntu based editions of Mint too.

NOTE: What follows is NOT a script - it's definitely more of a recipe/process.
I'd recommend entering, or copy/pasting each of the commands into a terminal and checking that they all succeed.
Also - as a programmer - my system is pretty dirty. I have a lot of libraries and tools already installed, so if anything is missing from the list - I apologise.

Find a nice empty directory somewhere in your file-system ready to start.
Then do the following:

# 1. Install necessary build-tools:
Bash:
sudo apt install git cmake build-essential

# 2. Install build-deps for gtkhtml:
Bash:
sudo apt install libgtk-3-dev libgail-3-dev libenchant-dev iso-codes gnome-icon-theme gnome-common gsettings-desktop-schemas gsettings-desktop-schemas-dev

# 3. Clone gtkhtml source code:
Bash:
git clone https://github.com/chopins/gtkhtml.git
cd gtkhtml

# 4. Configure gtkhtml:
NOTE:
If either of the following two steps fails, let me know.
You will need to install some extra packages via apt and run the failed command again!

# 4.a. Run autogen.sh: (This creates the ./configure script)
Bash:
./autogen.sh

# 4.b. Run configuration script: (this generates the Makefile)
Bash:
./configure

# 5. Build and install libgtkhtml:
# 5.a. Run make:

Bash:
make
NOTE: If the above fails (it shouldn't) - we have a problem to fix....Let me know!
If it succeeds:
# 5.b. Install libgtkhtml:
Bash:
sudo make install
cd ../

# 6. Install build deps for xiphos
Bash:
sudo apt build-dep xiphos xiphos-data
sudo apt install appstream-util yelp yelp-tools minizip libminizip-dev

# 7. Clone xiphos source code
Bash:
git clone https://github.com/crosswire/xiphos.git
cd xiphos
mkdir build

# 8. build and install xiphos
# 8.a. Configuration
- if this fails, we have missing libs to install - let me know
Bash:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON

Once the above step succeeds:
# 8.b. Build Xiphos:
Bash:
make -C build

# 8.c. Install Xiphos:
Bash:
sudo make -C build install

DONE!

NOTE: As mentioned in my other post - the build system for Xiphos does NOT appear to have an uninstall target.
Unless I've missed something, the only way to uninstall it after installing from source is to manually remove everything it installs... :/
Which seems a little misguided/malicious on the part of the developers.

Anyway - it configured and built for me using this process.

Whether or not it will run is anybody's guess. I didn't try installing it after building it, for the reason above. I tried running it locally, but it crashed with an error. But I think that's because I hadn't installed it - so things weren't where the executable was expecting them to be! But if it is installed, I imagine it will probably run!
 
Last edited:


I'm having trouble at step 8-a

System-Product-Name:~/Downloads/biblesync-master/build/linux/gtkhtml$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error: The source directory "/home/cora/Downloads/biblesync-master/build/linux/gtkhtml/build" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
 
Ah... ok.

try running mkdir build and then try step 8.a again!
 
Also, if you followed my instructions exactly and you’re on step 8.a, you should be inside the source code for xiphos, but your post says you’re in the root of the gtkhtml source code.....
The cmake command in 8.a should be ran inside the xiphos directory.
 
Xiphos is in my Downloads directory.
However when I try to cd into that directory the command line returns no such file or directory.

-System-Product-Name:~/Downloads$ ls
biblesync-master build-essential_12.4ubuntu1_amd64.deb xiphos-4.2.1
biblesync-master.zip net.downloadhelper.coapp-1.5.0-1_amd64.deb
-System-Product-Name:~/Downloads$ cd Downloads/xiphos-4.2.1/
bash: cd: Downloads/xiphos-4.2.1/: No such file or directory
-System-Product-Name:~/Downloads$ cd ~
-System-Product-Name:~$ cd xiphos
bash: cd: xiphos: No such file or directory

What am I doing wrong?
 
System-Product-Name:~/Downloads/xiphos-4.2.1$ mkdir build
-System-Product-Name:~/Downloads/xiphos-4.2.1$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error: The source directory "/home/cora/Downloads/xiphos-4.2.1/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
 
Once again, you didn’t follow the directions in my post. You haven’t used git clone to get the latest source. I’m assuming that’s from a zip of the point release......
 
Once again, you didn’t follow the directions in my post. You haven’t used git clone to get the latest source. I’m assuming that’s from a zip of the point release......
I just ran this a second time:

System-Product-Name:~$ git clone https://github.com/crosswire/xiphos.git
Cloning into 'xiphos'...
remote: Enumerating objects: 51, done.
remote: Counting objects: 100% (51/51), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 52077 (delta 12), reused 27 (delta 7), pack-reused 52026
Receiving objects: 100% (52077/52077), 92.70 MiB | 310.00 KiB/s, done.
Resolving deltas: 100% (38864/38864), done.

System-Product-Name:~$ cd xiphos
-System-Product-Name:~/xiphos$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error: The source directory "/home/cora/xiphos/build" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
 
Ok. Looking good!
For some reason you need to run mkdir build in the xiphos directory.
I don’t recall having to do that myself, but it seems like it’s needed for you. I’ve added that to step 7 in the post with the recipe!

after running the mkdir, try running step 8 again!
 
Last edited:
System-Product-Name:~/xiphos$ mkdir build
-System-Product-Name:~/xiphos$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error: The source directory "/home/cora/xiphos/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
-System-Product-Name:~/xiphos$ make -C build
make: Entering directory '/home/cora/xiphos/build'
make: *** No targets specified and no makefile found. Stop.
make: Leaving directory '/home/cora/xiphos/build'
-System-Product-Name:~/xiphos$
-System-Product-Name:~/xiphos$
-System-Product-Name:~/xiphos$ sudo make -C build install
[sudo] password for c
Sorry, try again.
[sudo] password for c
make: Entering directory '/home/cora/xiphos/build'
make: *** No rule to make target 'install'. Stop.
make: Leaving directory '/home/cora/xiphos/build'
 
Ok That’s weird. Again, the cmake command worked for me when i did my build.
That’s the cmake command listed in the build instructions for xiphos. It created a build directory, configured the build and created a Makefile in the build directory.....

Perhaps try this instead:
Code:
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
 
I tried cd build and it's still not acting right--

System-Product-Name:~/xiphos$ cd build
-System-Product-Name:~/xiphos/build$
-System-Product-Name:~/xiphos/build$
-System-Product-Name:~/xiphos/build$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error: The source directory "/home/cora/xiphos/build/build" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
cora@cora-System-Product-Name:~/xiphos/build$
cora@cora-System-Product-Name:~/xiphos/build$ make -C build
make: *** build: No such file or directory. Stop.
cora@cora-System-Product-Name:~/xiphos/build$
cora@cora-System-Product-Name:~/xiphos/build$
cora@cora-System-Product-Name:~/xiphos/build$ sudo make -C build install
[sudo] password for
Sorry, try again.
[sudo] password for
make: *** build: No such file or directory. Stop

Not sure what's going on and you?
 
Read my previous post again and then take a look at what you did and see the difference...

Try the command I posted in my previous post and let me know if it succeeds.... My “recipe” still has the official instructions for building in it, but seeing as that was failing for you, the previous post was an alternative idea to try.

what I posted in my last post was:
Bash:
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON

If this fails - let me know what errors you get.
It shouldn’t, unless you have any libs missing - which would mean that I already had them installed when I did my build and haven’t included them in the dependencies in the “recipe“.

If it succeeds, you can just use:
Bash:
make
sudo make install

Once we know what works for you, I’ll update the “recipe” post.
Believe it or not, we’re close on this!
 
Unfortunately, it failed with an error:

System-Product-Name:~/xiphos/build$ cmake ../ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DGTKHTML=ON
CMake Error at CMakeLists.txt:21 (cmake_minimum_required):
CMake 3.11 or higher is required. You are running version 3.10.2


-- Configuring incomplete, errors occurred!
 
Ah..... that’s rather unexpected..... and annoying!! OK.... I’ll fire up my laptop in a bit and will see what we can do about that!
 
Ah..... that’s rather unexpected..... and annoying!! OK.... I’ll fire up my laptop in a bit and will see what we can do about that!
Ok great!

I'm off for a bit gotta make dinner.
 
Hmmm, I've fired up my laptop and on Debian 10, I've got cmake v3.13 installed..
LMDE 4 "Debbie" is supposedly Debian 10 based, so the package versions should pretty much match up with what I have installed.

Which version of Debian is your LMDE based on? For it to be using 3.10 of cmake, it can't be Debian 10?!

When you update it, are there any held packages that require a dist-upgrade in order to install?
That's the only other possible cause of discrepancy I can think of offhand.......

Looking at the top of CMakelists.txt in the root of the xiphos directory - it clearly specifies that cmake version 3.11 or greater should be used and that earlier versions are NOT supported.

BUT in the two lines at the top of the file (after all of the initial comments) - you could TRY changing the occurrences of 3.11 to 3.10 and then go back into the build directory and run the cmake command from my previous two posts.

But whether it will work or not will be a bit of a crap-shoot. I'm assuming that their CMakelists.txt file must be using some functionality that is specific to 3.11.

If that doesn't work, then there's no much hope of building xiphos on your installation of LMDE.
 

Members online


Top