[MacPorts] #37546: doxygen @1.8.3: +wizard fails to build
#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 Keywords: | Port: doxygen ----------------------+--------------------- 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. -- Ticket URL: <https://trac.macports.org/ticket/37546> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | -----------------------+------------------- Comment (by mmoll@…): The file doxygen-1.8.3/addon/doxywizard/Makefile.doxywizard is part of the problem. The architectures are also hard-coded in doxygen-1.8.3/tmake/lib /macosx-intel-c++/tmake.conf. The first file can be regenerated with qmake, but qmake still sets up universal architectures. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | -----------------------+------------------- Comment (by egall@…): I just successfully installed doxygen with the +wizard variant on Snow Leopard; perhaps it's a clang vs. gcc issue? -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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
#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 | -----------------------+------------------- Comment (by raimue@…): Replying to [comment:3 egall@…]:
I just successfully installed doxygen with the +wizard variant on Snow Leopard; perhaps it's a clang vs. gcc issue?
It could be that you actually have the required 32-bit libraries on your system (qt4-mac with +universal variant?). Or qmake did not generate multiple `-arch` flags for your system. Could you please produce a main.log on your Snow Leopard for comparison? `sudo port clean doxygen; sudo port build doxygen`, then attach the file from the path returned by `port logfile doxygen`. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | -----------------------+------------------- Comment (by egall@…): Replying to [comment:5 raimue@…]:
Replying to [comment:3 egall@…]:
I just successfully installed doxygen with the +wizard variant on Snow Leopard; perhaps it's a clang vs. gcc issue?
It could be that you actually have the required 32-bit libraries on your system (qt4-mac with +universal variant?).
{{{ Local-Admins-MacBook-Pro:Desktop ericgallager$ port -d installed qt4-mac The following ports are currently installed: qt4-mac @4.8.4_2+debug+demos+examples+odbc+quartz+universal (active) platform='darwin 10' archs='i386 x86_64' }}} (all those variants make it take forever to build btw)
Could you please produce a main.log on your Snow Leopard for comparison? `sudo port clean doxygen; sudo port build doxygen`, then attach the file from the path returned by `port logfile doxygen`.
OK, just finished rebuilding, will attach log next -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | -----------------------+------------------- Comment (by Torsten.Maehne@…): Building doxygen 1.8.3 on Mountain Lion (x86_64) still fails to build due to some stray -arch i386 compiler argument. I uploaded the log of my clean build try. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#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 | -----------------------+------------------- Comment (by g5pw@…): I was able to build with +wizard by removing the -arch flags in Makefile.doxywizard. Funny thing is, the file gets regenerated in the build phase, so we can't patch it alone. I think this stems from an error in qmake... -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:13> MacPorts <http://www.macports.org/> Ports system for OS X
#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 | -----------------------+------------------- Comment (by macgeek21@…): I was able to get the doxygen +wizard to build with 1.8.3.1 by changing line 150 from original: reinplace "/CONFIG/s@x86 ppc@${qt_arch_types}@/" \[[BR]] modified: reinplace "/CONFIG/s@x86@${qt_arch_types}@/" \[[BR]] It looks like the ppc option has been removed, but the RE was sill looking for it. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
#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 | -----------------------+------------------- Comment (by macports@…): I can confirm that macgeek21's fix works. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
#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 | -----------------------+------------------- Comment (by g5pw@…): I can confirm, too. Commited in r106761. -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:17> MacPorts <http://www.macports.org/> Ports system for OS X
#37546: doxygen @1.8.3: +wizard fails to build -----------------------+-------------------- Reporter: raimue@… | Owner: css@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.2 Resolution: fixed | Keywords: Port: doxygen | -----------------------+-------------------- Changes (by g5pw@…): * status: new => closed * resolution: => fixed -- Ticket URL: <https://trac.macports.org/ticket/37546#comment:18> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts