[MacPorts] #21552: doxygen +wizard +universal (x86_64 i386) fails on Leopard
MacPorts
noreply at macports.org
Tue Oct 6 15:20:12 PDT 2009
#21552: doxygen +wizard +universal (x86_64 i386) fails on Leopard
-----------------------------+----------------------------------------------
Reporter: td@… | Owner: css@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.8.0
Keywords: doxywizard | Port: doxygen
-----------------------------+----------------------------------------------
Comment(by dweber@…):
I'm playing around with a sandbox version of doxygen in
http://trac.macports.org/browser/users/dweber/textproc/doxygen
It appears that doxygen requires Qt 3.3.x, so the qt4-mac dependency will
fail. (Also, it fails to find the qmake binary with a qt4-mac dependency,
because it's called qmake-mac in the qt4-mac port, so this can be handled
with a reinplace to change QMAKE=qmake into QMAKE=qmake-mac, see my
sandbox Portfile for details). However, even with a qt3 dependency, the
build fails. This might be an upstream issue (beyond my ability to fix
this). Maybe a qt3-mac dependency would work?
Furthermore, on my system, even the default build fails (without any
variants enabled). This appears to be due to some link errors (might be
related to the md5 lib?). In my sandbox version that is working for me,
the post-patch phase is commented to leave the default link arguments
alone. The changes made in the post-patch phase are to a file in:
{{{
work/doxygen-1.6.1/tmake/lib/macosx-c++/tmake.conf
}}}
The link setting changes are (reasonable?):
{{{
37,38c37,38
< TMAKE_LINK = c++
< TMAKE_LINK_SHLIB = c++
---
> TMAKE_LINK = /usr/bin/g++-4.0 -L/opt/local/lib
> TMAKE_LINK_SHLIB = /usr/bin/g++-4.0
}}}
When these link changes are disabled, it will build, destroot, install and
run OK. With those link changes disabled, the library dependencies for
doxygen (and doxytag) are:
{{{
work/doxygen-1.6.1/bin/doxygen:
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current
version 7.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 111.1.4)
}}}
When the link changes are enabled, the link phase fails because of
undefined symbols. These are the gory details on the failure:
{{{
gmake[2]: Entering directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
/usr/bin/g++-4.0 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W
-O2 -I../qtools -I../libmd5 -I. -o ../objects/main.o main.cpp
/usr/bin/g++-4.0 -L/opt/local/lib -Wl,-search_paths_first -o
../bin/doxygen ../objects/main.o -L../lib -ldoxygen -ldoxycfg -lqtools
-lmd5 -liconv
Undefined symbols:
"_MD5SigToString", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
"_MD5Buffer", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
gmake[2]: *** [../bin/doxygen] Error 1
gmake[2]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
make: *** [all] Error 2
Error: Target org.macports.build returned: shell command " cd
"/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1"
&& /usr/bin/make -j8 all " returned error 2
Command output: gmake[2]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
/opt/local/bin/gmake -f Makefile.doxygen PERL=/opt/local/bin/perl all
gmake[2]: Entering directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
/usr/bin/g++-4.0 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W
-O2 -I../qtools -I../libmd5 -I. -o ../objects/main.o main.cpp
/usr/bin/g++-4.0 -L/opt/local/lib -Wl,-search_paths_first -o
../bin/doxygen ../objects/main.o -L../lib -ldoxygen -ldoxycfg -lqtools
-lmd5 -liconv
Undefined symbols:
"_MD5SigToString", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
"_MD5Buffer", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
gmake[2]: *** [../bin/doxygen] Error 1
gmake[2]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
make: *** [all] Error 2
DEBUG: Backtrace: shell command " cd
"/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1"
&& /usr/bin/make -j8 all " returned error 2
Command output: gmake[2]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
/opt/local/bin/gmake -f Makefile.doxygen PERL=/opt/local/bin/perl all
gmake[2]: Entering directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
/usr/bin/g++-4.0 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W
-O2 -I../qtools -I../libmd5 -I. -o ../objects/main.o main.cpp
/usr/bin/g++-4.0 -L/opt/local/lib -Wl,-search_paths_first -o
../bin/doxygen ../objects/main.o -L../lib -ldoxygen -ldoxycfg -lqtools
-lmd5 -liconv
Undefined symbols:
"_MD5SigToString", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
"_MD5Buffer", referenced from:
MemberDef::setAnchor(char const*)in libdoxygen.a(memberdef.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
convertNameToFile(char const*, bool)in libdoxygen.a(util.o)
Definition::_docsAlreadyAdded(QCString const&) in
libdoxygen.a(definition.o)
DirDef::getOutputFileBase() const in libdoxygen.a(dirdef.o)
computeMd5Signature(DotNode*, DotNode::GraphType, GraphOutputFormat,
bool, bool, bool, QCString&)in libdoxygen.a(dot.o)
DotGfxHierarchyTable::writeGraph(QTextStream&, char const*) constin
libdoxygen.a(dot.o)
MemberGroup::anchor() const in libdoxygen.a(membergroup.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
gmake[2]: *** [../bin/doxygen] Error 1
gmake[2]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/opt/local/var/macports/build/_Users_dweber_myports_textproc_doxygen/work/doxygen-1.6.1/src'
make: *** [all] Error 2
while executing
"command_exec build"
(procedure "portbuild::build_main" line 9)
invoked from within
"$procedure $targetname"
Warning: the following items did not execute (for doxygen):
org.macports.build
Error: Status 1 encountered during processing.
}}}
--
Ticket URL: <http://trac.macports.org/ticket/21552#comment:3>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list