ports/172377: Fix for p5-Image-Scale (fails to load with png-1.5.x)

Michael Curtis michael at moltenmercury.org
Sat Oct 6 02:20:05 UTC 2012


>Number:         172377
>Category:       ports
>Synopsis:       Fix for p5-Image-Scale (fails to load with png-1.5.x)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 06 02:20:05 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Michael Curtis
>Release:        9.0
>Organization:
>Environment:
FreeBSD citadel 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
p5-Image-Scale uses png_memcpy, which is now a private API in PNG and not exposed to external clients.  This causes a compile warning and the .so fails to load when Perl tries to load it, due to an unresolved symbol.
>How-To-Repeat:
Compile p5-Image-Scale against a recent libpng, load the module in Perl.
>Fix:
The attached patch (to be placed in files dir of port) changes the png_memcpy to an ordinary memcpy.  This appears to be safe, and png_memcpy is #define'd to memcpy inside libpng these days.

Patch attached with submission follows:

diff -ur work/Image-Scale-0.08/src/png.c work2/Image-Scale-0.08/src/png.c
--- src/png.c	2011-07-12 01:03:28.000000000 +1000
+++ src/png.c	2012-10-04 01:53:55.000000000 +1000
@@ -40,7 +40,7 @@
     }
  }
 
- png_memcpy(data, buffer_ptr(im->buf), len);
+ memcpy(data, buffer_ptr(im->buf), len);
  buffer_consume(im->buf, len);
  
  goto ok;



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list