MuPDF-1.21.0

Introduction to MuPDF

MuPDF is a lightweight PDF and XPS viewer.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

MuPDF Dependencies

Required

GLU-9.0.2 and Xorg Libraries

Recommended

Optional

xdg-utils-1.1.3 (runtime), jbig2dec, and MuJS

Required (runtime)

a graphical environment

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

Installation of MuPDF

First, fix the Makefile to link properly with the shared library:

sed -i '/MU.*_EXE. :/{
        s/\(.(MUPDF_LIB)\)\(.*\)$/\2 | \1/
        N
        s/$/ -lmupdf -L$(OUT)/
        }' Makefile

Install MuPDF by running the following commands:

cat > user.make << EOF &&
USE_SYSTEM_FREETYPE := yes
USE_SYSTEM_HARFBUZZ := yes
USE_SYSTEM_JBIG2DEC := no
USE_SYSTEM_JPEGXR := no # not used without HAVE_JPEGXR
USE_SYSTEM_LCMS2 := no # need lcms2-art fork
USE_SYSTEM_LIBJPEG := yes
USE_SYSTEM_MUJS := no # build needs source anyway
USE_SYSTEM_OPENJPEG := yes
USE_SYSTEM_ZLIB := yes
USE_SYSTEM_GLUT := no # need freeglut2-art fork
USE_SYSTEM_CURL := yes
USE_SYSTEM_GUMBO := no
EOF

export XCFLAGS=-fPIC                               &&
make build=release shared=yes                      &&
unset XCFLAGS

This package does not come with a test suite.

Now, as the root user:

make prefix=/usr                        \
     shared=yes                         \
     docdir=/usr/share/doc/mupdf-1.21.0 \
     install                            &&

chmod 755 /usr/lib/libmupdf.so          &&
ln -sfv mupdf-x11 /usr/bin/mupdf

Command Explanations

ln -sfv mupdf-x11 /usr/bin/mupdf : This symbolic link chooses between mupdf-gl and mupdf-x11 when running mupdf.

Contents

Installed Program: mupdf (symlink), mupdf-gl, mupdf-x11, mupdf-x11-curl, muraster, and mutool
Installed Libraries: libmupdf.so
Installed Directories: /usr/include/mupdf, /usr/share/doc/mupdf-1.21.0

Short Descriptions

mupdf

is a program for viewing PDF, XPS, EPUB, and CBZ documents, and various image formats such as PNG, JPEG, GIFF, and TIFF

mupdf-gl

same as mupdf, using an opengl renderer

mupdf-x11

same as mupdf, using an X Window renderer

muraster

is a program used to perform rasterization tasks with PDF documents

mutool

is a program to perform various operations on PDF files, such as merging and cleaning PDF documents

libmupdf.so

contains the mupdf API functions