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

### Chapter 6. Editors

- Prev

  Ed-1.18

- Next

  Gedit-41.0

- Up
- Home

# Emacs-27.2

## Introduction to Emacs

The Emacs package contains an extensible, customizable, self-documenting real-time display editor.

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

### Package Information

- Download (HTTP): https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz

- Download (FTP): ftp://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.xz

- Download MD5 sum: 4c3d9ff35b2ab2fe518dc7eb3951e128

- Download size: 43 MB

- Estimated disk space required: 620 MB

- Estimated build time: 0.6 SBU (Using parallelism=4)

### Emacs Dependencies

#### Recommended

HarfBuzz-3.4.0, giflib-5.2.1, GnuTLS-3.7.3, jansson-2.14, and libtiff-4.3.0

#### Optional

a graphical environment, alsa-lib-1.2.6.1, Cairo-1.17.4, dbus-1.12.20, GConf-3.2.6, gobject-introspection-1.70.0, gsettings-desktop-schemas-41.0, GPM-1.20.7, GTK+-2.24.33 or GTK+-3.24.31, ImageMagick-7.1.0-25, Little CMS-2.13.1, libjpeg-turbo-2.1.2, libpng-1.6.37, librsvg-2.52.6, libxml2-2.9.13, MIT Kerberos V5-1.19.2, Valgrind-3.18.1, intlfonts, libungif, libotf, and m17n-lib - to correctly display such complex scripts as Indic and Khmer, and also for scripts that require Arabic shaping support (Arabic and Farsi), mailutils, and libXaw3d

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

## Installation of Emacs

First, work around a portability bug in glibc 2.34, which no longer defines SIGSTKSZ.

    sed -e '/SIGSTKSZ/ s|^.*$|static max_align_t sigsegv_stack[\
       (64 * 1024 + sizeof (max_align_t) - 1) / sizeof (max_align_t)];|' \
        -i src/sysdep.c

Install Emacs by running the following commands:

    ./configure --prefix=/usr &&
    make

This package does not come with a test suite. If make succeeds, you can test the result by running src/emacs -Q, which is the program that will be installed, with its auxiliary files. This should start and display the application opening screen.

Now, as the `root` user:

    make install &&
    chown -v -R root:root /usr/share/emacs/27.2

### Note

This package installs icon files into the `/usr/share/icons/hicolor` hierarchy and you can improve system performance and memory usage by updating `/usr/share/icons/hicolor/index.theme`. To perform the update you must have GTK+-2.24.33 or GTK+-3.24.31 installed and issue the following command as the `root` user:

    gtk-update-icon-cache -qtf /usr/share/icons/hicolor

## Command Explanations

`--with-imagemagick`: Use this if you have installed ImageMagick-7.1.0-25 and wish to link against it.

`--with-gif=no`: Use this if you have not installed giflib-5.2.1 or libungif.

`--with-tiff=no`: Use this if you have not installed libtiff-4.3.0.

`--with-gnutls=no`: Use this if you have not installed GnuTLS-3.7.3.

`--without-harfbuzz`: Use this if you have not installed HarfBuzz-3.4.0.

`--with-json=no`: Use this if you have not installed jansson-2.14.

## Contents

Installed Programs: ctags, ebrowse, emacs (symlink), emacs-27.2, emacsclient, and etags
Installed Libraries: None
Installed Directories: /usr/libexec/emacs and /usr/share/emacs

### Short Descriptions

ctags | creates cross-reference tagfile database files for source code
ebrowse | permits browsing of C++ class hierarchies from within emacs
emacs | is an editor
emacsclient | attaches an emacs session to an already running emacsserver instance
etags | is another program to generate source code cross-reference tagfiles

Last updated on

- Prev

  Ed-1.18

- Next

  Gedit-41.0

- Up
- Home