#37546: doxygen @1.8.3: +wizard fails to build -----------------------+------------------- Reporter: raimue@… | Owner: css@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: | Keywords: Port: doxygen | -----------------------+------------------- Old description:
doxygen @1.8.3 fails to build with the +wizard variant.
From the attached main.log:
{{{ :info:build /usr/bin/clang++ -headerpad_max_install_names -arch x86_64 -arch i386 -Xarch_x86_64 -mmacosx-version-min :info:build ld: warning: ld: warning: ld: warning: ignoring file /opt/local/Library/Frameworks/QtCore.framework/QtCo :info:build :info:build :info:build Undefined symbols for architecture i386: :info:build "qDrawShadePanel(QPainter*, QRect const&, QPalette const&, bool, int, QBrush const*)", referenced from :info:build ColorPicker::paintEvent(QPaintEvent*) in wizard.o :info:build "qt_message_output(QtMsgType, char const*)", referenced from: :info:build QDebug::~QDebug() in doxywizard.o :info:build "qRegisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)", refere :info:build qInitResources_doxywizard() in qrc_doxywizard.o :info:build __GLOBAL__I_a in qrc_doxywizard.o :info:build "qUnregisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)", refe :info:build qCleanupResources_doxywizard() in qrc_doxywizard.o :info:build qCleanupResources_doxywizard__dest_class__::~qCleanupResources_doxywizard__dest_class__() in qrc_d :info:build "endl(QTextStream&)", referenced from: :info:build Expert::saveTopic(QTextStream&, QDomElement&, QTextCodec*, bool) in expert.o :info:build Expert::writeConfig(QTextStream&, bool) in expert.o :info:build InputStrList::writeValue(QTextStream&, QTextCodec*) in inputstrlist.o }}}
I think the reason is the inclusion of `-arch i386` in the compilation above. This argument is at least passed in `doxygen-1.8.3/addon/doxywizard/Makefile.doxywizard` in CFLAGS/CXXFLAGS. A patch and reinplace should be used to select the arch currently building for only. I tested with the patch from ticket #37522 applied, against qt4-mac @4.8.4_2+quartz on Mac OS X 10.8.2 Mountain Lion.
The previous version doxygen @1.8.1.1_1+wizard did work fine for me. I assume changes by upstream introduced these universal arch selections that break the port now for me.
New description: doxygen @1.8.3 fails to build with the +wizard variant. From the attached main.log: {{{ :info:build /usr/bin/clang++ -headerpad_max_install_names -arch x86_64 -arch i386 -Xarch_x86_64 -mmacosx-version-min=10.8 -o ../../bin/DoxyWizard.app/Contents/MacOS/DoxyWizard obj/doxywizard.o obj/version.o obj/expert.o obj/wizard.o obj/inputbool.o obj/inputstring.o obj/inputint.o obj/inputstrlist.o obj/moc_doxywizard.o obj/moc_expert.o obj/moc_helplabel.o obj/moc_inputbool.o obj/moc_inputstring.o obj/moc_inputint.o obj/moc_inputstrlist.o obj/moc_wizard.o obj/qrc_doxywizard.o obj/config_lex.o -F/opt/local/Library/Frameworks -F/opt/local/lib -F/opt/local/Library/Frameworks -F/opt/local/lib -L/opt/local/lib -framework QtXml -framework QtCore -framework QtGui :info:build ld: warning: ld: warning: ld: warning: ignoring file /opt/local/Library/Frameworks/QtCore.framework/QtCore, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /opt/local/Library/Frameworks/QtCore.framework/QtCoreignoring file /opt/local/Library/Frameworks/QtXml.framework/QtXml, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /opt/local/Library/Frameworks/QtXml.framework/QtXmlignoring file /opt/local/Library/Frameworks/QtGui.framework/QtGui, file was built for unsupported file format ( 0xcf 0xfa 0xed 0xfe 0x 7 0x 0 0x 0 0x 1 0x 3 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /opt/local/Library/Frameworks/QtGui.framework/QtGui :info:build :info:build :info:build Undefined symbols for architecture i386: :info:build "qDrawShadePanel(QPainter*, QRect const&, QPalette const&, bool, int, QBrush const*)", referenced from: :info:build ColorPicker::paintEvent(QPaintEvent*) in wizard.o :info:build "qt_message_output(QtMsgType, char const*)", referenced from: :info:build QDebug::~QDebug() in doxywizard.o :info:build "qRegisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)", referenced from: :info:build qInitResources_doxywizard() in qrc_doxywizard.o :info:build __GLOBAL__I_a in qrc_doxywizard.o :info:build "qUnregisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*)", referenced from: :info:build qCleanupResources_doxywizard() in qrc_doxywizard.o :info:build qCleanupResources_doxywizard__dest_class__::~qCleanupResources_doxywizard__dest_class__() in qrc_doxywizard.o :info:build "endl(QTextStream&)", referenced from: :info:build Expert::saveTopic(QTextStream&, QDomElement&, QTextCodec*, bool) in expert.o :info:build Expert::writeConfig(QTextStream&, bool) in expert.o :info:build InputStrList::writeValue(QTextStream&, QTextCodec*) in inputstrlist.o ... }}} I think the reason is the inclusion of `-arch i386` in the compilation above. This argument is at least passed in `doxygen-1.8.3/addon/doxywizard/Makefile.doxywizard` in CFLAGS/CXXFLAGS. A patch and reinplace should be used to select the arch currently building for only. I tested with the patch from ticket #37522 applied, against qt4-mac @4.8.4_2+quartz on Mac OS X 10.8.2 Mountain Lion. The previous version doxygen @1.8.1.1_1+wizard did work fine for me. I assume changes by upstream introduced these universal arch selections that break the port now for me. -- Comment (by raimue@…): I noticed I did not copy the full lines from the log for the ticket description, that's corrected now. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS