[X2Go-Dev] nx-libs breaks with libpng 1.5.x

Mike Gabriel mike.gabriel at das-netzwerkteam.de
Mon Feb 6 10:51:49 CET 2012


Hi John,

On Mo 06 Feb 2012 05:22:01 CET John Williams wrote:

> Archlinux just upgraded libpng 1.4.x to 1.5.8, and it appears to have
> broken nx-libs. With libpng 1.4.8, I was able to build nx-libs 3.5.0.9
> and successfully run it with x2goserver, but with libpng 1.5.8, when I
> try to build nx-libs it gets to compiling Pgn.cpp and fails with
> errors:
>
> g++ -c -O3 -fno-rtti -fno-exceptions -I../nx-X11/exports/include
> -Wno-deprecated -fPIC -DIN_ADDR_T=in_addr_t -DVERSION=\"3.5.0\"
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -Wall -Wpointer-arith
> Pgn.cpp
>
> Pgn.cpp: In function 'int DecompressPng16(unsigned char*, int,
> unsigned int, unsigned int, unsigned char*, int)':
> Pgn.cpp:417:15: error: invalid use of incomplete type 'png_info {aka
> struct png_info_def}'
> /usr/include/png.h:720:16: error: forward declaration of 'png_info
> {aka struct png_info_def}'
>
> Pgn.cpp: In function 'int DecompressPng24(unsigned char*, int,
> unsigned int, unsigned int, unsigned char*, int)':
> Pgn.cpp:568:15: error: invalid use of incomplete type 'png_info {aka
> struct png_info_def}'
> /usr/include/png.h:720:16: error: forward declaration of 'png_info
> {aka struct png_info_def}'
>
> Pgn.cpp: In function 'int DecompressPng32(unsigned char*, int,
> unsigned int, unsigned int, unsigned char*, int)':
> Pgn.cpp:712:15: error: invalid use of incomplete type 'png_info {aka
> struct png_info_def}'
> /usr/include/png.h:720:16: error: forward declaration of 'png_info
> {aka struct png_info_def}'
>
>
> On the libpng homepage, I found this note
>
> http://www.libpng.org/pub/png/libpng.html
>
> "The libpng 1.5.x series continues the evolution of the libpng API,
> finally hiding the contents of the venerable and hoary png_struct and
> png_info data structures inside private (i.e., non-installed) header
> files. Instead of direct struct-access, applications should be using
> the various png_get_xxx() and png_set_xxx() accessor functions, which
> have existed for almost as long as libpng itself. (Apps that compiled
> against libpng 1.4 without warnings about deprecated features should
> happily compile against 1.5, too.)"
>
> I don't see any warnings from my previous build logs with libpng
> 1.4.8, but since the compiler was given the option "-Wno-deprecated"
> I'm not sure that the warnings would have shown up anyway.
>
> And it does appear that the Pgn.cpp functions DecompressPngXY() are
> trying to access the png_info struct, which is now private in libpng
> 1.5.8.
>
> What do you think is the best way to fix this issue? Would an upstream
> bug report to the NX folks be likely to accomplish anything? I'm not
> sure how big a job it will be to patch all of the code in nx-libs that
> attempts to access png_info or png_struct.

Reinhard Tartler has made us aware of this in the Debian packaging  
context already. To address this, we first need a working concept for  
patching this. Then we will ship that patch with NX (redistributed)  
and also report to original upstream (NoMachine).

Any ideas how to address this? I have not had the time for this, yet.

Greets,
Mike



-- 

DAS-NETZWERKTEAM
mike gabriel, dorfstr. 27, 24245 barmissen
fon: +49 (4302) 281418, fax: +49 (4302) 281419

GnuPG Key ID 0xB588399B
mail: mike.gabriel at das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: Digitale PGP-Unterschrift
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20120206/7c0abc7f/attachment.pgp>


More information about the x2go-dev mailing list