Opened 5 years ago

Last modified 4 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)

doxygen_main.log (151.2 KB) - added by TheLastLovemark 5 years ago.

Download all attachments as: .zip

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: newassigned

Please remember to Cc the port's maintainer.

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+docsdoxygen @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:4 Changed 4 years ago by mf2k (Frank Schima)

Owner: cssdev deleted

See #50332

comment:5 Changed 4 years ago by kencu (Ken)

Owner: set to kencu
Resolution: fixed
Status: assignedclosed

In 09742120f7bc1f1c8ef7904a2121e73784583862/macports-ports (master):

doxygen: build conflicts with libmd

closes: #59037

comment:6 Changed 4 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 Changed 4 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 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: closedreopened

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 in reply to:  7 Changed 4 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 4 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.

Last edited 4 years ago by kencu (Ken) (previous) (diff)

comment:11 Changed 4 years ago by kencu (Ken)

Owner: kencu deleted
Status: reopenedassigned
Note: See TracTickets for help on using tickets.