[X2Go-Dev] Bug#578: nx-libs, Jpeg.cpp compilation error with jpeg-9a, with suggested patch
Gabriel Marcano
gabemarcano at yahoo.com
Wed Aug 20 05:24:16 CEST 2014
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nxlibs-jpeg9a.patch
Type: text/x-patch
Size: 962 bytes
Desc: not available
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20140819/65252288/attachment.bin>
More information about the x2go-dev
mailing list