|
|
Nicolas Calimet <pov### [at] freefr> wrote:
> > povray-3.6.1, the Unix version, uses the png_write_finish_row()
> > function, which is a private (internal) function of the png library
> > and not provided by the current png version (1.2.10).
> You don't need a patch for now. Rather, just force POV-Ray to
> build and link with the libraries provided in the source archive, using
> the --disable-lib-checks configure option. Those libs are the versions
> that were used along the POV-Ray development.
Well, that's not really a solution. pkgsrc makes all packages
use one png package instead of tens of different internal copies
so that e.g. vulnerabilities or platform fixes have to be applied
only in one place.
> Anyway, thanks for the report. If possible, POV should not use any
> function that is supposed to be internal to the library (if those were
> really "private", POV could not use them anyway: somehow the lib itself
> was not cleanly designed).
If you could come up with a patch for that, I'd appreciate it.
For now, I'll probably use the following patch:
--- source/png_pov.cpp.orig 2004-08-02 23:11:37.000000000 +0000
+++ source/png_pov.cpp
@@ -107,9 +107,6 @@ extern "C"
void png_pov_write_data(png_structp, png_bytep, png_size_t);
void png_pov_flush_data(png_structp);
- // This is an internal function for libpng
- void png_write_finish_row(png_structp);
-
/***********************************************************************
******
*
@@ -782,7 +779,6 @@ PNG_Image::~PNG_Image()
{
// finished prematurely - trick into thinking done
png_ptr->num_rows = png_ptr->row_number;
- png_write_finish_row(png_ptr);
}
#ifdef POV_COMMENTS // temporarily skip comment writing code
(whitespace is probably broken in this patch, since I cut'n'pasted it)
Cheers,
Thomas
Post a reply to this message
|
|