Libidn

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Bibliothèque (compilation depuis les sources)
Rôle Gestion des noms de domaine internationalisés (IDN)
Voir aussi Apache · LAMP

GNU Libidn est une bibliothèque implémentant les standards IDNA (Internationalized Domain Names in Applications) : elle permet de convertir entre la forme lisible d'un nom de domaine contenant des caractères non-ASCII (accents, alphabets non latins…) et sa forme encodée Punycode (xn--...) utilisable par le DNS. Plusieurs services web et serveurs de messagerie s'appuient dessus pour valider ou afficher correctement des domaines internationalisés.

Procédure de compilation ci-dessous héritée de Linux From Scratch / BLFS (Beyond Linux From Scratch), pertinente si le paquet n'est pas disponible via le gestionnaire de paquets de la distribution ou si une version plus récente est nécessaire ((à vérifier) : vérifier la version courante sur https://www.gnu.org/software/libidn/ avant de compiler).

Récupérer les sources

wget https://ftp.gnu.org/gnu/libidn/libidn-1.XX.tar.gz

(remplacer 1.XX par la version courante)

Compiler

./configure --prefix=/usr
make

Lancer la suite de tests avant l'installation :

make check

Installer

En tant que root :

make install

Installer la documentation associée (chemins à adapter à la version réellement téléchargée) :

find doc -name "Makefile*" -exec rm {} \;
install -v -m755 -d /usr/share/doc/libidn/{api,java,specifications,tld}
install -v -m644 doc/components* doc/libidn.{pdf,ps,html} /usr/share/doc/libidn
install -v -m644 doc/reference/html/* /usr/share/doc/libidn/api
install -v -m644 doc/specifications/* /usr/share/doc/libidn/specifications
install -v -m644 doc/tld/* /usr/share/doc/libidn/tld
cp -v -R doc/java/* /usr/share/doc/libidn/java

Options de compilation notables

  • --enable-gtk-doc — à utiliser si GTK-Doc est installé et que l'on souhaite
 reconstruire/installer la documentation API depuis les sources.

Voir aussi

  • Apache — peut dépendre indirectement de Libidn via certains modules de traitement d'URL
  • LAMP — pile applicative où ce type de bibliothèque système intervient en dépendance