Opened 15 years ago

Last modified 11 years ago

#20448 closed defect

doxygen +wizard fails to build on Tiger — at Initial Version

Reported by: ccorn@… Owned by: macports-tickets@…
Priority: Low Milestone:
Component: ports Version: 1.7.1
Keywords: tiger Cc:
Port: doxygen

Description

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.

Change History (3)

Changed 15 years ago by ccorn@…

Attachment: doxygen-build-error.txt added

relevant error output

Changed 15 years ago by ccorn@…

Attachment: doxygen-Portfile.diff added

Changes to the Portfile

Changed 15 years ago by ccorn@…

new patchfile for the files/ subdirectory

Note: See TracTickets for help on using tickets.