Fix build with Poppler 0.83 and later. Taken from Arch Linux, but adjusted to patch the versioned Poppler files, as upstream applies it after copying them in place. https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.83.patch?h=packages/texlive-bin diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc --- texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +++ texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc @@ -723,7 +723,7 @@ #endif // initialize if (!isInit) { - globalParams = new GlobalParams(); + globalParams.reset(new GlobalParams()); globalParams->setErrQuiet(false); isInit = true; } @@ -1108,6 +1108,5 @@ delete_document(p); } // see above for globalParams - delete globalParams; } } diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc --- texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +++ texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc @@ -79,7 +79,7 @@ exit(1); } fileName = new GString(argv[1]); - globalParams = new GlobalParams(); + globalParams.reset(new GlobalParams()); doc = new PDFDoc(fileName); if (!doc->isOk()) { fprintf(stderr, "Invalid PDF file\n"); @@ -100,7 +100,7 @@ if (objnum == 0) { srcStream = catalogDict.dictLookup("SourceObject"); static char const_SourceFile[] = "SourceFile"; - if (!srcStream.isStream(const_SourceFile)) { + if (!srcStream.isDict(const_SourceFile)) { fprintf(stderr, "No SourceObject found\n"); exit(1); } @@ -202,5 +202,4 @@ fprintf(stderr, "Cross-reference table extracted to %s\n", outname); fclose(outfile); delete doc; - delete globalParams; }