ibus is an Intelligent Input Bus. It is a new input framework for the Linux OS. It provides a fully featured and user friendly input method user interface.
![[Note]](../images/note.png) 
          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.
Download (HTTP): https://github.com/ibus/ibus/archive/1.5.32/ibus-1.5.32.tar.gz
Download MD5 sum: 0a5b8f8a2b593846038be558ef53b971
Download size: 1.5 MB
Estimated disk space required: 57 MB (add 1 MB for tests)
Estimated build time: 0.5 SBU (Using parallelism=4; add 1.4 SBU for tests)
Unicode Character Database: https://www.unicode.org/Public/zipped/16.0.0/UCD.zip
ISO Codes-4.18.0, libarchive-3.8.2 (for extracting the Unicode Character Database), and Vala-0.56.18
DConf-0.40.0, GLib-2.86.1 (with GObject Introspection), GTK-3.24.51, GTK-4.20.2, and libnotify-0.8.7
GTK-Doc-1.35.1 (for generating API documentation), D-Bus Python-1.4.0 and PyGObject-3.52.3 (both to build the Python support library), libxkbcommon-1.12.3, Wayland-1.24.0 (both to build the Wayland support programs), EmojiOne, and libdbusmenu
          First, install the Unicode Character Database as the root user:
        
mkdir -p /usr/share/unicode/ucd && unzip -o ../UCD.zip -d /usr/share/unicode/ucd
Fix an issue with deprecated schema entries:
sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \
    -i data/dconf/org.freedesktop.ibus.gschema.xml
        If GTK-Doc-1.35.1 is not installed, remove the references to it:
if ! [ -e /usr/bin/gtkdocize ]; then sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac fi
Install ibus by running the following commands:
SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &&
PYTHON=python3                     \
./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-appindicator \
            --disable-emoji-dict   \
            --disable-gtk2         \
            --disable-systemd-services &&
make
        To test the results, issue: make -k check. The test named ibus-compose fails because it uses some locales not installed in LFS. The xkb-latin-layouts test is also known to fail on some systems.
          Now, as the root user:
        
make install
          --disable-appindicator:
          This switch disables use of libdbusmenu. Omit if you installed the
          optional dependency.
        
          --disable-emoji-dict: This
          switch disables the use of emoticon dictionaries. Omit if you
          installed the optional package.
        
          --disable-gtk2: This switch
          removes the dependency on GTK+-2.
        
          --disable-gtk4: This switch disables
          building the GTK 4 immodule. Use
          it if you don't want to install GTK
          4.
        
          --enable-python-library: This switch
          enables building the Python
          support library. Use it if you have installed the optional Python
          modules.
        
          --enable-wayland: This switch enables
          building the Wayland support
          programs. It's automatically enabled if both libxkbcommon-1.12.3 and Wayland-1.24.0 are
          installed.
        
          NOCONFIGURE=1: Prevent autogen.sh from running the
          generated configure
          script. We'll run the script manually instead of relying on
          autogen.sh to run it,
          because autogen.sh
          would set -fsanitize=address
          -fsanitize=leak in CFLAGS running
          configure, but those
          compiler options are not suitable for productive use and they may
          also cause a build failure.
        
          PYTHON=python3: This environment
          variable makes the configure script look for
          Python 3. Use it if you want to
          build the Python 3 support
          library.
        
          SAVE_DIST_FILES=1: This environment
          variable makes the autogen.sh script save some
          pre-generated header files instead of overwriting them when it is
          run. This prevents build failures when generating ibusemojigen.h.
        
          --enable-gtk-doc: Use this parameter if
          GTK-Doc is installed and you wish
          to rebuild and install the API documentation.
        
          If GTK+-3 is installed and --disable-gtk3 is not used, the ibus IM module for
          GTK+-3 will be installed. As the root user, update a cache file of GTK+-3 so the
          GTK-based applications can find the newly installed IM module and
          use ibus as an input method:
        
gtk-query-immodules-3.0 --update-cache
The command above updates the cache file for GTK+-3. GTK-4 does not require a cache file for IM modules.