Package Details: llpp 42-1

Git Clone URL: https://aur.archlinux.org/llpp.git (read-only, click to copy)
Package Base: llpp
Description: opengl accelerated pdf viewer based on mupdf
Upstream URL: https://github.com/criticic/llpp
Keywords: mupdf opengl pdf viewer
Licenses: GPL3
Submitter: polyzen
Maintainer: stek
Last Packager: stek
Votes: 8
Popularity: 0.114658
First Submitted: 2022-05-14 17:01 (UTC)
Last Updated: 2024-04-04 20:07 (UTC)

Dependencies (17)

Required by (0)

Sources (1)

Pinned Comments

stek commented on 2024-04-12 15:01 (UTC) (edited on 2024-04-12 15:07 (UTC) by stek)

If llpp doesn't start and instead produces an error like

cannot create context: incompatible header (1.23.11) and library (1.24.1) versions

or

error while loading shared libraries: libmupdf.so.24.0: cannot open shared object file: No such file or directory

this likely means that the version of libmupdf used to build llpp does not agree with the currently installed one.

This can be fixed by rebuilding llpp (with makepkg -C, or if you're using an AUR helper, whatever the "clean build" option is there). If this doesn't help, please leave a comment here or report upstream.

cynik commented on 2022-09-18 07:05 (UTC)

I have updated it to my fork at: https://github.com/criticic/llpp

Latest Comments

« First ‹ Previous 1 2 3

EspoBP commented on 2022-09-19 15:59 (UTC)

I'm also having the same problem during building.

ed_o commented on 2022-09-18 17:28 (UTC)

Same here, building the update fails with the following output

https://pastebin.com/vbPtt9Nj

andean_archer commented on 2022-09-18 12:24 (UTC)

I can't update llpp to 36-1 release:

Pulling AUR changes: llpp

--------------------------------------------------------------------------------
:: Content of /tmp/trizen-pablo/llpp/PKGBUILD
--------------------------------------------------------------------------------

# Maintainer: Sagnik Mandal <criticic>
# Contributor: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Eli Schwartz <eschwartz@archlinux.org>
# Contributor: earnestly

pkgname=llpp
pkgver=36
pkgrel=1
pkgdesc='opengl accelerated pdf viewer based on mupdf'
arch=('x86_64')
url=https://github.com/criticic/llpp
cloneurl=https://github.com/criticic/llpp
license=('GPL3')
depends=('freetype2' 'gumbo-parser' 'jbig2dec' 'libgl' 'libjpeg' 'openjpeg2')
makedepends=('asciidoc' 'git' 'libmupdf' 'ocaml' 'ocaml-lablgl')
optdepends=('djvulibre: for llppac djvu conversion'
            'ghostscript: for llppac ps, dvi, and djvu conversion'
            'imagemagick: for llppac image conversion'
            'inotify-tools: for the llpp.inotify autoreload wrapper'
            'librsvg: for llppac svg conversion'
            'unoconv: for llppac office conversion')
options=('!strip')
source=("git+$cloneurl#tag=v$pkgver"
        'system-makedeps.patch')
b2sums=('SKIP'
        '911856ec752e461724fb76a3e2faf6596834fc6753f10790588e5b5b9c3c857973a977cee5fcccbb1d757e642902ef0983f6740726ea720509f452dda936b6ea')

prepare() {
  cd $pkgname
  patch --forward --strip=1 --input=../system-makedeps.patch

  # Restore desktop file
  git revert --no-commit aad4b1e65e581ff7a096a3c3901b222a9c127a1c
}

build() {
  cd $pkgname
  bash ./build.bash build
  bash ./build.bash build doc
}

package() {
  cd $pkgname
  install -Dt "$pkgdir"/usr/bin build/llpp misc/llpp{.inotify,ac}
  install -Dm644 -t "$pkgdir"/usr/share/applications misc/llpp.desktop
  install -Dm644 -t "$pkgdir"/usr/share/man/man1 build/doc/*.1
}

=>> Edit llpp/PKGBUILD? [y/N]: 
--------------------------------------------------------------------------------
:: Content of /tmp/trizen-pablo/llpp/system-makedeps.patch
--------------------------------------------------------------------------------

diff --git a/build.bash b/build.bash
index 9f72c04..6462b11 100755
--- a/build.bash
+++ b/build.bash
@@ -33,9 +33,7 @@
 outd=$1
 srcd=$(dirname $0)
 mudir=$outd/mupdf
-muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
-
-test -d $mudir || die muPDF wasn\'t found in $outd/, consult $srcd/BUILDING
+mudeps=('freetype2' 'gumbo' 'harfbuzz' 'libjpeg' 'libopenjp2' 'x11' 'zlib')

 mkdir -p $outd/{$wsid,lablGL}

@@ -45,8 +43,7 @@
 test -n "${gmk:-}" && gmk=false || gmk=true

 mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
-make="make -C "$mudir" build=$mbt -j $mjobs libs"
-$make -q -s || $make
+

 oincs() {
     local b=$1 incs
@@ -85,7 +82,7 @@
         version.o) f=-DLLPP_VERSION=$ver;;
         lablGL/*.o) f="-g -Wno-pointer-sign -Werror -O2";;
         link.o)
-            f="-g -std=c11 $muinc -Wall -Werror -Wextra -pedantic "
+            f="$CFLAGS -g -std=c11 $(pkg-config --cflags "${mudeps[@]}") -Wall -Werror -Wextra -pedantic "
             test "${mbt-}" = "debug" || f+="-O2 "
             $darwin && f+="-DMACOS -D_GNU_SOURCE -DGL_H='<OpenGL/gl.h>'" \
                     || f+="-D_POSIX_C_SOURCE -DGL_H='<GL/gl.h>'"
@@ -104,39 +101,6 @@
 }

 overs=$(ocamlc -vnum 2>/dev/null) || overs=""
-if test "$overs" != "4.14.0~rc1"; then
-    url=https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~rc1.tar.xz
-    txz=$outd/$(basename $url)
-    keycmd="printf $url; digest $txz;"
-    isfresh $txz "$(eval $keycmd)" || {
-        if executable_p wget; then dl() { wget "$1" -O "$2"; }
-        elif executable_p curl; then dl() { curl -L "$1" -o "$2"; }
-        else die "no program to fetch remote urls found"
-        fi
-        dl $url $txz
-        eval $keycmd >$txz.past
-    } && vecho "fresh $txz"
-    absprefix=$(realpath $outd)
-    export PATH=$absprefix/bin:$PATH
-    ocamlc=$absprefix/bin/ocamlc
-    keycmd="printf $url; digest $ocamlc;"
-    isfresh $ocamlc "$(eval $keycmd)" || (
-        # This will needlessly re{configure,make} ocaml since "past"
-        # of configure/make is hard to ascertain. "Better safe than
-        # sorry" approach is taken here. The check will work for a
-        # single ocaml url/version, but _will_ redo _everything_
-        # otherwise (even if fully built artifacts are available)
-        tar xf $txz -C $outd
-        bn=$(basename $url)
-        cd $outd/${bn%.tar.xz}
-        ./configure --disable-ocamldoc --disable-ocamltest      \
-                    --enable-debugger=no --prefix=$absprefix
-        make -j $mjobs world
-        make install
-        eval $keycmd >$absprefix/bin/ocamlc.past
-    ) && vecho "fresh ocamlc"
-    overs=$(ocamlc -vnum 2>/dev/null)
-fi

 while read k v; do
     case "$k" in
@@ -307,7 +271,7 @@
 done

 libs="str.cma unix.cma"
-clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
+clibs="-ljbig2dec $(pkg-config --libs "${mudeps[@]}") -lmupdf -lmupdf-third -lpthread
 if $darwin; then
     mcomp=$ccomp
     clibs+=" -framework Cocoa -framework OpenGL"

=>> Edit llpp/system-makedeps.patch? [y/N]: 

Repository      : AUR
Name            : llpp
Version         : 36-1
Maintainer      : cynik
URL             : https://github.com/criticic/llpp
AUR URL         : https://aur.archlinux.org/packages/llpp
License         : GPL3
Votes           : 3
Popularity      : 0.66%
Installed       : Yes
Out Of Date     : No
Depends On      : freetype2
                  gumbo-parser
                  jbig2dec
                  libgl
                  libjpeg
                  openjpeg2
Make Deps       : asciidoc
                  git
                  libmupdf
                  ocaml
                  ocaml-lablgl
Check Deps      : None
Optional Deps   : ghostscript: for llppac ps, dvi, and djvu conversion
                  imagemagick: for llppac image conversion
                  librsvg: for llppac svg conversion
                  djvulibre: for llppac djvu conversion
                  inotify-tools: for the llpp.inotify autoreload wrapper
                  unoconv: for llppac office conversion
Provides        : None
Conflicts With  : None
Replaces        : None
Package Base    : llpp
Last Update     : Sun Sep 18 04:39:11 2022
Description     : opengl accelerated pdf viewer based on mupdf

==> Making package: llpp 36-1 (Sun Sep 18 08:18:18 2022)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating llpp git repo...
  -> Found system-makedeps.patch
==> Validating source files with b2sums...
    llpp ... Skipped
    system-makedeps.patch ... Passed
==> Extracting sources...
  -> Creating working copy of llpp git repo...
Reset branch 'makepkg'
warning: cancelling a revert in progress
==> Starting prepare()...
patching file build.bash
==> Removing existing $pkgdir/ directory...
==> Starting build()...
link.o
./link.c: In function 'ml_getfileannot':
./link.c:2561:31: error: implicit declaration of function 'pdf_embedded_file_name' [-Werror=implicit-function-declaration]
 2561 |     ret_v = caml_copy_string (pdf_embedded_file_name (state.ctx, fs));
      |                               ^~~~~~~~~~~~~~~~~~~~~~
./link.c:2561:31: error: passing argument 1 of 'caml_copy_string' makes pointer from integer without a cast [-Werror=int-conversion]
 2561 |     ret_v = caml_copy_string (pdf_embedded_file_name (state.ctx, fs));
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               int
In file included from ./link.c:37:
/usr/lib/ocaml/caml/alloc.h:39:36: note: expected 'const char *' but argument is of type 'int'
   39 | CAMLextern value caml_copy_string (char const *);
      |                                    ^~~~~~~~~~~~
./link.c: In function 'ml_savefileannot':
./link.c:2579:26: error: implicit declaration of function 'pdf_load_embedded_file'; did you mean 'pdf_add_embedded_file'? [-Werror=implicit-function-declaration]
 2579 |         fz_buffer *buf = pdf_load_embedded_file (state.ctx, fs);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
      |                          pdf_add_embedded_file
./link.c:2579:26: error: initialization of 'fz_buffer *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
cc1: all warnings being treated as errors
ocamlc -ccopt "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -std=c11 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I/usr/include/openjpeg-2.5 -Wall -Werror -Wextra -pedantic -O2 -D_POSIX_C_SOURCE -DGL_H='<GL/gl.h>' -DTEXT_TYPE=GL_TEXTURE_RECTANGLE_ARB -MMD -MF build/link.o.dep -MT_" -o build/link.o -c ./link.c failed
build failed
==> ERROR: A failure occurred in build().
    Aborting...
:: Unable to build llpp - makepkg exited with code: 4

txtsd commented on 2022-09-18 09:59 (UTC)

==> Making package: llpp 36-1 (Sun 18 Sep 2022 03:28:32 PM IST)
==> Retrieving sources...
  -> Cloning llpp git repo...
Cloning into bare repository '/home/txtsd/.cache/yay/llpp/llpp'...
remote: Enumerating objects: 15615, done.
remote: Total 15615 (delta 0), reused 0 (delta 0), pack-reused 15615
Receiving objects: 100% (15615/15615), 4.70 MiB | 2.83 MiB/s, done.
Resolving deltas: 100% (10512/10512), done.
  -> Found system-makedeps.patch
==> Validating source files with b2sums...
    llpp ... Skipped
    system-makedeps.patch ... Passed
==> Making package: llpp 36-1 (Sun 18 Sep 2022 03:28:37 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating llpp git repo...
  -> Found system-makedeps.patch
==> Validating source files with b2sums...
    llpp ... Skipped
    system-makedeps.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of llpp git repo...
Cloning into 'llpp'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
patching file build.bash
==> Sources are ready.
==> Making package: llpp 36-1 (Sun 18 Sep 2022 03:28:40 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
generating build/confstruct.ml
  keys.cmi
 wsi/x11/wsi.cmi
 utils.cmi
 utf8syms.cmo
   parser.cmi
   confstruct.cmo
  config.cmo
 uiutils.cmi
 help.cmi
  lablGL/raw.cmi
 glutils.cmi
   lablGL/gl.cmi
  lablGL/glPix.cmi
 lablGL/glTex.cmi
 lablGL/glMisc.cmi
 lablGL/glMat.cmi
 lablGL/glFunc.cmi
 lablGL/glDraw.cmi
 lablGL/glClear.cmi
 lablGL/glArray.cmi
 ffi.cmo
 main.cmi
main.cmo
keys.cmo
wsi/x11/wsi.cmo
utils.cmo
parser.cmo
uiutils.cmo
help.cmo
lablGL/raw.cmo
glutils.cmo
lablGL/gl.cmo
lablGL/glPix.cmo
lablGL/glTex.cmo
lablGL/glMisc.cmo
lablGL/glMat.cmo
lablGL/glFunc.cmo
lablGL/glDraw.cmo
lablGL/glClear.cmo
lablGL/glArray.cmo
link.o
./link.c: In function ‘ml_getfileannot’:
./link.c:2561:31: error: implicit declaration of function ‘pdf_embedded_file_name’ [-Werror=implicit-function-declaration]
 2561 |     ret_v = caml_copy_string (pdf_embedded_file_name (state.ctx, fs));
      |                               ^~~~~~~~~~~~~~~~~~~~~~
./link.c:2561:31: error: passing argument 1 of ‘caml_copy_string’ makes pointer from integer without a cast [-Werror=int-conversion]
 2561 |     ret_v = caml_copy_string (pdf_embedded_file_name (state.ctx, fs));
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                               |
      |                               int
In file included from ./link.c:37:
/usr/lib/ocaml/caml/alloc.h:39:36: note: expected ‘const char *’ but argument is of type ‘int’
   39 | CAMLextern value caml_copy_string (char const *);
      |                                    ^~~~~~~~~~~~
./link.c: In function ‘ml_savefileannot’:
./link.c:2579:26: error: implicit declaration of function ‘pdf_load_embedded_file’; did you mean ‘pdf_add_embedded_file’? [-Werror=implicit-function-declaration]
 2579 |         fz_buffer *buf = pdf_load_embedded_file (state.ctx, fs);
      |                          ^~~~~~~~~~~~~~~~~~~~~~
      |                          pdf_add_embedded_file
./link.c:2579:26: error: initialization of ‘fz_buffer *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
cc1: all warnings being treated as errors
ocamlc -ccopt "-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -g -std=c11 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I/usr/include/openjpeg-2.5 -Wall -Werror -Wextra -pedantic -O2 -D_POSIX_C_SOURCE -DGL_H='<GL/gl.h>' -DTEXT_TYPE=GL_TEXTURE_RECTANGLE_ARB -MMD -MF build/link.o.dep -MT_" -o build/link.o -c ./link.c failed
build failed
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: llpp

cynik commented on 2022-09-18 07:05 (UTC)

I have updated it to my fork at: https://github.com/criticic/llpp

mindbound commented on 2022-08-15 08:26 (UTC) (edited on 2022-08-15 08:39 (UTC) by mindbound)

https://repo.or.cz/w/llpp.git is no go, the sources have been deleted.

https://repo.or.cz/llpp.git/commit/04431d79a40dcc0215f87a2ad577f126a85c1e61 is the last commit with full sources.

Muflone commented on 2022-08-07 11:17 (UTC)

Sources are gone

Another sources repository (unverified) is https://repo.or.cz/w/llpp.git