Package Details: pdf2htmlex 0.18.8.rc1-1

Git Clone URL: https://aur.archlinux.org/pdf2htmlex.git (read-only, click to copy)
Package Base: pdf2htmlex
Description: Convert PDF to HTML without losing text or format.
Upstream URL: https://github.com/pdf2htmlEX/pdf2htmlEX
Licenses: GPL3
Submitter: Francois_B
Maintainer: None
Last Packager: scrouthtv
Votes: 13
Popularity: 0.26
First Submitted: 2015-08-09 18:45
Last Updated: 2021-06-12 17:09

Latest Comments

fbrennan commented on 2021-06-13 06:39

AppImage

I have bad news. This no longer compiles, because poppler won't compile. Because it's an old version, and glib has changed. glib2, an unenumerated dependency, can no longer be relied upon, due to errors such as these:

[ 91%] Building CXX object glib/CMakeFiles/poppler-glib.dir/poppler-layer.cc.o
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /home/fred/Workspace/aur/pdf2htmlex/src/pdf2htmlEX-0.18.8.rc1/poppler/glib/poppler.h:22,
                 from /home/fred/Workspace/aur/pdf2htmlex/src/pdf2htmlEX-0.18.8.rc1/poppler/glib/poppler-page.cc:33:
/home/fred/Workspace/aur/pdf2htmlex/src/pdf2htmlEX-0.18.8.rc1/poppler/glib/poppler-page.cc: In function ‘GType poppler_rectangle_get_type()’:
/home/fred/Workspace/aur/pdf2htmlex/src/pdf2htmlEX-0.18.8.rc1/poppler/glib/poppler-private.h:158:13: error: argument 2 of ‘__atomic_load’ must not be a pointer to a ‘volatile’ type
  158 |         if (g_once_init_enter (&g_define_type_id__volatile)) {                        \
      |             ^~~~~~~~~~~~~~~~~

You must compile glib itself, checkout v2.41.5, by pulling https://gitlab.gnome.org/GNOME/glib.git, applying this:

diff --git a/m4macros/glib-gettext.m4 b/m4macros/glib-gettext.m4
index 5217fd843..9596cb28a 100644
--- a/m4macros/glib-gettext.m4
+++ b/m4macros/glib-gettext.m4
@@ -36,8 +36,6 @@ dnl We go to great lengths to make sure that aclocal won't
 dnl try to pull in the installed version of these macros
 dnl when running aclocal in the glib directory.
 dnl
-m4_copy([AC_DEFUN],[glib_DEFUN])
-m4_copy([AC_REQUIRE],[glib_REQUIRE])
 dnl
 dnl At the end, if we're not within glib, we'll define the public
 dnl definitions in terms of our private definitions.

And running e.g. autoreconf, ./configure --prefix=/opt/glib2.41, make -j9 CFLAGS="-Wno-error=format-nonliteral", make install.

Then you must apply to this repository:

diff --git a/PKGBUILD b/PKGBUILD
index 1319cce..26910fb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -32,7 +32,7 @@ sha256sums=('fba230364537782cc5d43b08d693ef69c36586286349683c7b127156a8ef9b5c'
             'a1d320f155eaffe78e4af88e288ed5e8217e29031acf6698d14623c59a7c5641'
             '28d81fc2344dc3a612886e2e159d8bdd0da8de62b28cb2ef16a45b1ccf364af4'
 # above: 50.patch -- below: popplerFlags
-            '55558182468c5b96a0c0ed0c3ce7d936c906d1cf3ec232d0a37735cdd8190a10'
+            'f8bca6e0a6dba7d8382500eb91e160ebfade475ea3394bc446f01e2158b3b5b2'
             '35e431f050037d653a61654f9d9d3a13fe790178f4803ce045964fed4d9b7228')

 prepare() {
diff --git a/popplerFlags b/popplerFlags
index cf8d4a3..b9d1f26 100644
--- a/popplerFlags
+++ b/popplerFlags
@@ -25,4 +25,5 @@
 -DWITH_PNG=ON                             \
 -DWITH_TIFF=OFF                           \
 -DWITH_NSS3=OFF                           \
+-DGLIB2_INCLUDE_DIRS='/opt/glib2.41/include/glib-2.0' \
 -DWITH_Cairo=ON

The number of hacks becoming required to build this are in my opinion a bit ridiculous, so I packed mine as an AppImage. I never want to need to compile this again. If build isn't working for you and you're too busy to fix it, consider https://github.com/ctrlcctrlv/pdf2htmlEX.AppImage.

scrouthtv commented on 2021-01-13 07:42

Update to 0.18.8.rc1

homk commented on 2020-12-26 13:07

pdf2htmlEX-continuous.tar.gz fails on validity check.

pdf2htmlEX-git doesn't build.

docker image 'pdf2htmlex/pdf2htmlex' has no manifest.

Hm.

dreieck commented on 2020-06-13 10:54

Fails to configure for me:

==> Starting build()...
-- The C compiler identification is GNU 10.1.0
-- The CXX compiler identification is GNU 10.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.3") 
-- Checking for module 'poppler>=0.25.0'
--   Found poppler, version 0.88.0
-- Checking for module 'cairo>=1.10.0'
--   Found cairo, version 1.17.3
Trying to locate cairo-svg...
-- Found Freetype: /usr/lib/libfreetype.so (found version "2.10.2") 
-- Checking for module 'libfontforge>=2.0.0'
--   Package 'libfontforge', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.17/Modules/FindPkgConfig.cmake:467 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.17/Modules/FindPkgConfig.cmake:647 (_pkg_check_modules_internal)
  CMakeLists.txt:57 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/tmp/yaourt-tmp-felics/aur-pdf2htmlex/src/pdf2htmlEX-0.14.6/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

macie commented on 2019-12-28 21:00

There is newer, maintained fork: https://github.com/pdf2htmlEX/pdf2htmlEX But it aimed at Ubuntu, so it will be probably slightly out of date (dependent packages are slower adopted in Ubuntu than in Arch).

xanc commented on 2018-03-24 22:31

airoFontEngine.cc:681:17: error: ‘void Object::free()’ is private within this context charProc.free(); ^ In file included from /usr/include/poppler/GfxFont.h:41:0, from /home/xan/aur/pdf2htmlex/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.h:40, from /home/xan/aur/pdf2htmlex/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc:39: /usr/include/poppler/Object.h:292:8: note: declared private here void free(); ^~~~ make[2]: [CMakeFiles/pdf2htmlEX.dir/build.make:63: CMakeFiles/pdf2htmlEX.dir/3rdparty/poppler/git/CairoFontEngine.cc.o] Error 1 make[1]: [CMakeFiles/Makefile2:68: CMakeFiles/pdf2htmlEX.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 ==> ERROR: S'ha produït un error a build(). Cancel·lant...

ilpianista commented on 2017-11-15 18:05

Fails to build:

/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc: In function ‘cairo_status_t _render_type3_glyph(cairo_scaled_font_t*, long unsigned int, cairo_t*, cairo_text_extents_t*)’:
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc:662:50: error: no matching function for call to ‘Dict::getVal(long unsigned int&, Object*)’
gfx->display(charProcs->getVal(glyph, &charProc));
^
In file included from /usr/include/poppler/Object.h:342:0,
from /usr/include/poppler/GfxFont.h:41,
from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.h:40,
from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc:39:
/usr/include/poppler/Dict.h:84:10: note: candidate: Object Dict::getVal(int) const
Object getVal(int i) const;
^~~~~~
/usr/include/poppler/Dict.h:84:10: note: candidate expects 1 argument, 2 provided
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc:681:17: error: ‘void Object::free()’ is private within this context
charProc.free();
^
In file included from /usr/include/poppler/GfxFont.h:41:0,
from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.h:40,
from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoFontEngine.cc:39:
/usr/include/poppler/Object.h:292:8: note: declared private here
void free();
^~~~
make[2]: *** [CMakeFiles/pdf2htmlEX.dir/build.make:63: CMakeFiles/pdf2htmlEX.dir/3rdparty/poppler/git/CairoFontEngine.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc: In constructor ‘CairoOutputDev::CairoOutputDev()’:
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:164:33: error: ‘class GlobalParams’ has no member named ‘getStrokeAdjust’
stroke_adjust = globalParams->getStrokeAdjust();
^~~~~~~~~~~~~~~
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc: In member function ‘virtual void CairoOutputDev::setMimeData(Stream*, Object*, cairo_surface_t*)’:
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:2690:65: error: invalid conversion from ‘Object*’ to ‘int’ [-fpermissive]
GBool hasColorSpace = !str->getDict()->lookup("ColorSpace", &obj)->isNull();
^~~~
In file included from /usr/include/poppler/Object.h:342:0,
from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:52:
/usr/include/poppler/Dict.h:78:10: note: initializing argument 2 of ‘Object Dict::lookup(const char*, int) const’
Object lookup(const char *key, int recursion = 0) const;
^~~~~~
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:2690:70: error: base operand of ‘->’ has non-pointer type ‘Object’
GBool hasColorSpace = !str->getDict()->lookup("ColorSpace", &obj)->isNull();
^~
/tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:2691:14: error: ‘void Object::free()’ is private within this context
obj.free();
^
In file included from /tmp/pdf2htmlex/src/pdf2htmlEX-0.14.6/3rdparty/poppler/git/CairoOutputDev.cc:52:0:
/usr/include/poppler/Object.h:292:8: note: declared private here
void free();
^~~~
make[2]: *** [CMakeFiles/pdf2htmlEX.dir/build.make:111: CMakeFiles/pdf2htmlEX.dir/3rdparty/poppler/git/CairoOutputDev.cc.o] Error 1

Fanch commented on 2016-11-23 15:11

it look like it is because ${_pkgname} is not defined in the pkgbuild
you should remove the underscore for this variable in the package () function

dreieck commented on 2016-11-22 19:09

Your package produces a file /usr/share/licenses/LICENSE. This should _not_ happen!, indeed it must be at /usr/share/licenses/pdf2htmlex/LICENSE. Please correct. You break compatibility and conflict with other packages that also have this bug (e.g. lha).

runical commented on 2015-11-19 11:54

You have added 'pdf2htmlex' to the replaces. This is not needed and if added to a repo, pacman will ask to replace it every time with the same package. So, please remove it on the next update.