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

### Chapter 9. General Libraries

- Prev

  libical-3.0.14

- Next

  libidn2-2.3.2

- Up
- Home

# libidn-1.38

## Introduction to libidn

libidn is a package designed for internationalized string handling based on the Stringprep, Punycode and IDNA specifications defined by the Internet Engineering Task Force (IETF) Internationalized Domain Names (IDN) working group, used for internationalized domain names. This is useful for converting data from the system's native representation into UTF-8, transforming Unicode strings into ASCII strings, allowing applications to use certain ASCII name labels (beginning with a special prefix) to represent non-ASCII name labels, and converting entire domain names to and from the ASCII Compatible Encoding (ACE) form.

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

### Package Information

- Download (HTTP): https://ftp.gnu.org/gnu/libidn/libidn-1.38.tar.gz

- Download (FTP): ftp://ftp.gnu.org/gnu/libidn/libidn-1.38.tar.gz

- Download MD5 sum: 718ff3700dd71f830c592ebe97249193

- Download size: 2.6 MB

- Estimated disk space required: 18 MB (with tests)

- Estimated build time: 0.2 SBU (with tests)

### libidn Dependencies

#### Optional

Pth-2.0.7, Emacs-27.2, GTK-Doc-1.33.2, OpenJDK-17.0.2, Valgrind-3.18.1, and Mono

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

## Installation of libidn

Install libidn by running the following commands:

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

To test the results, run:

    pushd tests  &&
      make check &&
    popd

Now, as the `root` user:

    make install &&

    find doc -name "Makefile*" -delete            &&
    rm -rf -v doc/{gdoc,idn.1,stamp-vti,man,texi} &&
    mkdir -v       /usr/share/doc/libidn-1.38     &&
    cp -r -v doc/* /usr/share/doc/libidn-1.38

## Command Explanations

`--disable-static`: This switch prevents installation of static versions of the libraries.

`--enable-gtk-doc`: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

## Contents

Installed Program: idn
Installed Library: libidn.so
Installed Directories: /usr/share/doc/libidn-1.38 and /usr/share/gtk-doc/html/libidn

### Short Descriptions

idn | is a command line interface to the internationalized domain name library
`libidn.so` | contains a generic Stringprep implementation that does Unicode 3.2 NFKC normalization, mapping and prohibition of characters, and bidirectional character handling. Profiles for Nameprep, iSCSI, SASL and XMPP are included as well as support for Punycode and ASCII Compatible Encoding (ACE) via IDNA. A mechanism to define Top-Level Domain (TLD) specific validation tables, and to compare strings against those tables, as well as default tables for some TLDs are included

Last updated on

- Prev

  libical-3.0.14

- Next

  libidn2-2.3.2

- Up
- Home