Opened 12 years ago
Closed 11 years ago
#37546 closed defect (fixed)
doxygen @1.8.3: +wizard fails to build
Reported by: | raimue (Rainer Müller) | Owned by: | cssdev |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | mamoll (Mark Moll), cooljeanius (Eric Gallager), maehne (Torsten Maehne), dgonyier (Dwaine Gonyier), bgschaid@…, siavash.kazemian@…, g5pw (Aljaž Srebrnič), macports@… | |
Port: | doxygen |
Description (last modified by raimue (Rainer Müller))
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.
Attachments (4)
Change History (22)
Changed 12 years ago by raimue (Rainer Müller)
comment:1 Changed 12 years ago by cooljeanius (Eric Gallager)
Cc: | egall@… added |
---|
comment:2 Changed 12 years ago by mamoll (Mark Moll)
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.
comment:3 follow-ups: 4 5 Changed 12 years ago by cooljeanius (Eric Gallager)
I just successfully installed doxygen with the +wizard variant on Snow Leopard; perhaps it's a clang vs. gcc issue?
comment:4 Changed 12 years ago by raimue (Rainer Müller)
Description: | modified (diff) |
---|
I noticed I did not copy the full lines from the log for the ticket description, that's corrected now.
comment:5 follow-up: 6 Changed 12 years ago by raimue (Rainer Müller)
Replying to 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
.
comment:6 Changed 12 years ago by cooljeanius (Eric Gallager)
Replying to raimue@…:
Replying to 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 byport logfile doxygen
.
OK, just finished rebuilding, will attach log next
Changed 12 years ago by cooljeanius (Eric Gallager)
Attachment: | doxygen-build-main-SnowLeopard.log added |
---|
My latest build log of doxygen (was successful)
Changed 12 years ago by maehne (Torsten Maehne)
Attachment: | doxygen_failed_build_on_Mountain_Lion.log added |
---|
Log of failing doxygen build on Mountain Lion
comment:9 Changed 12 years ago by maehne (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.
comment:13 Changed 12 years ago by g5pw (Aljaž Srebrnič)
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...
comment:15 follow-up: 16 Changed 11 years ago by macgeek21@…
I was able to get the doxygen +wizard variant to build with doxygen 1.8.3.1 by changing line 150 in the Portfile as follows
original: reinplace "/CONFIG/s@x86 ppc@${qt_arch_types}@/" \
modified: reinplace "/CONFIG/s@x86@${qt_arch_types}@/" \
It looks like the ppc arch option has been removed from the addons/doxywizard/doxywizard.pro.in file, but the RE was sill looking for it in the Portfile.
Changed 11 years ago by macports@…
Attachment: | doxygen-fix-37546.patch added |
---|
comment:18 Changed 11 years ago by g5pw (Aljaž Srebrnič)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Cc Me!