Opened 5 years ago
Last modified 5 years ago
#59037 assigned defect
doxygen @1.8.15 fails to build when libmd is installed
Reported by: | TheLastLovemark | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | Cc: | ||
Port: | doxygen |
Description
main.log is attached
Attachments (1)
Change History (12)
Changed 5 years ago by TheLastLovemark
Attachment: | doxygen_main.log added |
---|
comment:1 Changed 5 years ago by jmroot (Joshua Root)
Owner: | set to cssdev |
---|---|
Status: | new → assigned |
comment:2 Changed 5 years ago by TheLastLovemark
Are there any updates on this?
I know you all are working to resolve tickets on many fronts, but this problem is preventing me from updating other ports and getting work done.
Thank you.
comment:3 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | doxygen upgrade fails to build doxygen @1.8.14_0+docs ---> doxygen @1.8.15_0+docs → doxygen @1.8.15 fails to build when libmd is installed |
---|
The log says:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.15/src/definition.cpp:555:3: error: use of undeclared identifier 'MD5Buffer' :info:build MD5Buffer((const unsigned char *)docStr.data(),docStr.length(),md5_sig); :info:build ^ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.15/src/definition.cpp:556:3: error: use of undeclared identifier 'MD5SigToString' :info:build MD5SigToString(md5_sig,sigStr.rawData(),33); :info:build ^ :info:build 2 errors generated.
This was also reported in comment:ticket:56706:5, and I see it too with 1.8.16, if I have libmd installed, which provides /opt/local/include/md5.h. It's a similar problem to the one reported in #56706: doxygen puts its -I
flags in the wrong order, so the -I/opt/local/include
that MacPorts adds appears before the project's own include directories, rather than after, and therefore files installed in /opt/local/include shadow those that the port actually wants to use.
To work around the problem, temporarily deactivate the port that provides the conflicting file (libmd in this case), then build doxygen, then you can reactivate the conflicting port.
comment:5 Changed 5 years ago by kencu (Ken)
Owner: | set to kencu |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
comment:6 Changed 5 years ago by jmroot (Joshua Root)
Using conflicts_build is not a fix, it's only documentation of the need for a manual workaround.
comment:7 follow-up: 9 Changed 5 years ago by kencu (Ken)
yes, "fixed" was added by trac; I just said "closes". Perhaps someone might change that if it's troublesome.
comment:8 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This only works around the problem for libmd. Other ports could still cause the same problem, such as arpack used to.
What we need to do is change the build system so that the -I
flags are in the right order, or better yet report the problem to the developer of doxygen so that they can do that. The ticket should remain open until that real solution is implemented.
comment:9 Changed 5 years ago by mf2k (Frank Schima)
Replying to kencu:
yes, "fixed" was added by trac; I just said "closes". Perhaps someone might change that if it's troublesome.
Then use "See:" in the commit message instead. It will reference the ticket without closing it.
comment:10 Changed 5 years ago by kencu (Ken)
OK, but the other 9,000 times this kind of thing was "fixed" in MacPorts with a conflicts_build
, we closed the ticket. But certainly agree, if someone is motivated to fix it properly (and send the fix upstream) that is much preferred.
comment:11 Changed 5 years ago by kencu (Ken)
Owner: | kencu deleted |
---|---|
Status: | reopened → assigned |
Please remember to Cc the port's maintainer.