Re: [MacPorts] #39249: qt3-mac: error: invalid use of incomplete type ‘struct png_info_def’

MacPorts noreply at macports.org
Sat Mar 4 19:53:15 UTC 2017


#39249: qt3-mac: error: invalid use of incomplete type ‘struct png_info_def’
---------------------------+-------------------
  Reporter:  parecejiit@…  |      Owner:  blair
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.1.3
Resolution:                |   Keywords:
      Port:  qt3-mac       |
---------------------------+-------------------

Comment (by mojca):

 This is due to incompatibility of `qt3-mac`'s code with the latest
 versions of libpng. I tried using the `-qt-libpng` configure flag, but the
 problem is that `/opt/local/include` still takes precedence when searching
 for headers for some reason. Trace mode didn't help (libpng was not
 hidden, but maybe I made some mistake somewhere).

 The port would have to be fixed in a similar way as #36320 (r99159), but
 that requires someone's time and it's questionable whether this port still
 has anything to offer to 10.5 and 10.6 users after all those years. Below
 are the errors when using `macports-clang-3.4`. I would be in favour of
 actually removing `qt3-mac`. Ports that still have some traces of
 `qt3-mac`:

 * qtc-qtsharp (probably works with qt3)
 * qtsharp (probably works with qt3)
 * k3dsurf (works with qt3)
 * wap11gui (probably works with qt3)
 * xglobe (probably works with qt3)

 * qwt (works with qt4-mac)
 * qwtplot3d (works with qt4-mac)


 {{{
 kernel/qpngio.cpp:131:33: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
         if ( bit_depth == 1 && info_ptr->channels == 1 ) {
                                        ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:168:25: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
                 const int g = info_ptr->trans_color.gray;
                                       ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:178:17: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
      && info_ptr->num_palette <= 256 )
                 ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:186:54: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
         if (!image.create(width, height, bit_depth, info_ptr->num_palette,
                                                             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:192:26: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
             while ( i < info_ptr->num_trans ) {
                                 ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:194:15: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
                     info_ptr->palette[i].red,
                             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:207:22: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
         while ( i < info_ptr->num_palette ) {
                             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:209:11: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
                 info_ptr->palette[i].red,
                         ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:298:23: error: member access into incomplete type
 'png_struct' (aka 'png_struct_def')
     if (setjmp(png_ptr->jmpbuf)) {
                       ^
 /opt/local/include/png.h:468:16: note: forward declaration of
 'png_struct_def'
 typedef struct png_struct_def png_struct;
                ^
 kernel/qpngio.cpp:483:23: error: member access into incomplete type
 'png_struct' (aka 'png_struct_def')
     if (setjmp(png_ptr->jmpbuf)) {
                       ^
 /opt/local/include/png.h:468:16: note: forward declaration of
 'png_struct_def'
 typedef struct png_struct_def png_struct;
                ^
 kernel/qpngio.cpp:505:13: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
     info_ptr->channels =
             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:520:13: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
     info_ptr->sig_bit.red = 8;
             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:521:13: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
     info_ptr->sig_bit.green = 8;
             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:522:13: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
     info_ptr->sig_bit.blue = 8;
             ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:538:14: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
             info_ptr->palette[i].red = qRed(rgb);
                     ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:539:14: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
             info_ptr->palette[i].green = qGreen(rgb);
                     ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:540:14: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
             info_ptr->palette[i].blue = qBlue(rgb);
                     ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:558:10: error: member access into incomplete type
 'png_info' (aka 'png_info_def')
         info_ptr->sig_bit.alpha = 8;
                 ^
 /opt/local/include/png.h:482:16: note: forward declaration of
 'png_info_def'
 typedef struct png_info_def png_info;
                ^
 kernel/qpngio.cpp:1044:22: error: member access into incomplete type
 'png_struct' (aka 'png_struct_def')
         if (setjmp((png_ptr)->jmpbuf)) {
                             ^
 /opt/local/include/png.h:468:16: note: forward declaration of
 'png_struct_def'
 typedef struct png_struct_def png_struct;
                ^
 fatal error: too many errors emitted, stopping now [-ferror-limit=]
 1 warning and 20 errors generated.
 }}}

--
Ticket URL: <https://trac.macports.org/ticket/39249#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list