[MacPorts] #36053: libharu build fails with libpng 1.5

MacPorts noreply at macports.org
Sat Sep 8 14:14:09 PDT 2012


#36053: libharu build fails with libpng 1.5
----------------------------------+-----------------------------------------
 Reporter:  jwhowse4@…            |       Owner:  macports-tickets@…                   
     Type:  defect                |      Status:  new                                  
 Priority:  Normal                |   Milestone:                                       
Component:  ports                 |     Version:  2.1.2                                
 Keywords:                        |        Port:                                       
----------------------------------+-----------------------------------------
 I am running Lion 10.7.4 with XCode 4.4.1.  After upgrading to libpng 1.5,
 libharu fails with the following error message.

 {{{
 libtool: compile:  /usr/bin/clang -DHAVE_CONFIG_H -I. -I../include
 -I../include -I/opt/macports/include -pipe -O2 -arch x86_64
 -I/opt/macports/include -I/opt/macports/include -fexceptions -MT
 hpdf_image.lo -MD -MP -MF .deps/hpdf_image.Tpo -c hpdf_image.c -o
 hpdf_image.o >/dev/null 2>&1
 hpdf_image_png.c:113:25: error: incomplete definition of type 'struct
 png_info_def'
                 info_ptr->height * sizeof (png_bytep));
                 ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:118:47: error: incomplete definition of type 'struct
 png_info_def'
         HPDF_MemSet (row_pointers, 0, info_ptr->height * sizeof
 (png_bytep));
                                       ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:119:44: error: incomplete definition of type 'struct
 png_info_def'
         for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:129:52: error: incomplete definition of type 'struct
 png_info_def'
                 for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                            ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:138:44: error: incomplete definition of type 'struct
 png_info_def'
         for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:159:44: error: incomplete definition of type 'struct
 png_info_def'
         for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:186:46: error: incomplete definition of type 'struct
 png_info_def'
         row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height *
 sizeof(png_bytep));
                                             ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:192:38: error: incomplete definition of type 'struct
 png_info_def'
                 for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                            ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:195:14: warning: comparison of unsigned expression >= 0
 is always true [-Wtautological-compare]
                                 for (; i >= 0; i--) {
                                        ~ ^  ~
 hpdf_image_png.c:210:26: error: incomplete definition of type 'struct
 png_info_def'
         for (j = 0; j < info_ptr->height; j++) {
                         ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:211:27: error: incomplete definition of type 'struct
 png_info_def'
                 for (i = 0; i < info_ptr->width; i++) {
                                 ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:212:23: error: incomplete definition of type 'struct
 png_info_def'
                         smask_data[info_ptr->width * j + i] =
 (row_ptr[j][i] < num_trans) ? trans[row_ptr[j][i]] : 0xFF;
                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:215:61: error: incomplete definition of type 'struct
 png_info_def'
                 if (HPDF_Stream_Write (image->stream, row_ptr[j],
 info_ptr->width) != HPDF_OK) {
 ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:222:37: error: incomplete definition of type 'struct
 png_info_def'
         for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:248:46: error: incomplete definition of type 'struct
 png_info_def'
         row_ptr = HPDF_GetMem (image->mmgr, info_ptr->height *
 sizeof(png_bytep));
                                             ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:254:38: error: incomplete definition of type 'struct
 png_info_def'
                 for (i = 0; i < (HPDF_UINT)info_ptr->height; i++) {
                                            ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:257:14: warning: comparison of unsigned expression >= 0
 is always true [-Wtautological-compare]
                                 for (; i >= 0; i--) {
                                        ~ ^  ~
 hpdf_image_png.c:274:26: error: incomplete definition of type 'struct
 png_info_def'
                         row_len = 3 * info_ptr->width * sizeof(png_byte);
                                       ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:275:28: error: incomplete definition of type 'struct
 png_info_def'
                         for (j = 0; j < info_ptr->height; j++) {
                                         ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:276:29: error: incomplete definition of type 'struct
 png_info_def'
                                 for (i = 0; i < info_ptr->width; i++) {
                                                 ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 hpdf_image_png.c:279:25: error: incomplete definition of type 'struct
 png_info_def'
                                         smask_data[info_ptr->width * j +
 i] = row[4 * i + 3];
                                                    ~~~~~~~~^
 /opt/macports/include/png.h:727:16: note: forward declaration of 'struct
 png_info_def'
 typedef struct png_info_def png_info;
                ^
 fatal error: too many errors emitted, stopping now [-ferror-limit=]
 }}}

 I found a patch at
 [http://pkgbuild.com/~ioni/libpng-1.5/libharu-2.2.1-libpng-1.5.patch].
 The attached Portfile and patch fix the problem for me.

-- 
Ticket URL: <https://trac.macports.org/ticket/36053>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list