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)

doxygen_build.txt (4.6 KB) - added by brett@… 16 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:2 Changed 16 years ago by cssdev

Status: newassigned

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 linkdoxygen build phase conflicts with libwww

comment:9 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

comment:10 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 in reply to:  10 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 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 in reply to:  12 Changed 15 years ago by cssdev

Resolution: fixed
Status: assignedclosed

Replying to takeshi@…:

A patch at #22426 will solve the problem without deactivating libwww or making libwww and doxygen conflicting ports.

Applied to r62746, which also updates to 1.6.2!

Note: See TracTickets for help on using tickets.