#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 4. Security

- Prev

  GnuTLS-3.7.3

- Next

  iptables-1.8.7

- Up
- Home

# GPGME-1.17.0

## Introduction to GPGME

The GPGME package is a C library that allows cryptography support to be added to a program. It is designed to make access to public key crypto engines like GnuPG or GpgSM easier for applications. GPGME provides a high-level crypto API for encryption, decryption, signing, signature verification and key management.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.17.0.tar.bz2

- Download (FTP): ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.17.0.tar.bz2

- Download MD5 sum: 47eced250be5992da38b6c113f6fe3e7

- Download size: 1.7 MB

- Estimated disk space required: 201 MB

- Estimated build time: 0.7 SBU (with all bindings, add 1.6 SBU for tests; all with parallelism=4)

### GPGME Dependencies

#### Required

libassuan-2.5.5

#### Optional

Doxygen-1.9.3 and Graphviz-2.50.0 (for API documentation), GnuPG-2.2.34 (required if Qt or SWIG are installed; used during the testsuite), Clisp-2.49, Qt-5.15.2, and/or SWIG-4.0.2 (for language bindings)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/gpgme

## Installation of GPGME

First, fix an issue building the package with Glibc-2.34 or later:

    sed 's/defined(__sun.*$/1/' -i src/posix-io.c

Next, fix an issue building with Python 3.10 installed:

    sed -e 's/3\.9/3.10/'                    \
        -e 's/:3/:4/'                        \
        -e '23653 s/distutils"/setuptools"/' \
        -i configure

Install GPGME by running the following commands:

    ./configure --prefix=/usr --disable-gpg-test &&
    make

To test the results, you should have GnuPG-2.2.34 installed and remove the --disable-gpg-test above. Issue: make -k check.

Now, as the `root` user:

    make install

## Command Explanations

`--disable-gpg-test`: if this parameter is not passed to configure, the test programs are built during make stage, which requires GnuPG-2.2.34. This parameter is not needed if GnuPG-2.2.34 is installed.

## Contents

Installed Program: gpgme-config, gpgme-json, and gpgme-tool
Installed Libraries: libgpgme, libgpgmepp.so, and libqgpgme.so
Installed Directory: /usr/include/{gpgme++,qgpgme,QGpgME}, /usr/lib/cmake/{Gpgmepp,QGpgme}. /usr/lib/python{2.7,3.9}/site-packages/gpg, and /usr/share/common-lisp/source/gpgme

### Short Descriptions

gpgme-config | is used to obtain GPGME compilation and linking information
gpgme-json | outputs GPGME commands in JSON format
gpgme-tool | is an assuan server exposing GPGME operations, such as printing fingerprints and keyids with keyservers
`libgpgme.so` | contains the GPGME API functions
`libgpgmepp.so` | contains the C++ GPGME API functions
`libqgpgme.so` | contains API functions for handling GPG operations in Qt applications

Last updated on

- Prev

  GnuTLS-3.7.3

- Next

  iptables-1.8.7

- Up
- Home