Package: libmng-dev
Version: 1.0.10+dfsg-3.1+b3
Severity: normal
Tags: upstream

The header files for libmng consist of  libmng.h, libmng_conf.h, and 
libmng_types.h.

The header file libmng_types.h includes jpeglib.h.

Running a test program (as part of configurating mplayer build from
latest SVN source) to determine the viability of the libmng installation
results in the error that FILE is not defined.

  #include <libmng.h>
  int main(void) { const char * p_ver = mng_version_text(); return
  !p_ver || p_ver[0] == 0; }

  cc -Wundef  -Wstrict-prototypes -Wmissing-prototypes
  -Wdisabled-optimization -Wno-pointer-sign
  -Wdeclaration-after-statement -std=gnu99  -D_POSIX_C_SOURCE=200112
  -D_XOPEN_SOURCE=600 -D_ISOC99_SOURCE -I. -Iffmpeg -mfpu=neon -O3
  -fno-tree-vectorize /var/tmp/root/mplayer-configure--21634/tmp.c
  -I/usr/local/X11R6/include -marm -D_REENTRANT -I/usr/include/p11-kit-1
  -I/usr/include/samba-4.0  -I/usr/include/directfb -I/usr/include/
  -L/usr/local/X11R6/lib   -lncurses -lrt -lgnutls  -lsmbclient -lpng
  -lz  -ldirectfb  -lXext -lX11 -lpthread -lXss -lXv -lvdpau -lXinerama
  -lXxf86vm -lXxf86dga -laa -L/usr/lib/arm-linux-gnueabihf -lcaca  -o
  /var/tmp/root/mplayer-configure--21634/tmp -lmng -lz -lm
  In file included from /usr/include/libmng_types.h:210:0,
                   from /usr/include/libmng.h:386,
                   from /var/tmp/root/mplayer-configure--21634/tmp.c:1:
  /usr/local/X11R6/include/jpeglib.h:913:53: error: unknown type name 'FILE'
   EXTERN(void) jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile);
                                                       ^
  /usr/local/X11R6/include/jpeglib.h:914:54: error: unknown type name 'FILE'
   EXTERN(void) jpeg_stdio_src (j_decompress_ptr cinfo, FILE * infile);
                                                        ^

According to the maintainer of libjpeg-turbo, it is a requirement of
the libjpeg API (and thus an inherited requirement of  libjpeg-turbo)
that stdio.h must be included before including jpeglib.h.

Thus, since this is the standard legacy requirement, libmng must follow
the requirement to be usable and needs to include stdio.h before including
jpeglib.h in libmng_types.h, viz

--- libmng_types.h.ORIG 2014-12-09 04:00:40.000000000 +0000
+++ libmng_types.h      2014-12-09 04:00:40.000000000 +0000
@@ -207,6 +207,7 @@
 #define HAVE_BOOLEAN
 typedef int boolean;
 #endif
+#include <stdio.h>
 #include <jpeglib.h>
 #endif /* MNG_INCLUDE_IJG6B */

This bug was reported downstream on Ubuntu Launchpad over a year ago
by Peter Cordes on 2014-07-16 but as would be expected, they have not
bothered to do to anything about it.

Perhaps it is now fixed in the newer upstream development version
libmng 2.0.3?


-- System Information:
Debian Release: 8.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: armhf (armv7l)

Kernel: Linux 3.10.17.1-wand-armhf.com (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=ANSI_X3.4-1968) 
(ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages libmng-dev depends on:
ii  libjpeg-dev                        1:1.3.1-12
ii  libjpeg62-turbo-dev [libjpeg-dev]  1:1.3.1-12
ii  liblcms2-dev                       2.6-3+b3
ii  libmng1                            1.0.10+dfsg-3.1+b3
ii  zlib1g-dev                         1:1.2.8.dfsg-2+b1

libmng-dev recommends no packages.

libmng-dev suggests no packages.

-- no debconf information

Reply via email to