[MacPorts] #20448: doxygen +wizard fails to build on Tiger
MacPorts
noreply at macports.org
Mon Jul 27 09:27:29 PDT 2009
#20448: doxygen +wizard fails to build on Tiger
-----------------------------------+----------------------------------------
Reporter: ccorn@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 1.7.1
Keywords: QT | Port: doxygen
-----------------------------------+----------------------------------------
Port: doxygen 1.5.9 +wizard (svn -r54420)
Platform: Mac OS X 10.4.11 on a Powerbook G4 (Darwin 8.11.0/powerpc)
Building DoxyWizard aborts with the attached linker errors.
Two issues emerge from that:
(1) Linking DoxyWizard does not find -lpng. The linker command line
misses either an -L${worksrcdir}/libpng (yes, doxygen builds a
static copy of libpng) or an -L${prefix}/lib.
With respect to a given lib dependency port:libpng and a given
post-patch action that inserts ${configure.cppflags} right
after the compiler command, I have decided to insert
${configure.ldflags} right after the linker command as well.
Thus, MacPort's libpng should be used. At least I hoped so.
However, this still did not produce the desired linker command.
(But I left the patch in for symmetry reasons.)
Finally, I resorted to
build.env-append LIBRARY_PATH=${prefix}/lib
within the definition of variant wizard. This helped.
(2) Universal binaries are built without demand.
First, I supposed that this is because there is a second
post-patch definition for variant wizard which might override
the previous post-patch definition.
I have moved the post-patch and post-destroot commands out of
the variant definition, and I have guarded them with a test for
variant wizard or platform darwin where necessary.
Note that the present patches to doxywizard makefiles can
mostly be applied without regard to whether variant wizard is
in effect, but the patches are appropriate for macosx/darwin
only. Therefore, most patches are guarded by the platform test
alone.
Again, this alone did not help. (I left the patch in because
having several post-patch definitions looks confusing anyway.)
Finally, I found that addon/doxywizard/doxywizard.pro.in itself
specifies "CONFIG += x86 ppc". I have added a patchfile to
remove that unless the universal variant is desired.
This made the difference.
Some quirks removed by the way:
(3) ${tmake_conf} was used in post-patch actions, but defined for
platform darwin only.
I have moved the definition into the post-patch section.
Both the definition and the affected patch action are
conditioned on a test for platform darwin now.
(4) The build dependency bin:ginstall:coreutils is not needed.
Just add --install /usr/bin/install to configure.args,
and doxygen will use that. Also relevant for ticket #18400.
I have attached a Portfile patch, an additional patchfile and the
(previous) error excerpts. The patches succeed in building
doxygen +wizard and doxygen -wizard correctly on my platform.
--
Ticket URL: <http://trac.macports.org/ticket/20448>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list