Opened 16 years ago
Closed 15 years ago
#18748 closed defect (fixed)
doxygen build phase conflicts with libwww
Reported by: | brett@… | Owned by: | cssdev |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | |
Port: | doxygen |
Description (last modified by cssdev)
udo port install doxygen ---> Fetching doxygen ---> Attempting to fetch doxygen-1.5.8.src.tar.gz from http://distfiles.macports.org/doxygen ---> Verifying checksum(s) for doxygen ---> Extracting doxygen ---> Configuring doxygen ---> Building doxygen Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.8" && make all " returned error 2 Command output: ar cq ../lib/libdoxygen.a ../objects/ce_lex.o ../objects/ce_parse.o ../objects/classdef.o ../objects/classlist.o ../objects/cmdmapper.o ../objects/code.o ../objects/commentcnv.o ../objects/commentscan.o ../objects/cppvalue.o ../objects/debug.o ../objects/defgen.o ../objects/declinfo.o ../objects/defargs.o ../objects/define.o ../objects/definition.o ../objects/diagram.o ../objects/dirdef.o ../objects/docparser.o ../objects/docsets.o ../objects/doctokenizer.o ../objects/dot.o ../objects/doxygen.o ../objects/entry.o ../objects/filedef.o ../objects/filename.o ../objects/formula.o ../objects/ftvhelp.o ../objects/fortrancode.o ../objects/fortranscanner.o ../objects/groupdef.o ../objects/htags.o ../objects/htmldocvisitor.o ../objects/htmlgen.o ../objects/htmlhelp.o ../objects/indexlog.o ../objects/image.o ../objects/index.o ../objects/instdox.o ../objects/language.o ../objects/latexdocvisitor.o ../objects/latexgen.o ../objects/layout.o ../objects/logos.o ../objects/mandocvisitor.o ../objects/mangen.o ../objects/marshal.o ../objects/memberdef.o ../objects/membergroup.o ../objects/memberlist.o ../objects/membername.o ../objects/message.o ../objects/msc.o ../objects/namespacedef.o ../objects/objcache.o ../objects/outputgen.o ../objects/outputlist.o ../objects/pagedef.o ../objects/perlmodgen.o ../objects/pngenc.o ../objects/pre.o ../objects/pycode.o ../objects/pyscanner.o ../objects/qhp.o ../objects/qhpxmlwriter.o ../objects/reflist.o ../objects/rtfdocvisitor.o ../objects/rtfgen.o ../objects/rtfstyle.o ../objects/scanner.o ../objects/searchindex.o ../objects/store.o ../objects/tagreader.o ../objects/textdocvisitor.o ../objects/translator.o ../objects/util.o ../objects/version.o ../objects/vhdlcode.o ../objects/vhdldocgen.o ../objects/vhdlscanner.o ../objects/xmldocvisitor.o ../objects/xmlgen.o ranlib ../lib/libdoxygen.a gmake[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.8/src' /opt/local/bin/gmake -f Makefile.doxygen PERL=/opt/local/bin/perl all gmake[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.8/src' /usr/bin/g++-4.0 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W -O2 -I../qtools -I../libpng -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 -lpng -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(QString 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) "_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(QString 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) 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/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.8/src' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.8/src' make: *** [all] Error 2 Error: Status 1 encountered during processing.
The above error results from the presence of libwww. A pre-build hook should present an error indicating the user should deactivate the libwww port prior to building and installing doxygen. It's fine to activate libwww after building and installing the doxygen port.
Attachments (1)
Change History (14)
comment:1 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mcalhoun@… added |
---|
comment:2 Changed 16 years ago by cssdev
Status: | new → assigned |
---|
Which platform and MacOS X version are you using? Is your entire port tree up to date?
comment:3 Changed 16 years ago by brett@…
10.5.6/intel, all ports current.
The problem seems limited to the MD5 bits.
comment:4 Changed 16 years ago by cssdev
Hrm ... it builds and links fine for me on 10.5.6/Intel with all ports current. Could you please:
port clean doxygen port build -v doxygen > doxygen_build.txt
Please attach that file to the ticket. I'm curious if something else is getting picked up from your environment that makes doxygen build differently on your system. Maybe there was an earlier build error within libmd5?
Changed 16 years ago by brett@…
Attachment: | doxygen_build.txt added |
---|
comment:5 Changed 16 years ago by brett@…
I tested on another 10.5.6/intel box (with no other ports installed) and had no issues; from the error above, I'd guess it's picking up libmd5 from libwww's md5 library as opposed to the one embedded within doxygen which has a different API, and that a link reordering should fix things.
comment:6 Changed 16 years ago by brett@…
And confirmed: deactivating libwww lets doxygen install cleanly.
comment:7 Changed 16 years ago by cssdev
Thanks for the confirmation ... I'm not sure where the best place would be to note the incompatibility. Maybe a preconfigure hook could check whether libwww is installed, and it could present the user with a message that it should be deactivated before building and installing doxygen.
comment:8 Changed 16 years ago by cssdev
Description: | modified (diff) |
---|---|
Summary: | new doxygen port fails to link → doxygen build phase conflicts with libwww |
comment:10 follow-up: 11 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
The easiest way to handle this for now would be to add the line
conflicts libwww
to the doxygen port.
comment:11 Changed 15 years ago by cssdev
Replying to ryandesign@…:
conflicts libwww
That seems like it would be prohibitive, as it would prevent having the two ports coexist at all, right?
Is there an easy way from a Portfile to check that a particular port is already installed? (Or would I need to check whether a file from libwww exists in the prefix?)
comment:12 follow-up: 13 Changed 15 years ago by tenomoto (Takeshi Enomoto)
A patch at #22426 will solve the problem without deactivating libwww or making libwww and doxygen conflicting ports.
comment:13 Changed 15 years ago by cssdev
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Cc Me!