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;
        }

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to