[Libreoffice] gdk-pixbuf compile error
Joseph Powers
jpowers27 at cox.net
Tue May 31 22:59:46 PDT 2011
I'm guessing that its failing on more then just Mac OS. I found a patch at http://old.nabble.com/build-problems-with-libpng-1.5.1beta01-td30662957.html that seams to work.
I'm not sure how to include it in our build system so I'm attaching including it here. It doesn't apply cleanly so I had to do the "@@ -459,7 +463,7 @@ gdk_pixbuf__png_image_begin_load (GdkPix" section manually. Also, it looks like we're using 2.23.0 while the latest stable is 2.22.1; so I'm guessing we may find other issues. Also, the most resent unstable is 2.23.3 ( I couldn't find the download site just the manual).
Can someone please verify & integrate this somehow... also, because of the patch isn't mine I'm not sure how licensing will work (the closest I noticed to a licenese was "here's the patch I used in case someone else needs it"); the lease we should do is make sure the two of them get some credit.
This is working now; however, I'm getting a segfault in an unrelated section of code during "make check".
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000069727469
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libuno_cppuhelpergcc3.dylib.3 0x002e8773 com::sun::star::uno::WeakReferenceHelper::get() const + 67
1 libdbamxi.dylib 0x5f97c65a dbaccess::ODatabaseModelImpl::dispose() + 42
2 libdbamxi.dylib 0x5f9019e5 dbaccess::ODatabaseContext::disposing() + 101
3 libuno_cppuhelpergcc3.dylib.3 0x002d73be cppu::WeakComponentImplHelperBase::dispose() + 158
4 libuno_cppuhelpergcc3.dylib.3 0x002fbc78 cppu::createOneInstanceRegistryFactory(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&) + 6120
5 libuno_cppuhelpergcc3.dylib.3 0x0030aabc cppu::OComponentHelper::release() + 156
6 libuno_cppuhelpergcc3.dylib.3 0x002fe32c cppu::createOneInstanceRegistryFactory(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::registry::XRegistryKey> const&) + 16028
7 libuno_cppuhelpergcc3.dylib.3 0x002e8a38 cppu::OWeakAggObject::release() + 104
8 libuno_cppuhelpergcc3.dylib.3 0x0030aa8d cppu::OComponentHelper::release() + 109
9 bootstrap.uno.dylib 0x04317693 component_getFactory + 90403
10 libuno_cppuhelpergcc3.dylib.3 0x002d73be cppu::WeakComponentImplHelperBase::dispose() + 158
11 bootstrap.uno.dylib 0x04312bd8 component_getFactory + 71272
12 libuno_cppuhelpergcc3.dylib.3 0x00302552 cppu::createComponentContext(cppu::ContextEntry_Init const*, long, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) + 2466
13 libuno_cppuhelpergcc3.dylib.3 0x002d73be cppu::WeakComponentImplHelperBase::dispose() + 158
14 libsofficeapp.dylib 0x000776d1 0x5a000 + 120529
15 libsofficeapp.dylib 0x00064059 0x5a000 + 41049
16 libvclmxi.dylib 0x017c9c4b DeInitVCL() + 1451
17 libvclmxi.dylib 0x017ca445 ImplSVMain() + 245
18 libvclmxi.dylib 0x0177d61b AquaSalInstance::handleAppDefinedEvent(NSEvent*) + 75
19 libvclmxi.dylib 0x01ab511b -[VCL_NSApplication sendEvent:] + 315
20 com.apple.AppKit 0x989ee2a7 -[NSApplication run] + 917
21 com.apple.AppKit 0x989e62d9 NSApplicationMain + 574
22 libvclmxi.dylib 0x0177f0a7 ImplSVMainHook(int*) + 343
23 libvclmxi.dylib 0x017ca571 SVMain() + 17
24 libsofficeapp.dylib 0x00098d85 soffice_main + 245
25 org.libreoffice.script 0x00001ebe main + 30
26 org.libreoffice.script 0x00001822 start + 258
27 org.libreoffice.script 0x00001749 start + 41
So it looks like I know what I'm working on tomorrow...
Joe P.
------------------------------------------------------------
$NetBSD: patch-af,v 1.1 2011/01/13 17:14:43 wiz Exp $
Fix build with png-1.5.
--- gdk-pixbuf/io-png.c.orig 2010-07-10 00:54:35.000000000 +0000
+++ gdk-pixbuf/io-png.c
@@ -183,7 +183,11 @@ png_simple_error_callback(png_structp pn
error_msg);
}
+#if (PNG_LIBPNG_VER < 10500)
longjmp (png_save_ptr->jmpbuf, 1);
+#else
+ png_longjmp (png_save_ptr, 1);
+#endif
}
static void
@@ -287,7 +291,7 @@ gdk_pixbuf__png_image_load (FILE *f, GEr
return NULL;
}
- if (setjmp (png_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(png_ptr))) {
g_free (rows);
if (pixbuf)
@@ -459,7 +463,7 @@ gdk_pixbuf__png_image_begin_load (GdkPix
return NULL;
}
- if (setjmp (lc->png_read_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
if (lc->png_info_ptr)
png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL);
g_free(lc);
@@ -531,7 +535,7 @@ gdk_pixbuf__png_image_load_increment(gpo
lc->error = error;
/* Invokes our callbacks as needed */
- if (setjmp (lc->png_read_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(lc->png_read_ptr))) {
lc->error = NULL;
return FALSE;
} else {
@@ -654,7 +658,7 @@ png_info_callback (png_structp png_rea
GDK_PIXBUF_ERROR,
GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
_("Insufficient memory to store a %ld by %ld image; try exiting some applications to reduce memory usage"),
- width, height);
+ (long)width, (long)height);
}
return;
}
@@ -769,7 +773,11 @@ png_error_callback(png_structp png_read_
error_msg);
}
+#if (PNG_LIBPNG_VER < 10500)
longjmp (png_read_ptr->jmpbuf, 1);
+#else
+ png_longjmp (png_read_ptr, 1);
+#endif
}
static void
@@ -978,7 +986,7 @@ static gboolean real_save_png (GdkPixbuf
success = FALSE;
goto cleanup;
}
- if (setjmp (png_ptr->jmpbuf)) {
+ if (setjmp (png_jmpbuf(png_ptr))) {
success = FALSE;
goto cleanup;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110531/2b2f4904/attachment-0001.htm>
More information about the LibreOffice
mailing list