Package: nx-libs Version: HEAD Tags: Patch Found this problem while browsing: https://bugs.gentoo.org/show_bug.cgi?id=481360 Compiling nx-libs against jpeg-9a leads to a compilation error. Specifically: g++ -c -O3 -fno-rtti -fno-exceptions -I../nx-X11/exports/include -Wmissing-declarations -fPIC -DIN_ADDR_T=in_addr_t -DVERSION=\"3.5.0\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -Wall -Wpointer-arith Jpeg.cpp Jpeg.cpp: In function ‘int DecompressJpeg16(unsigned char*, int, unsigned int, unsigned int, unsigned char*, int)’: Jpeg.cpp:443:29: error: invalid conversion from ‘int’ to ‘boolean’ [-fpermissive] jpeg_read_header(&cinfo, 1); ^ In file included from Jpeg.cpp:29:0: /usr/include/jpeglib.h:1039:13: note: initializing argument 2 of ‘int jpeg_read_header(j_decompress_ptr, boolean)’ EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, ^ Jpeg.cpp: In function ‘int DecompressJpeg24(unsigned char*, int, unsigned int, unsigned int, unsigned char*, int)’: Jpeg.cpp:584:29: error: invalid conversion from ‘int’ to ‘boolean’ [-fpermissive] jpeg_read_header(&cinfo, 1); ^ In file included from Jpeg.cpp:29:0: /usr/include/jpeglib.h:1039:13: note: initializing argument 2 of ‘int jpeg_read_header(j_decompress_ptr, boolean)’ EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, ^ Jpeg.cpp: In function ‘int DecompressJpeg32(unsigned char*, int, unsigned int, unsigned int, unsigned char*, int)’: Jpeg.cpp:721:29: error: invalid conversion from ‘int’ to ‘boolean’ [-fpermissive] jpeg_read_header(&cinfo, 1); ^ In file included from Jpeg.cpp:29:0: /usr/include/jpeglib.h:1039:13: note: initializing argument 2 of ‘int jpeg_read_header(j_decompress_ptr, boolean)’ EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, ^ Jpeg.cpp: In function ‘boolean JpegFillInputBuffer(j_decompress_ptr)’: Jpeg.cpp:836:10: error: invalid conversion from ‘int’ to ‘boolean’ [-fpermissive] return 1; ^ Makefile:82: recipe for target 'Jpeg.o' failed make: *** [Jpeg.o] Error 1 I am attaching a patch to address the problem. Specifically, it appears that jpeg-9a changed the definition for its "boolean" type from an int to some other type (bool in C++, it seems). Using TRUE and FALSE, as provided by the jpeg library, is what was done to address the problem. After applying the patch to HEAD (commit 0e3b414ea6ecb6cc359d3b95f5cfeb6096066139), Jpeg.cpp compiles fine. Configuration: Compiling against jpeg-9a. $ gcc -v Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.0/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.9.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-4.9.0/work/gcc-4.9.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.9.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.0/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.9.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.9.0 p1.0, pie-0.6.0' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --enable-lto --without-cloog Thread model: posix gcc version 4.9.0 (Gentoo 4.9.0 p1.0, pie-0.6.0) $ autoreconf --version autoreconf (GNU Autoconf) 2.69 Steps to reproduce: 1. "git clone git://code.x2go.org/nx-libs.git" repository. 2. Change to the "nxcomp" directory. 3. Run "autoreconf" and then do "make Jpeg.o". Expected outcome: Successful compilation. Actual outcome: Compilation failure, see earlier in the report for the error messages.