Opened 11 years ago

Last modified 5 years ago

#39249 assigned defect

qt3-mac: error: invalid use of incomplete type ‘struct png_info_def’

Reported by: parecejiit@… Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: mojca (Mojca Miklavec)
Port: qt3-mac

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Hi ,

I am having trouble installing qt3-mac using macports

here is command line logs>>

-MacBook-Air:~ Pravy$ sudo port install qt3-mac 
Password:
--->  Computing dependencies for qt3-mac
--->  Building qt3-mac
Error: org.macports.build for port qt3-mac returned: command execution failed
Please see the log file for port qt3-mac for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt3-mac/qt3-mac/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port qt3-mac failed
Parveen-Aryas-MacBook-Air:~ Pravy$ 

here is what i see in the log file >>>

info:build kernel/qpngio.cpp:505: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:520: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:521: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:522: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:538: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:539: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:540: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp:558: error: invalid use of incomplete type ‘struct png_info_def’
:info:build /opt/local/include/png.h:736: error: forward declaration of ‘struct png_info_def’
:info:build kernel/qpngio.cpp: In member function ‘virtual int QPNGFormat::decode(QImage&, QImageConsumer*, const uchar*, int)’:
:info:build kernel/qpngio.cpp:1044: error: invalid use of incomplete type ‘struct png_struct_def’
:info:build /opt/local/include/png.h:863: error: forward declaration of ‘struct png_struct_def’
:info:build kernel/qpngio.cpp:1071: error: invalid use of incomplete type ‘struct png_struct_def’
:info:build /opt/local/include/png.h:863: error: forward declaration of ‘struct png_struct_def’
:info:build kernel/qpngio.cpp: In member function ‘void QPNGFormat::end(png_struct*, png_info*)’:
:info:build kernel/qpngio.cpp:1131: error: invalid use of incomplete type ‘struct png_struct_def’
:info:build /opt/local/include/png.h:863: error: forward declaration of ‘struct png_struct_def’
:info:build kernel/qpngio.cpp: In function ‘void qt_zlib_compression_hack()’:
:info:build kernel/qpngio.cpp:1246: error: ‘compress’ was not declared in this scope
:info:build kernel/qpngio.cpp:1247: error: ‘uncompress’ was not declared in this scope
:info:build make[1]: *** [.obj/release-shared-mt/qpngio.o] Error 1
:info:build make[1]: *** Waiting for unfinished jobs....
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt3-mac/qt3-mac/work/qt-mac-free-3.3.8b/src'
:info:build make: *** [sub-src] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt3-mac/qt3-mac/work/qt-mac-free-3.3.8b'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt3-mac/qt3-mac/work/qt-mac-free-3.3.8b" && /usr/bin/make -j2 -w symlinks src-qmake src-moc sub-src sub-tools 
:info:build Exit code: 2
:error:build org.macports.build for port qt3-mac returned: command execution failed
:debug:build Error code: CHILDSTATUS 213 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within

Environment info:
Macport version: 2.1.3
OS: 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

please suggest what is wrong, i tried reading some very old thread on this issue but none of them were able to help me.

Thanks.

Attachments (1)

main.log (374.1 KB) - added by parecejiit@… 11 years ago.
qt3-mac log file

Download all attachments as: .zip

Change History (12)

comment:1 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to blair@…
Port: qt3-mac added

Please clean and try again and then attach the complete main.log file.

comment:2 Changed 11 years ago by parecejiit@…

Sure, you want me to cleanup qt3-mac previous fetch right?

comment:3 in reply to:  2 Changed 11 years ago by pixilla (Bradley Giesbrecht)

Replying to parecejiit@…:

Sure, you want me to cleanup qt3-mac previous fetch right?

Just a simple clean:

sudo port clean qt3-mac
sudo port install qt3-mac
port logfile qt3-mac

Changed 11 years ago by parecejiit@…

Attachment: main.log added

qt3-mac log file

comment:4 Changed 11 years ago by parecejiit@…

Hi , Thanks just attached log file afater clean up and build was again failed.

comment:5 Changed 11 years ago by parecejiit@…

Hi can i know if you would need anything else to help my problem?

comment:6 Changed 11 years ago by parecejiit@…

May i know if this is the normal turnaround time to get a help related to macports?, have not seen any message so far , i have already uploaded requested log file.

It seems this issue is happening due to "png.h" header file....created by libpng

Could you please let me knof if this issue can be fixed or shall i look out for another options?.

I wanted to install QUCS which need qt3-mac to be installed.

comment:7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: qt3-mac is not able to build on MAC OSX (darwin)qt3-mac: error: invalid use of incomplete type ‘struct png_info_def’

Sorry, qt3-mac is ancient. If you need this for your own code, consider using the qt4-mac port instead and updating your code to be compatible with Qt 4. If you need this because of other ports in MacPorts, then those other ports should be updated to use Qt 4, if possible.

comment:8 Changed 7 years ago by mojca (Mojca Miklavec)

Cc: mojca added

comment:9 Changed 7 years ago by mojca (Mojca Miklavec)

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.

comment:10 Changed 7 years ago by mojca (Mojca Miklavec)

In 2e00fe3a/macports-ports:

qt3[-mac]: various cleanups

  • remove conflict with qt4-mac and (no longer existing) qt4-mac-devel
  • disable builds of qt3-mac on > 10.6
  • disable livecheck (there will be no newer versions released anyway)
  • use newer checksums
  • fix homepage and master_sites

qt3-mac is broken:
See: #30679 (doesn't work on > 10.6)
See: #39249 (compatibility with latest libpng)

comment:11 Changed 5 years ago by mf2k (Frank Schima)

Owner: blair deleted
Status: newassigned
Note: See TracTickets for help on using tickets.