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