Package Details: llpp-git 22.r71.g2bf99be-1

Git Clone URL: (read-only)
Package Base: llpp-git
Description: Fast, featureful PDF viewer based on MuPDF.
Upstream URL:
Licenses: custom
Conflicts: llpp
Provides: llpp
Submitter: mfwitten
Maintainer: drrossum
Last Packager: drrossum
Votes: 61
Popularity: 0.006483
First Submitted: 2010-10-26 22:21
Last Updated: 2016-01-11 17:25

Dependencies (23)

Required by (0)

Sources (1)

Latest Comments

jooch commented on 2016-01-30 00:50

Unable to build this:

+ ocamlc.opt -ccopt '-I /usr/include/freetype2 -Wextra -Wall -Werror -D_GNU_SOURCE -O -g -std=c99 -pedantic-errors -Wunused-parameter -Wsign-compare -Wshadow -o build//link.o' -c ./link.c
./link.c:198:5: fout: unknown type name ‘fz_stext_page’
fz_stext_page *text;

tutu commented on 2016-01-12 02:42

Hi drrossum - Thanks for getting back to me. I agree with you about the haskell dependency, no need to include while not necessary.

I tried the package build and it works if mupdf-git is installed, and it does not when mupdf is installed instead. I think this is expected till the maintainer of mupdf release a new version.

Thanks for the help. Hopefully other people interested in llpp-git will be able to do it now.

drrossum commented on 2016-01-11 17:29

Hi tutu,
Thank you for the helpful comments on patching the script for the recent changes in mupdf libraries. I pushed an updated PKGBUILD that includes your patches.

I use haskell myself, but many users will not appreciate the large build dependency this would pull in. So I don't want to use it in the PKGBUILD.

I included openjpeg2 as explicit dependency so that we don't depend on the mupdf-git configuration for building llpp-git.

The newest PKGBUILD works for me, but please let me know if you run into issues.

tutu commented on 2016-01-10 04:16

Hi drrossum - Thanks for advising mupdf-git. I tried out the package and it seems to work. There is a caveat though, the developers of mupdf are not providing third-party libraries anymore. Now, besides libmupdf.a, they create another static lib (libmupdfthird.a) that contains the routines of the third-party libs (eg, libmujs, openjpeg, etc) that llpp utilizes.

The build script that llpp-git PKGBUILD uses ( was not synced by llpp developers, they only updated Shakefile.hs. I got in contact with llpp developer on Github and I was surprised how fast I got a reply. Now the script works if you clone the llpp and mupdf repositories the way they describe in BUILDING file (the easy way, as they say).

To build using PKGBUILD I had to change

sed -i -e 's+-lopenjpeg+-lopenjp2+'


sed -i -e 's+-lmupdfthird+-lmupdfthird -lz -lfreetype -ljpeg -ljbig2dec+'

When building mupdf, you can choose which third party libs will be build as a git submodule, linking them statically to libmupdfthird.a. In mupdf-git there are two third-party git submodules current being initialized, openjpeg and mujs, hence they did not being linked explicitly on the line above anymore.

I would like to ask some questions:

1. The way I changed the PKGBUILD file, I had to know which libraries were linked statically in mupdf. Is there anyway to know this with out looking the PKGBUILD of mupdf-git?

2. What is your opinion on Shakefile.hs vs

3. Is it better to initialize all the git submodules and link the third-party libs statically to libmupdfthird.a?

Thanks again for your time and help.

drrossum commented on 2016-01-04 17:23

Thanks for the comment. Using mupdf-git seems the way to go for llpp-git.

tutu commented on 2016-01-04 07:34

Is anyone else having issues in building the latest version of llpp using this PKGBUILD? I'm having some linking problems, eg, some routines names are not being recognize, like fz_drop_stext_page from mupdf libs.

I download llpp repo directly from its git repository and also and also clone the latest version from mupdf. After build mupdf, script from llpp worked fine.

Should we just wait for the update of mupdf?

tutu commented on 2015-10-30 03:19

Hi there - I notice that this package was recently updated and the installation was "successful". However, when I try to use the llpp I get the following error.

$ llpp
No bytecode file specified.

Did I miss something?
I checked for the required dependencies and it seems I have them all.

The command I use to install it was:

$ git clone
$ cd llpp-git
$ makepkg -sri

Thanks for the help.

PS: I really like this program. Have any of you guys able to make the forward or inverse search work with the highlight rectangle? I've seen this feature in SumatraPDF and it seems it is also present on llpp, but I was not able to make it work.

holos commented on 2015-09-28 15:54

Upstream has traded ninja for some Haskell-based build system. All this build system juggling is making maintaining this package very annoying.

rubenvb commented on 2015-04-28 08:46

I cannot build this due to the following makepkg errors:

==> Building and installing package
==> Making package: llpp-git 21.r61.gdf146ab-1 (Tue Apr 28 10:45:52 CEST 2015)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Cloning llpp git repo...
Cloning into bare repository '/tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/llpp'...
remote: Counting objects: 6294, done.
remote: Compressing objects: 100% (1999/1999), done.
remote: Total 6294 (delta 4277), reused 6291 (delta 4276)
Receiving objects: 100% (6294/6294), 1.49 MiB | 0 bytes/s, done.
Resolving deltas: 100% (4277/4277), done.
Checking connectivity... done.
-> Found fix-libs.patch
==> Validating source files with sha256sums...
llpp ... Skipped
fix-libs.patch ... Passed
==> Extracting sources...
-> Creating working copy of llpp git repo...
Cloning into 'llpp'...
==> Starting pkgver()...
==> Updated version: llpp-git 21.r63.g6686874-1
==> Starting prepare()...
patching file
patching file
==> Starting build()...
Configuration results are saved in /tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/.config
To build - type: ninja
[11/11] link /tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/build/llpp.custom
make: Entering directory '/tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/misc/completions'
wrote: bash/llpp
wrote: zsh/llpp
wrote: bash/llppac
wrote: zsh/llppac
make: Leaving directory '/tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/misc/completions'
==> Entering fakeroot environment...
==> Starting package()...
make: Entering directory '/tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/misc/completions'
install -d /tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/pkg/llpp-git/usr/share/bash-completion/completions
install -m644 bash/{llpp,llppac} \
install: cannot stat 'bash/{llpp,llppac}': No such file or directory
Makefile:15: recipe for target 'install' failed
make: *** [install] Error 1
make: Leaving directory '/tmp-yaourt/yaourt-tmp-ruben/aur-llpp-git/src/llpp/misc/completions'
==> ERROR: A failure occurred in package().
==> ERROR: Makepkg was unable to build llpp-git.

flu commented on 2015-04-22 10:49

It's failing here:

==> Starting build()... string not in pwd: build
==> ERROR: A failure occurred in build().

All comments