Table of Contents


mkcomposecache - create a cache file for a compose file explicitly


mkcomposecache locale compose-file cache-dir [ internal-name ]


mkcomposecache creates a cache file for the specified compose-file used in the given locale and saves it in cache-dir. If internal-name has been specified, it is used as the name of the compose table for computing the hash values and internal validation. This is necessary if global compose cache files shall be created while using DESTDIR during X11 installation.


compose cache files are created by libX11, thus an Xserver has to be running and DISPLAY has to be set correctly for creating cache files.
libX11 will not write compose cache files if run as root or with different real and effective uids.
libX11 will not create compose cache files in directories writable for other users.


mkcomposecache returns with exit status 1 on general errors (no Xserver, invoked as root, etc.) and 2 on unsupported locales.

An exit status of 0 does not imply that a cache file is actually written, though. This very much depends on the used libX11 and its safety regulations.


mkcomposecache en_US.UTF-8 /var/tmp/buildroot/usr/share/X11/locale/en_US.UTF-8/Compose

/var/tmp/buildroot/var/X11R6/compose_cache /usr/share/X11/locale/en_US.UTF-8/Compose


/var/cache/libx11/compose/ Location of global compose cache.


mkcomposecache was written by Matthias Hopf <>.

Table of Contents