discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: png Error while linking gui


From: Fred Kiefer
Subject: Re: png Error while linking gui
Date: Wed, 20 Feb 2013 22:44:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

On 20.02.2013 19:45, Sebastian Reitenbach wrote:

On Wednesday, February 20, 2013 18:36 CET, Riccardo Mottola <address@hidden> 
wrote:

Hi,

I upgraded libpng on NetBSD and now I cannot link gui anymore::

Making all for tool set_show_service...
   Compiling file set_show_service.m ...
   Linking tool set_show_service ...
../Source/./obj/libgnustep-gui.so: undefined reference to `png_sizeof'
gmake[4]: *** [obj/set_show_service] Error 1

I guess when compiling NSBitmapImageRep+PNG.m, you got a warning about
implicit declaration of function png_sizeof?


I have:
png-1.6.0nb1        Library for manipulating PNG images

looks as if the function was removed ? is anybody using this version of
libpng?
OpenBSD ships 1.5.10.

The following API are now DEPRECATED:
    png_info_init_3()
    png_convert_to_rfc1123() which has been replaced
      with png_convert_to_rfc1123_buffer()
    png_data_freer()
    png_malloc_default()
    png_free_default()
    png_reset_zstream()

The following has been removed:
    png_get_io_chunk_name(), which has been replaced
      with png_get_io_chunk_type().  The new
      function returns a 32-bit integer instead of
      a string.
    The png_sizeof(), png_strlen(), png_memcpy(), png_memcmp(), and
      png_memset() macros are no longer used in the libpng sources and
      have been removed.  These had already been made invisible to
applications
      (i.e., defined in the private pngpriv.h header file) since
libpng-1.5.0.

The signatures of many exported functions were changed, such that
    png_structp became png_structrp or png_const_structrp
    png_infop became png_inforp or png_const_inforp
where "rp" indicates a "restricted pointer".

here I see that png_sizeof() is just a #define to sizeof()

so exchanging it with sizeof should just work?

Using sizeof() instead of png_sizeof() should work around that specific issue, but I read through the PNG webpage and there are a lot more changes coming:

http://www.libpng.org/pub/png/src/libpng-1.4.x-to-1.5.x-summary.txt

And even 1.5 is outdated by now, they have released 1.6 and are working on 1.7. In 1.6 they deprecated png_info_init_3() which means that we need to rewrite the whole png code. We rather should do that change at once. My 1.2.49 version of libpng already has png_create_info_struct(). Are there any older versions still in use that miss that function?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]