Opened 14 years ago

Closed 14 years ago

#10985 closed defect (fixed)

BUG: doxygen-1.5.0: doxywizard fails to build

Reported by: cssdev Owned by: cssdev
Priority: High Milestone:
Component: ports Version:
Keywords: Cc:
Port:

Description

The doxygen doxywizard fails to compile on Mac OS X with either qt3 or qt3-mac:

Error: Target com.apple.build returned: shell command "cd "/opt/local/var/db/dports/build/_Volumes_homepb_Users_Shared_macports_dports_textproc_doxygen/work/doxygen-1.5.0" && QTDIR=/opt/local make all pdf" returned error 2
Command output: doxywizard.cpp:1390: error: expected `;' before 'fn'
doxywizard.cpp:1391: error: 'fn' was not declared in this scope
doxywizard.cpp:1393: error: 'QFile' was not declared in this scope
doxywizard.cpp:1393: error: expected `;' before 'f'
doxywizard.cpp:1394: error: 'f' was not declared in this scope
doxywizard.cpp:1394: error: 'IO_WriteOnly' was not declared in this scope
doxywizard.cpp:1396: error: 'QTextStream' was not declared in this scope
doxywizard.cpp:1396: error: expected `;' before 't'
doxywizard.cpp:1397: error: 't' was not declared in this scope
doxywizard.cpp:1397: error: invalid use of undefined type 'struct QTextEdit'
doxywizard.h:15: error: forward declaration of 'struct QTextEdit'
doxywizard.cpp:1398: error: 'statusBar' was not declared in this scope
doxywizard.cpp:1402: error: 'QMessageBox' has not been declared
doxywizard.cpp:1403: error: 'warning' was not declared in this scope
doxywizard.cpp: In function 'int main(int, char**)':
doxywizard.cpp:1412: error: 'QApplication' was not declared in this scope
doxywizard.cpp:1412: error: expected `;' before 'a'
doxywizard.cpp:844: error: 'MainWidget::~MainWidget()' is private
doxywizard.cpp:1413: error: within this context
doxywizard.cpp:1109: error: 'void MainWidget::loadConfigFromFile(int)' is private
doxywizard.cpp:1416: error: within this context
doxywizard.cpp:1416: error: invalid conversion from 'char*' to 'int'
doxywizard.cpp:1416: error:   initializing argument 1 of 'void MainWidget::loadConfigFromFile(int)'
doxywizard.cpp:1420: error: 'printf' was not declared in this scope
doxywizard.cpp:1423: error: 'a' was not declared in this scope
doxywizard.cpp:1424: error: 'class MainWidget' has no member named 'show'
lipo: can't open input file: /var/tmp//ccr9nE04.out (No such file or directory)
make[2]: *** [obj/doxywizard.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2

Warning: the following items did not execute (for doxygen): com.apple.build
Error: Status 1 encountered during processing.

Attachments (2)

doxywizard-error.log (225.4 KB) - added by cssdev 14 years ago.
The full make error log reveals an inability to properly locate the Qt headers.
universal-linking.log (17.4 KB) - added by cssdev 14 years ago.
Even after correcting for locating the header files, the build process fails trying to link a universal library. Maybe the port shouldn't try a universal build?

Download all attachments as: .zip

Change History (5)

Changed 14 years ago by cssdev

Attachment: doxywizard-error.log added

The full make error log reveals an inability to properly locate the Qt headers.

Changed 14 years ago by cssdev

Attachment: universal-linking.log added

Even after correcting for locating the header files, the build process fails trying to link a universal library. Maybe the port shouldn't try a universal build?

comment:1 Changed 14 years ago by cssdev

Status: newassigned

Maybe the attempted universal build is to blame in this case? Since doxygen is building from source anyway, should it perhaps build only for the host architecture? It seems that universal builds are all-or-nothing. All dependencies need to build as universal binaries, and that could cause trouble for the ports tree.

See Building Universal Binaries from "configure"-based Open Source Projects.

comment:2 Changed 14 years ago by cssdev

The easy fix for this issue (admittedly maybe not the best) is to explicitly specify --platform macosx-c++ during the configure phase. This forces doxygen to build for the host processor. Building a universal binary via MacPorts is going to take a much larger effort with ramifications for dependencies. I will open a separate bug for a universal build of doxygen.

comment:3 Changed 14 years ago by cssdev

Resolution: fixed
Status: assignedclosed

Fixed in r20637.

Note: See TracTickets for help on using tickets.