<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Adrian and Albert, thanks for looking at it. I see the libjbig difference with normal dynamic builds also, at least on Fedora 25 with <span>poppler-0.59.0.  Regards, William</span></p>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> poppler <poppler-bounces@lists.freedesktop.org> on behalf of Albert Astals Cid <aacid@kde.org><br>
<b>Sent:</b> Sunday, September 10, 2017 5:48 AM<br>
<b>To:</b> poppler@lists.freedesktop.org<br>
<b>Cc:</b> Adrian Johnson<br>
<b>Subject:</b> Re: [poppler] cmake and static binaries</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">El diumenge, 10 de setembre de 2017, a les 15:30:46 CEST, Adrian Johnson va
<br>
escriure:<br>
> On 10/09/17 06:27, William Bader wrote:<br>
> >> It's not a direct dependency of poppler<br>
> >><br>
> > Thanks for the draw_lib_dependencies command.<br>
> > <br>
> > It shows that libjbig is a dependency of<br>
> > libtiff. <a href="https://imgur.com/a/8WYfY" id="LPlnk465461" previewremoved="true">
https://imgur.com/a/8WYfY</a><br>
<br>
> > <br>
> > <br>
> > I did normal dynamic builds with no options 'configure;make' in one area<br>
> > and 'cmake .;make' in another area.<br>
> > <br>
> > ldd shows libjbig as a dependency of the autotools libpoppler.so but not<br>
> > the cmake libpoppler.so<br>
> > <br>
> > If it only happens to me, it isn't worth looking at, but if it happens<br>
> > to anyone else, it could be a difference between the default options in<br>
> > autotools and cmake.<br>
> <br>
> pkg-config has a --static option to list libraries required for a static<br>
> build.<br>
> <br>
> $ pkg-config --libs libtiff-4<br>
> -ltiff<br>
> <br>
> $ pkg-config --static --libs libtiff-4<br>
> -ltiff -llzma -ljbig -ljpeg -lz -lm<br>
> <br>
> You can try grepping the CMakeCache.txt. eg<br>
> <br>
> $ grep -i cairo CMakeCache.txt  | grep -i static<br>
> <br>
> shows a variable with static link flags<br>
> <br>
> _pc_cairo_STATIC_LDFLAGS:INTERNAL=-lcairo;-lz;-lgobject-2.0;-lffi;-lglib-2.0<br>
> ;-pthread;-lpcre;-pthread;-lpixman-1;-lfontconfig;-lexpat;-lfreetype;-lexpat<br>
> ;-lfreetype;-lz;-lpng16;-lm;-lz;-lm;-lpng16;-lm;-lz;-lm;-lxcb-shm;-lxcb-rend<br>
> er;-lXrender;-lXext;-lX11;-lpthread;-lxcb;-lXau;-lXdmcp<br>
> <br>
> but<br>
> <br>
> $ grep -i tiff CMakeCache.txt  | grep -i static<br>
> <br>
> does not show any static link flags. For some reason cmake is not<br>
> finding the libtiff static link flags.<br>
<br>
Because the only thing we are doing is create a static version of libpoppler, <br>
not static linking the whole world, i.e. pdftotext will not depend of <br>
libpoppler but it'll still link to the other libs).<br>
<br>
Cheers,<br>
  Albert<br>
<br>
> <br>
> > Since libjbig is a dependency of libtiff and not directly of libpoppler,<br>
> > the difference might be what libpoppler uses in libtiff.<br>
> > <br>
> > The config.h files set different options.<br>
> > <br>
> > <br>
> > $ diff <(grep define auto/poppler-0.59.0/config.h | sort) <(grep define<br>
> > cmake/poppler-0.59.0/config.h | sort)<br>
> > 1,3d0<br>
> > < #  define WORDS_BIGENDIAN 1<br>
> > < # define _DARWIN_USE_64_BIT_INODE 1<br>
> > < # if defined __BIG_ENDIAN__<br>
> > 21a19<br>
> > <br>
> >> #define HAVE_LIBZ 1<br>
> > <br>
> > 30d27<br>
> > < #define HAVE_PTHREAD_PRIO_INHERIT 1<br>
> > 36a34<br>
> > <br>
> >> #define HAVE_SYS_DIR_H 1<br>
> > <br>
> > 40d37<br>
> > < #define HAVE_TIFFIO_H 1<br>
> > 43d39<br>
> > < #define HAVE_ZLIB_H 1<br>
> > 45d40<br>
> > < #define LT_OBJDIR ".libs/"<br>
> > 56d50<br>
> > < #define POPPLER_VERSION "0.59.0"<br>
> > 60d53<br>
> > < #define USE_OPENJPEG1 1<br>
> > 63,64c56,57<br>
> > < #define WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG 1<br>
> > < #if defined AC_APPLE_UNIVERSAL_BUILD<br>
> > ---<br>
> > <br>
> >> #define snprintf _snprintf<br>
> >> #if defined(_MSC_VER) && _MSC_VER < 1900<br>
> > <br>
> > 68a62<br>
> > <br>
> >> /* MS defined snprintf as deprecated but then added it in Visual<br>
> > <br>
> > Studio 2015. */<br>
> > <br>
> > poppler-config.h is different also.<br>
> > <br>
> > <br>
> > $ diff <(grep define auto/poppler-0.59.0/poppler/poppler-config.h | sort<br>
> > -u) <(grep define cmake/poppler-0.59.0/poppler/poppler-config.h | sort -u)<br>
> > 4a5<br>
> > <br>
> >> #define ENABLE_ZLIB 1<br>
> > <br>
> > 9a11<br>
> > <br>
> >> #define HAVE_SYS_DIR_H 1<br>
> > <br>
> > Regards, William<br>
</div>
<div class="PlainText"><br>
</div>
</span></font></div>
</div>
</body>
</html>