jcupitt / docker-builds

Various sample dockerfiles
92 stars 31 forks source link

Libvips installation fails when Pdfium is enabled #2

Open erbegu opened 5 years ago

erbegu commented 5 years ago

I have been using libvips with poppler until now but since it sometimes generates corrupted images from pdfs I thought to give a try and use libvips with Pdfium. I generated the Pdfium files as described in the README: https://github.com/jcupitt/docker-builds/blob/master/pdfium/README.md. (Tried both ways)

First I copied the generated files to appropriate locations like:

Then downloaded the latest libvips: https://github.com/libvips/libvips/releases/tag/v8.7.4 and tried to install. Anyway $ ./configure couldn't recognize the files but worked fine by running: ./configure --with-pdfium-includes=/usr/local/include --with-pdfium-libraries=/usr/local/lib

Pdfium is enabled: PDF import with PDFium yes The problem is that when I now run: make it fails with this exception:

*** static library /usr/local/lib/pdfium-obj/libformfiller.a is not portable!
libtool: link: g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o  -Wl,--whole-archive resample/.libs/libresample.a arithmetic/.libs/libarithmetic.a colour/.libs/libcolour.a conversion/.libs/libconversion.a convolution/.libs/libconvolution.a deprecated/.libs/libdeprecated.a foreign/.libs/libforeign.a freqfilt/.libs/libfreqfilt.a histogram/.libs/libhistogram.a draw/.libs/libdraw.a iofuncs/.libs/libiofuncs.a morphology/.libs/libmorphology.a mosaicing/.libs/libmosaicing.a create/.libs/libcreate.a -Wl,--no-whole-archive  /usr/lib/x86_64-linux-gnu/libMagickCore-6.Q16.so -lpng16 -ltiff -ljpeg -lgmodule-2.0 -lexpat -lpangoft2-1.0 -lpango-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -lgsf-1 -lxml2 -lfftw3 -lorc-0.4 -llcms2 -lgif -lrsvg-2 -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo /usr/local/lib/pdfium-obj/libpdfium.a /usr/local/lib/pdfium-obj/libfpdfapi.a /usr/local/lib/pdfium-obj/libfxge.a /usr/local/lib/pdfium-obj/libfpdfdoc.a /usr/local/lib/pdfium-obj/libfxcrt.a /usr/local/lib/pdfium-obj/libfx_agg.a /usr/local/lib/pdfium-obj/libfxcodec.a /usr/local/lib/pdfium-obj/libfx_lpng.a /usr/local/lib/pdfium-obj/libfx_libopenjpeg.a /usr/local/lib/pdfium-obj/libfx_lcms2.a /usr/local/lib/pdfium-obj/libfx_freetype.a /usr/local/lib/pdfium-obj/libjpeg.a /usr/local/lib/pdfium-obj/libfdrm.a /usr/local/lib/pdfium-obj/libpwl.a /usr/local/lib/pdfium-obj/libbigint.a /usr/local/lib/pdfium-obj/libformfiller.a -L/usr/local/lib -lIlmImf -lImath -lHalf -lIex -lIexMath -lIlmThread -lopenslide -lcfitsio -lpthread -lwebpmux -lwebp -L/usr/lib/x86_64-linux-gnu/hdf5/serial/lib -lmatio -lhdf5 -lz -lexif -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o  -g -O2 -Wl,--export-dynamic -pthread   -pthread -fopenmp -Wl,-soname -Wl,libvips.so.42 -o .libs/libvips.so.42.9.5
g++: error: /usr/local/lib/pdfium-obj/libpdfium.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfpdfapi.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfxge.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfpdfdoc.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfxcrt.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfx_agg.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfxcodec.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfx_lpng.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfx_libopenjpeg.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfx_lcms2.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfx_freetype.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libjpeg.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libfdrm.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libpwl.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libbigint.a: No such file or directory
g++: error: /usr/local/lib/pdfium-obj/libformfiller.a: No such file or directory
Makefile:737: recipe for target 'libvips.la' failed
make[3]: *** [libvips.la] Error 1
jcupitt commented 5 years ago

Yes, the pdfium integration has broken, unfortunately, as pdfium has evolved. This needs to be redone.

Let's tag as an enhancement.