update print/poppler

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

update print/poppler

Matthias Kilian
Update to poppler-0.83.0.

Tests (at least build tests) on non-base-clang archs are welcome.

From the Changelog:

        core:
         * Improve when a file is recognized as Linearized
         * Improve const-ness of the code
         * Make code a bit more readable/maintanable
         * Fix uninitialized memory uses in broken files

        utils:
         * pdffonts: Make code a bit more readable/maintanable
         * pdftohtml: Make code a bit more readable/maintanable

        qt5:
         * Remove a bunch of unused internal functions
         * trUtf8 -> tr (less warnings)

        build system:
         * make-glib-api-docs: switch to python3

I've adde a major bump do libpoppler-cpp.so because check_sym reported
this:

        Dynamic export changes:
        added:
                _ZNK13BaseMemStreamIKcE7getKindEv

        removed:
                _ZN13BaseMemStreamIKcE7getKindEv

This breaks the following ports (because of the use of unique
pointers and some constification): editors/calligra, editors/libreoffice,
graphics/gdcm, graphics/inkscape, graphics/pdf2djvu.

Diffs for those ports are in my queue (still waiting for that little
calligra monster) -- I'll send them later today or tomorrow.

Ciao,
        Kili

Index: Makefile
===================================================================
RCS file: /cvs/ports/print/poppler/Makefile,v
retrieving revision 1.150
diff -u -p -r1.150 Makefile
--- Makefile 12 Nov 2019 22:03:41 -0000 1.150
+++ Makefile 16 Dec 2019 21:14:21 -0000
@@ -4,7 +4,7 @@ COMMENT-main= PDF rendering library
 COMMENT-qt5= Qt5 interface to PDF rendering library
 COMMENT-utils= PDF conversion tools and utilities
 
-V= 0.82.0
+V= 0.83.0
 DISTNAME= poppler-$V
 CATEGORIES= print
 PKGNAME-main= poppler-$V
@@ -13,10 +13,10 @@ PKGNAME-qt5= poppler-qt5-$V
 
 EXTRACT_SUFX= .tar.xz
 
-SHARED_LIBS += poppler              57.0     # 92.0
+SHARED_LIBS += poppler              58.0     # 93.0
 SHARED_LIBS += poppler-glib         19.4     # 8.15
 SHARED_LIBS += poppler-qt5          7.3      # 1.21
-SHARED_LIBS += poppler-cpp          12.0     # 0.7
+SHARED_LIBS += poppler-cpp          13.0     # 0.7
 
 HOMEPAGE= https://poppler.freedesktop.org/
 
@@ -33,7 +33,7 @@ MULTI_PACKAGES=-main -qt5 -utils
 
 .include <bsd.port.arch.mk>
 
-# c++-11
+# c++-14
 COMPILER= base-clang ports-gcc
 
 cWANTLIB= expat freetype fontconfig jpeg m pthread tiff z
Index: distinfo
===================================================================
RCS file: /cvs/ports/print/poppler/distinfo,v
retrieving revision 1.77
diff -u -p -r1.77 distinfo
--- distinfo 12 Nov 2019 22:03:41 -0000 1.77
+++ distinfo 16 Dec 2019 21:14:21 -0000
@@ -1,2 +1,2 @@
-SHA256 (poppler-0.82.0.tar.xz) = I0+OVz6lf7agCOfB5Wv64a9dGt8OZfR1VeGuEDh05N8=
-SIZE (poppler-0.82.0.tar.xz) = 1553336
+SHA256 (poppler-0.83.0.tar.xz) = aFxlDZdx4cNA6iIrV8i9P3UC4hkcz+it655jjcsLeZs=
+SIZE (poppler-0.83.0.tar.xz) = 1555456

Reply | Threaded
Open this post in threaded view
|

Re: update print/poppler

George Koehler-2
On Mon, 16 Dec 2019 22:26:48 +0100
Matthias Kilian <[hidden email]> wrote:

> Update to poppler-0.83.0.
>
> Tests (at least build tests) on non-base-clang archs are welcome.

I built your 0.83.0 with ports-gcc on powerpc (macppc).  The good news
is that the build completed, so I can still build other ports that
depend on poppler.

I looked for a port that would use poppler to view a PDF file.  I found
and built x11/lumina and tried lumina-pdf.  A PDF of 89 pages causes
lumina-pdf to run out of memory and crash.  A PDF of 7 pages almost
works, but colors are wrong.  White is still white, but some black text
becomes blue, and other colors are worse.  These symptoms might not be
new; I didn't try viewing a PDF with poppler before 0.83.0, and I don't
know whether the color problem is in lumina or in poppler.  The macppc
is big-endian, but some code might assume little-endian color.

--George

>
> From the Changelog:
>
> core:
> * Improve when a file is recognized as Linearized
> * Improve const-ness of the code
> * Make code a bit more readable/maintanable
> * Fix uninitialized memory uses in broken files
>
> utils:
> * pdffonts: Make code a bit more readable/maintanable
> * pdftohtml: Make code a bit more readable/maintanable
>
> qt5:
> * Remove a bunch of unused internal functions
> * trUtf8 -> tr (less warnings)
>
> build system:
> * make-glib-api-docs: switch to python3
>
> I've adde a major bump do libpoppler-cpp.so because check_sym reported
> this:
>
> Dynamic export changes:
> added:
> _ZNK13BaseMemStreamIKcE7getKindEv
>
> removed:
> _ZN13BaseMemStreamIKcE7getKindEv
>
> This breaks the following ports (because of the use of unique
> pointers and some constification): editors/calligra, editors/libreoffice,
> graphics/gdcm, graphics/inkscape, graphics/pdf2djvu.
>
> Diffs for those ports are in my queue (still waiting for that little
> calligra monster) -- I'll send them later today or tomorrow.
>
> Ciao,
> Kili
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/print/poppler/Makefile,v
> retrieving revision 1.150
> diff -u -p -r1.150 Makefile
> --- Makefile 12 Nov 2019 22:03:41 -0000 1.150
> +++ Makefile 16 Dec 2019 21:14:21 -0000
> @@ -4,7 +4,7 @@ COMMENT-main= PDF rendering library
>  COMMENT-qt5= Qt5 interface to PDF rendering library
>  COMMENT-utils= PDF conversion tools and utilities
>  
> -V= 0.82.0
> +V= 0.83.0
>  DISTNAME= poppler-$V
>  CATEGORIES= print
>  PKGNAME-main= poppler-$V
> @@ -13,10 +13,10 @@ PKGNAME-qt5= poppler-qt5-$V
>  
>  EXTRACT_SUFX= .tar.xz
>  
> -SHARED_LIBS += poppler              57.0     # 92.0
> +SHARED_LIBS += poppler              58.0     # 93.0
>  SHARED_LIBS += poppler-glib         19.4     # 8.15
>  SHARED_LIBS += poppler-qt5          7.3      # 1.21
> -SHARED_LIBS += poppler-cpp          12.0     # 0.7
> +SHARED_LIBS += poppler-cpp          13.0     # 0.7
>  
>  HOMEPAGE= https://poppler.freedesktop.org/
>  
> @@ -33,7 +33,7 @@ MULTI_PACKAGES=-main -qt5 -utils
>  
>  .include <bsd.port.arch.mk>
>  
> -# c++-11
> +# c++-14
>  COMPILER= base-clang ports-gcc
>  
>  cWANTLIB= expat freetype fontconfig jpeg m pthread tiff z
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/print/poppler/distinfo,v
> retrieving revision 1.77
> diff -u -p -r1.77 distinfo
> --- distinfo 12 Nov 2019 22:03:41 -0000 1.77
> +++ distinfo 16 Dec 2019 21:14:21 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (poppler-0.82.0.tar.xz) = I0+OVz6lf7agCOfB5Wv64a9dGt8OZfR1VeGuEDh05N8=
> -SIZE (poppler-0.82.0.tar.xz) = 1553336
> +SHA256 (poppler-0.83.0.tar.xz) = aFxlDZdx4cNA6iIrV8i9P3UC4hkcz+it655jjcsLeZs=
> +SIZE (poppler-0.83.0.tar.xz) = 1555456
>

Reply | Threaded
Open this post in threaded view
|

Re: update print/poppler

Matthias Kilian
Hi,

On Wed, Dec 18, 2019 at 12:30:37AM -0500, George Koehler wrote:

> > Update to poppler-0.83.0.
> >
> > Tests (at least build tests) on non-base-clang archs are welcome.
>
> I built your 0.83.0 with ports-gcc on powerpc (macppc).  The good news
> is that the build completed, so I can still build other ports that
> depend on poppler.
>
> I looked for a port that would use poppler to view a PDF file.  I found
> and built x11/lumina and tried lumina-pdf.  A PDF of 89 pages causes
> lumina-pdf to run out of memory and crash.  A PDF of 7 pages almost
> works, but colors are wrong.  White is still white, but some black text
> becomes blue, and other colors are worse.  These symptoms might not be
> new; I didn't try viewing a PDF with poppler before 0.83.0, and I don't
> know whether the color problem is in lumina or in poppler.  The macppc
> is big-endian, but some code might assume little-endian color.

First of all, thanks for the testing.

It would be nice if anyone else with macppc could do some similar
tests with poppler-0.82.0, so we can see wether this is a regression
or not.

I had a quick look on the diffs between poppler-0.82.0 and poppler.0.83.0,
and I didn't see anything obvious which could have introduced bugs
wrt endianess or colour handling in poppler; there are some changes
like from

        if (foo.isNum())
                bar = foo.getNum()

to

        bar = foo.getNumWithDefaultValue(some_default)

in the color area, but they don't look as if they wouldn't have
also introduced problems on other architectures.

And for the memory consumption: not sure what could have caused
this *if* this is a regression  in poppler-0.83.0.

Ciao,
        Kili

Reply | Threaded
Open this post in threaded view
|

Re: update print/poppler

George Koehler-2
Adding Bryan C. Everly, MAINTAINER of x11/lumina.

On Thu, 19 Dec 2019 22:19:52 +0100
Matthias Kilian <[hidden email]> wrote:

> On Wed, Dec 18, 2019 at 12:30:37AM -0500, George Koehler wrote:
> > I built your 0.83.0 with ports-gcc on powerpc (macppc).  The good news
> > is that the build completed, so I can still build other ports that
> > depend on poppler.
> >
> > I looked for a port that would use poppler to view a PDF file.  I found
> > and built x11/lumina and tried lumina-pdf.  A PDF of 89 pages causes
> > lumina-pdf to run out of memory and crash.  A PDF of 7 pages almost
> > works, but colors are wrong.  White is still white, but some black text
> > becomes blue, and other colors are worse.  These symptoms might not be
> > new; I didn't try viewing a PDF with poppler before 0.83.0, and I don't
> > know whether the color problem is in lumina or in poppler.  The macppc
> > is big-endian, but some code might assume little-endian color.
>
> It would be nice if anyone else with macppc could do some similar
> tests with poppler-0.82.0, so we can see wether this is a regression
> or not.

There is no regression, and the problems are in lumina-pdf,
not in poppler.

I pkg_delete(1)d poppler-0.83.0, then updated my macppc to the recent
powerpc snapshot packages, so I'm now on poppler-0.82.0.  The snapshot's
lumina-pdf built with poppler-0.82.0 has exactly the same problems as
my earlier build of lumina-pdf with poppler-0.83.0: the 89-page PDF runs
out of memory and crashes, and the 7-page PDF has wrong color.

I pkg_add(1)ed apvlv, another PDF viewer that depends on poppler.
"apvlv $file.pdf" works with both files: no crash, correct color.  This
proves to me that poppler-0.82.0 works on macppc.  (I have not yet tried
apvlv with poppler-0.83.0 because I would need to rebuild 0.83.0, then
build apvlv.)

I conclude that
 - poppler-0.83.0 is just as good as 0.82.0, and
 - lumina-pdf has problems, while other PDF viewers work with poppler.

These are the PDF files:

http://tack.sourceforge.net/olddocs/em.pdf (190K) is the 89-page PDF,
mostly black text on white.  When lumina-pdf tries to open this, it
writes many memory errors to the terminal, like
  QImage: out of memory, returning null
  Out of memory
  "Error: unable to allocate 383 entries"
It usually crashes, but my last run got stuck without crashing.  top(1)
shows lumina-pdf with SIZE 512M and RES 544M.  I have a data limit per
process of 512M (from datasize-cur=512M for staff in /etc/login.conf).
This old macppc machine has a 32-bit address space.

https://www.thc.texas.gov/public/upload/forms/six-flags-over-texas.pdf
(422K) is the 7-page PDF.  Colors are wrong in lumina-pdf.

If these problems only happen on macppc (32-bit big-endian), they might
persist until some macppc user fixes them.
  --George