Subject: pkg/33800: cad/qcad build failure on MacOS X
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@mylinuxisp.com>
List: pkgsrc-bugs
Date: 06/23/2006 08:40:02
>Number:         33800
>Category:       pkg
>Synopsis:       cad/qcad build failure on MacOS X
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 23 08:40:02 +0000 2006
>Originator:     John D. Baker
>Release:        pkgsrc-current, MacOS X 10.4.6
>Organization:
>Environment:
Darwin bwg3.technoskunk.fur 8.6.0 Darwin Kernel Version 8.6.0: Tue Mar  7 16:58:48 PST 2006; root:xnu-792.6.70.obj~1/RELEASE_PPC Power Macintosh powerpc

>Description:
Building cad/qcad on MacOS X fails as follows:

[...]
libtool --silent --mode=compile g++ -c -O2 -I/usr/pkg/include -I/usr/pkg/qt3/include -I/usr/include -DGLX_GLXEXT_LEGACY -I/usr/pkg/include/freetype2 -DQ_TRAILING_DIR_SEP  -DQC_APPKEY="\"/QCad\"" -DQC_APPDIR="\"qcad\"" -DQC_APPNAME="\"QCad\"" -DQT_NO_DEBUG -I/usr/pkg/qt3/mkspecs/netbsd-g++ -I. -I../../fparser/include -I../../dxflib/include -I../../qcadlib/include -I../../qcadcmd/include -I../../qcadactions/include -I../../qcadguiqt/include -I../../../../../../../../pkg/include -I/usr/pkg/qt3/include -Imoc/ -o obj/main.lo main.cpp
main.cpp:34:27: error: qmacstyle_mac.h: No such file or directory
main.cpp: In function 'int main(int, char**)':
main.cpp:233: error: expected type-specifier before 'QMacStyle'
main.cpp:233: error: expected `)' before 'QMacStyle'
main.cpp:233: error: no matching function for call to 'QApplication::setStyle(int*)'
/usr/pkg/qt3/include/qapplication.h:89: note: candidates are: static void QApplication::setStyle(QStyle*)
/usr/pkg/qt3/include/qapplication.h:90: note:                 static QStyle* QApplication::setStyle(const QString&)
gnumake[1]: *** [obj/main.lo] Error 1
gnumake: *** [qcad] Error 2
*** Error code 2

Stop.
bmake: stopped in /usr/pkgsrc/cad/qcad
===> 
===> There was an error during the ``build'' phase.
===> Please investigate the following for more information:
===>      * log of the build
===>      * /Volumes/NetBSD/tmp/pkgsrc/cad/qcad/work/.work.log
===> 
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/cad/qcad

>How-To-Repeat:
Update to current pkgsrc 22 June 2006 or later.
Attempt to build cad/qcad on MacOS X 10.4.6 (and probably 10.3.9).
>Fix:
The file:

/usr/pkgsrc/cad/qcad/work/qcad-2.0.5.0-1-community.src/qcad/src/main.cpp

contains explicit MacOS X-specific references which are not appropriate
when built through pkgsrc.

The following patch, ironically, permits the build to complete
successfully:

--- work/qcad-2.0.5.0-1-community.src/qcad/src/main.cpp.orig    2006-06-23 03:15:33.000000000 -0500
+++ work/qcad-2.0.5.0-1-community.src/qcad/src/main.cpp 2006-06-23 03:22:42.000000000 -0500
@@ -30,10 +30,6 @@
 
 #include <qapplication.h>
 
-#ifdef __APPLE__
-#include <qmacstyle_mac.h>
-#endif
-
 #include <qtimer.h>
 
 #if QT_VERSION>=0x030200
@@ -229,9 +225,6 @@
 
     //QApplication::setStyle(new QWindowsStyle());
     //QApplication::setStyle(new QPlatinumStyle());
-#ifdef __APPLE__
-       QApplication::setStyle(new QMacStyle());
-#endif
 
 #ifdef QC_BUILTIN_STYLE //js:
        RS_DEBUG->print("main: applying built in style..");



When run, qcad seems to operate ok.  The opening splash window's
listboxes for "GUI Language" and "Command Language" are blank and
elicit the following messages on stderr:

    QComboBox::changeItem: (cbLanguage) Index 0 out of range
    QComboBox::changeItem: (cbLanguageCmd) Index 0 out of range

On subsequent runs, the Preferences editor (Edit->Preferences) also
shows blank list/combo boxes for "GUI Language" and "Command Language"
but do not elicit any output on stderr.

It is not clear if these are related to issues addressed by the
above workaround.  No further testing beyond launching the program
has been attempted so far.