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: [email protected], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

Attachment: pgpiaDzi6YdaU.pgp
Description: Digitale PGP-Unterschrift

_______________________________________________
X2Go-Dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/x2go-dev

Reply via email to