#### Linux From Scratch - Version 9.0-systemd

### Chapter 6. Installing Basic System Software

- Prev

  Bison-3.4.1

- Next

  Grep-3.3

- Up
- Home

# 6.32. Flex-2.6.4

The Flex package contains a utility for generating programs that recognize patterns in text.

Approximate build time: 0.5 SBU
Required disk space: 36 MB

## 6.32.1. Installation of Flex

First, fix a problem introduced with glibc-2.26:

    sed -i "/math.h/a #include <malloc.h>" src/flexdef.h

The build procedure assumes the help2man program is available to create a man page from the executable --help option. This is not present, so we use an environment variable to skip this process. Now, prepare Flex for compilation:

    HELP2MAN=/tools/bin/true \
    ./configure --prefix=/usr --docdir=/usr/share/doc/flex-2.6.4

Compile the package:

    make

To test the results (about 0.5 SBU), issue:

    make check

Install the package:

    make install

A few programs do not know about flex yet and try to run its predecessor, lex. To support those programs, create a symbolic link named `lex` that runs `flex` in lex emulation mode:

    ln -sv flex /usr/bin/lex

## 6.32.2. Contents of Flex

Installed programs: flex, flex++ (link to flex), and lex (link to flex)
Installed libraries: libfl.so
Installed directory: /usr/share/doc/flex-2.6.4

### Short Descriptions

flex | A tool for generating programs that recognize patterns in text; it allows for the versatility to specify the rules for pattern-finding, eradicating the need to develop a specialized program
flex++ | An extension of flex, is used for generating C++ code and classes. It is a symbolic link to flex
lex | A symbolic link that runs flex in lex emulation mode
`libfl` | The `flex` library

- Prev

  Bison-3.4.1

- Next

  Grep-3.3

- Up
- Home