On Apr 11, 4:15 pm, Peter Chant <[email protected]> wrote:
> Can anyone give me a hint of what is going wrong here? Untarring
> enfuse / enblend 4.0 and running / configure does not cause any
> complains. However, on running make I get the output below. Perhaps
> it is a missing dependency but I can't see what it would be. Problem
> with kernel headers?
Hi everybody, (sorry to butt in from nowhere in particular)
It's because of the recent upgrade to libpng 1.4.1.
A number of deprecated libpng functions have been removed in libpng
1.4, including the function implicated here, png_set_gray_1_2_4_to_8.
The following fairly trivial patch fixes it by using the replacement
function png_set_expand_gray_1_2_4_to_8. Apologies if the patch is
garbled by not being properly attached.
The same problem occurs when compiling Hugin itself, so I have
appended a patch for that as well.
Obviously these problems will eventually need to be addressed in
enblend-enfuse and Hugin; you are, of course, welcome to apply these
patches upstream. Note that the patches should not break compilation
with libpng 1.2. However, the affected code is in the bundled Vigra
library, so there will be an upstream patch issue for you to deal
with.
I'll be pushing these patches to Ponce's SBo-git unofficial SlackBuild
repository for Slackware -current when I've worked out how to do
that :-/
Hope this is helpful.
-D.
---->8-------->8-------->8----
diff -u -r enblend-enfuse-4.0-753b534c819d/src/vigra_impex/png.cxx
enblend-enfuse-4.0-patched/src/vigra_impex/png.cxx
--- enblend-enfuse-4.0-753b534c819d/src/vigra_impex/png.cxx 2009-12-20
15:32:28.000000000 +0000
+++ enblend-enfuse-4.0-patched/src/vigra_impex/png.cxx 2010-03-08
22:49:23.978605408 +0000
@@ -273,9 +273,15 @@
// expand gray values to at least one byte size
if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
+#if PNG_LIBPNG_VER >= 10400
+ if (setjmp(png->jmpbuf))
+
vigra_postcondition( false,png_error_message.insert(0, "error in
png_set_expand_gray_1_2_4_to_8(): ").c_str());
+ png_set_expand_gray_1_2_4_to_8(png);
+#else
if (setjmp(png->jmpbuf))
vigra_postcondition( false,png_error_message.insert(0, "error in
png_set_gray_1_2_4_to_8(): ").c_str());
png_set_gray_1_2_4_to_8(png);
+#endif
bit_depth = 8;
}
---->8-------->8-------->8----
diff -u -r hugin-2009.4.0/src/foreign/vigra/vigra_impex/png.cxx
hugin-2009.4.0-patched/src/foreign/vigra/vigra_impex/png.cxx
--- hugin-2009.4.0/src/foreign/vigra/vigra_impex/png.cxx 2009-12-01
22:39:05.000000000 +0000
+++ hugin-2009.4.0-patched/src/foreign/vigra/vigra_impex/png.cxx
2010-03-08 23:37:02.086605723 +0000
@@ -270,9 +270,16 @@
// expand gray values to at least one byte size
if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
+#if PNG_LIBPNG_VER >= 10400
+ if (setjmp(png->jmpbuf))
+
vigra_postcondition( false,png_error_message.insert(0, "error in
png_set_expand_gray_1_2_4_to_8(): ").c_str());
+ png_set_expand_gray_1_2_4_to_8(png);
+#else
+
if (setjmp(png->jmpbuf))
vigra_postcondition( false,png_error_message.insert(0, "error in
png_set_gray_1_2_4_to_8(): ").c_str());
png_set_gray_1_2_4_to_8(png);
+#endif
bit_depth = 8;
}
---->8-------->8-------->8----
--
You received this message because you are subscribed to the Google Groups
"hugin and other free panoramic software" group.
A list of frequently asked questions is available at:
http://wiki.panotools.org/Hugin_FAQ
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at http://groups.google.com/group/hugin-ptx
To unsubscribe, reply using "remove me" as the subject.