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.
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Development versions of BLFS may not build or run some packages
            properly if LFS or dependencies have been updated since the most
            recent stable versions of the books.
          
         
        
          Package Information
        
        
        
          libidn Dependencies
        
        
          Optional
        
        
          Emacs-30.2, GTK-Doc-1.35.1, OpenJDK-24.0.2, Valgrind-3.26.0, and Mono
        
       
      
        
          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.43     &&
cp -r -v doc/* /usr/share/doc/libidn-1.43
       
      
        
          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.
        
        
          --enable-java: Use this switch to
          enable building the Java implementation of libidn. Note that OpenJDK-24.0.2 must be
          installed to use this option.
        
       
      
        
          Contents
        
        
          
            
              Installed Program:
              idn
            
            
              Installed Library:
              libidn.so
            
            
              Installed Directories:
              /usr/share/doc/libidn-1.43 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
                   |