Build Engrampa 1.28 for 24.04

Following this answer from @lah7, I tried to build Engrampa 1.28 for Ubuntu Mate 24.04, first in VM up to date, with no success. Could you please help me?

user@pc:~$ inxi -F
System:
  Host: pc Kernel: 6.8.0-52-generic arch: x86_64 bits: 64
  Desktop: MATE v: 1.26.2 Distro: Ubuntu MATE 24.04.1 LTS (Noble Numbat)
Machine:
  Type: Virtualbox System: innotek GmbH product: VirtualBox v: 1.2
    serial: <superuser required>
  Mobo: Oracle model: VirtualBox v: 1.2 serial: <superuser required>
    BIOS: innotek GmbH v: VirtualBox date: 12/01/2006
Info:
  Memory: total: 6 GiB available: 5.67 GiB used: 2.32 GiB (40.9%)
  Processes: 240 Uptime: 6m Shell: Bash inxi: 3.3.34
user@pc:~/Desktop$ sudo apt install devscripts git
[sudo] password for user: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
devscripts is already the newest version (2.23.7).
git is already the newest version (1:2.43.0-1ubuntu7.2).
The following packages were automatically installed and are no longer required:
  linux-headers-6.8.0-41 linux-tools-6.8.0-41
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
user@pc:~/Desktop$ software-properties-gtk
user@pc:~/Desktop$ cd ~/Desktop
user@pc:~/Desktop$ mkdir engrampa && cd engrampa
user@pc:~/Desktop/engrampa$ apt-get source engrampa
Reading package lists... Done
NOTICE: 'engrampa' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/debian-mate-team/engrampa.git
Please use:
git clone https://salsa.debian.org/debian-mate-team/engrampa.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 1 198 kB of source archives.
Get:1 http://ch.archive.ubuntu.com/ubuntu noble/universe engrampa 1.26.2-4 (dsc) [2 393 B]
Get:2 http://ch.archive.ubuntu.com/ubuntu noble/universe engrampa 1.26.2-4 (tar) [1 183 kB]
Get:3 http://ch.archive.ubuntu.com/ubuntu noble/universe engrampa 1.26.2-4 (diff) [12,7 kB]
Fetched 1 198 kB in 1s (1 531 kB/s)   
dpkg-source: info: extracting engrampa in engrampa-1.26.2
dpkg-source: info: unpacking engrampa_1.26.2.orig.tar.xz
dpkg-source: info: unpacking engrampa_1.26.2-4.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 2001_fix-FTCBFS.patch
dpkg-source: info: applying 1001_add-shebang-to-isoinfo-script.patch
dpkg-source: info: applying 0001_fix-segfault-on-opening-deb-files.patch
dpkg-source: info: applying 0002_7zip.patch
dpkg-source: info: applying 0003_7z-Fix-accepting-RAR-archives-when-unar-open-zip-tru.patch
dpkg-source: info: applying 0004_Add-MIME-aliases-for-gzip-and-bzip2.patch
dpkg-source: info: applying 1002_implicit-function-declaration.patch
user@pc:~/Desktop/engrampa$ git clone --depth 1 --branch v1.28.2 --recurse-submodules https://github.com/mate-desktop/engrampa.git
Cloning into 'engrampa'...
remote: Enumerating objects: 610, done.
remote: Counting objects: 100% (610/610), done.
remote: Compressing objects: 100% (423/423), done.
remote: Total 610 (delta 290), reused 316 (delta 92), pack-reused 0 (from 0)
Receiving objects: 100% (610/610), 1.52 MiB | 2.76 MiB/s, done.
Resolving deltas: 100% (290/290), done.
Note: switching to '3cc3898cd706b33104cccad42a8ca1856dd1a421'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Submodule 'mate-submodules' (https://github.com/mate-desktop/mate-submodules.git) registered for path 'mate-submodules'
Cloning into '/home/user/Desktop/engrampa/engrampa/mate-submodules'...
remote: Enumerating objects: 165, done.        
remote: Counting objects: 100% (36/36), done.        
remote: Compressing objects: 100% (22/22), done.        
remote: Total 165 (delta 17), reused 13 (delta 13), pack-reused 129 (from 1)        
Receiving objects: 100% (165/165), 98.38 KiB | 582.00 KiB/s, done.
Resolving deltas: 100% (92/92), done.
Submodule path 'mate-submodules': checked out '54fff1b15efa5c88d4bb19ebbae9476a03f9db32'
user@pc:~/Desktop/engrampa$ tar -xJf engrampa_*debian*.tar.xz
user@pc:~/Desktop/engrampa$ nano debian/changelog
user@pc:~/Desktop/engrampa$ head -1 debian/changelog
engrampa (1.28.2-1) unstable; urgency=medium
user@pc:~/Desktop/engrampa$ sudo apt build-dep engrampa
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libbz2-dev : Depends: libbz2-1.0 (= 1.0.8-5.1) but 1.0.8-5.1build0.1 is to be installed
 libdbus-1-dev : Depends: libdbus-1-3 (= 1.14.10-4ubuntu4) but 1.14.10-4ubuntu4.1 is to be installed
 libdeflate-dev : Depends: libdeflate0 (= 1.19-1build1) but 1.19-1build1.1 is to be installed
 libicu-dev : Depends: libicu74 (= 74.2-1ubuntu3) but 74.2-1ubuntu3.1 is to be installed
 liblzma-dev : Depends: liblzma5 (= 5.6.1+really5.4.5-1) but 5.6.1+really5.4.5-1build0.1 is to be installed
 libmount-dev : Depends: libblkid-dev but it is not going to be installed
                Depends: libmount1 (= 2.39.3-9ubuntu6) but 2.39.3-9ubuntu6.1 is to be installed
 libzstd-dev : Depends: libzstd1 (= 1.5.5+dfsg2-2build1) but 1.5.5+dfsg2-2build1.1 is to be installed
 uuid-dev : Depends: libuuid1 (= 2.39.3-9ubuntu6) but 2.39.3-9ubuntu6.1 is to be installed
 zlib1g-dev : Depends: zlib1g (= 1:1.3.dfsg-3.1ubuntu2) but 1:1.3.dfsg-3.1ubuntu2.1 is to be installed
E: Unable to correct problems, you have held broken packages.
user@pc:~/Desktop/engrampa$ 
1 Like

Just in case, make sure you don't have the "Pre-released updates" checked (in Software & Updates → Developer Options).

Let's check everything's up-to-date:

sudo apt update
sudo apt full-upgrade

Then try again. If it still says unmet dependencies, try this classic apt command:

sudo apt --fix-broken install

If it still fails, please could you show us your sources?

cat /etc/apt/sources.list.d/*.sources
Example for this 24.04 system:
$ cat /etc/apt/sources.list.d/*.sources
Types: deb deb-src
URIs: http://gb.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb deb-src
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
2 Likes
user@pc:~/Desktop$ sudo apt update && sudo apt full-upgrade && sudo apt --fix-broken install
[sudo] password for user: 
Hit:1 http://ch.archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  linux-headers-6.8.0-41 linux-tools-6.8.0-41
Use 'sudo apt autoremove' to remove them.
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  libcjson1 libpostproc57 libavcodec60 libavutil58 libswscale7 libswresample4
  libavformat60 libavfilter9
Learn more about Ubuntu Pro at https://ubuntu.com/pro
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-6.8.0-41 linux-tools-6.8.0-41
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
user@pc:~/Desktop$ cat /etc/apt/sources.list.d/*.sources
Types: deb deb-src
URIs: http://ch.archive.ubuntu.com/ubuntu/
Suites: noble
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb deb-src
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: restricted multiverse universe main
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
user@pc:~/Desktop$ 

I found the right way.
MIssing full updates in Software & Updates, I added, then I can build with success. Thanks!

3 Likes