Loading...
 

shimpsblog [en]

Compiling GnuPG VII: First Steps

fmg Tuesday March 18, 2025

Situation

Last time I explained merging the pull request. This time we do the first compiling experiments. There are two scripts from the Codeberg diy-gnupg repository involved: fetch-source.sh and unpack-source.sh, both in the folder self-compile/bin/. Run them and swith to /tmp/canary/compile as working directory. There are several folders from the extracted tarballs:

gnupg-2.5.5
libassuan-3.0.2
libgcrypt-1.11.0
libgpg-error-1.51
libksba-1.6.7
npth-1.8

Simple Configuration

npth
Copy to clipboard
cd npth-1.8 ./configure make
libassuan
Copy to clipboard
cd ../libassuan-3.0.2 ./configure make
libksba
Copy to clipboard
cd ../libksba-1.6.7 ./configure make
libgpg-error
Copy to clipboard
cd ../libgpg-error-1.51 ./configure make
libgcrypt-1.11.0
Copy to clipboard
cd ../libgcrypt-1.11.0 ./configure echo "There is a problem"

We cannot continue with make because Debian bookworm and Devuan daedalus ship the package libgpg-error-dev with version 1.46 but a modern one is needed:

Copy to clipboard
checking for GPG Error - version >= 1.49... no configure: error: libgpg-error is needed.
gnupg
Copy to clipboard
cd ../gnupg-2.5.5 ./configure echo "There is a problem"

The distribution package libgcrypt20-dev contains version 1.10.1 and libassuan-dev contains version 2.5.5 which are additional problems. Something we don't see yet is a problem with npth:

Copy to clipboard
configure: *** *** You need libgpg-error to build this program. ** This library is for example available at *** https://gnupg.org/ftp/gcrypt/gpgrt *** (at least version 1.51 is required.) *** configure: *** *** You need libgcrypt to build this program. ** This library is for example available at *** https://gnupg.org/ftp/gcrypt/libgcrypt/ *** (at least version 1.11.0 (API 1) is required.) *** configure: *** *** You need libassuan to build this program. *** This library is for example available at *** https://gnupg.org/ftp/gcrypt/libassuan/ *** (at least version 3.0.0 (API 3) is required). *** configure: error: *** *** Required libraries not found. Please consult the above messages *** and install them before running configure again. ***

Conclusion

The developer version needs more attention with its configuration. Dealing with libraries is always a little bit tricky. But the GnuPG project provides the tools to circumvent those problems in several ways.

To be continued...