Opened 10 years ago

Closed 10 years ago

#43860 closed defect (fixed)

doxygen 1.8.7_0: patch-doc-Makefile.in.diff fails to apply

Reported by: feliks.kluzniak@… Owned by: cssdev
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: whcordis@…, davidfavor (David Favor), mojca (Mojca Miklavec), cooljeanius (Eric Gallager), petrrr, g5pw (Aljaž Srebrnič)
Port: doxygen

Description

:debug:extract Executing proc-post-org.macports.extract-extract-0
:debug:extract Privilege de-escalation not attempted as not running as root.
:debug:patch patch phase started at Sat May 31 14:22:36 CEST 2014
:debug:patch Executing org.macports.patch (doxygen)
:notice:patch --->  Applying patches to doxygen
:info:patch --->  Applying patch-doc-Makefile.in.diff
:debug:patch Environment: 
CC_PRINT_OPTIONS='YES'
CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/.CC_PRINT_OPTIONS'
CPATH='/opt/local/include'
LIBRARY_PATH='/opt/local/lib'
MACOSX_DEPLOYMENT_TARGET='10.9'
:debug:patch Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7" && /usr/bin/patch -p0'
:debug:patch Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/doxygen/files/patch-doc-Makefile.in.diff'
:info:patch patching file doc/Makefile.in
:info:patch Hunk #1 FAILED at 31.
:info:patch 1 out of 1 hunk FAILED -- saving rejects to file doc/Makefile.in.rej
:info:patch Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7" && /usr/bin/patch -p0 < '/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/doxygen/files/patch-doc-Makefile.in.diff'
:info:patch Exit code: 1

Attachments (1)

main.log (99.6 KB) - added by whcordis@… 10 years ago.
Build Log Error File

Download all attachments as: .zip

Change History (18)

comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from macports-tickets@… to css@…
Port: doxygen added

comment:2 Changed 10 years ago by whcordis@…

Cc: whcordis@… added

Cc Me!

comment:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: david@… mojca@… added
Summary: Doxygen 1.8.7_0 fails to build on MaxOS X 10.9.3 due to a failing patchdoxygen 1.8.7_0: patch-doc-Makefile.in.diff fails to apply

Has duplicate #43877.

comment:4 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: egall@… Peter.Danecek@… added

I'm sorry, my fault (see #42245 / r120499), I forgot to test the +docs variant when updating the port.

Would the following patch work (plus removing the patch of course)?

  • Portfile

     
    120120
    121121variant docs description {Include the doxygen PDF documentation and LaTeX} requires {latex} {
    122122    patchfiles-delete       patch-configure.diff
    123     patchfiles-append       patch-doc-Makefile.in.diff
    124123
    125124    configure.args-append   --docdir ${prefix}/share/doc \
    126                             --dot ${prefix}/bin/dot
     125                            --dot ${prefix}/bin/dot \
     126                            --python=python2.7
    127127
    128128    depends_build-append    path:bin/dot:graphviz \
    129129                            bin:python2.7:python27

I'm not sure what the --python=... variable should be set to. It could be ${opt}/bin/python2.7, but then this wouldn't match the dependency bin:python2.7:python27.

The currently failing patch is:

  • doc/Makefile.in

    old new  
    3131language: language.doc
    3232
    3333language.doc: $(wildcard ../src/translator*.h) maintainers.txt language.tpl translator.py
    34         python translator.py
     34        python2.7 translator.py
    3535
    3636FORCE:

The new Makefile.in uses $(PYTHON) as set by the configure script instead:

language.doc: $(wildcard ../src/translator*.h) maintainers.txt language.tpl translator.py
	$(PYTHON) translator.py

(I didn't try to figure out why defaults weren't ok, maybe older versions of OS X provided too old python(?) or maybe python3 was too new, but I believe that whoever patched the file had a reason for introducing this patch.)

Last edited 10 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:5 Changed 10 years ago by whcordis@…

With the latest patches I got two errors. First, there was a dependency on epstopdf provided by texlive-fontutils I had to manually resolve. Once I resolved that, I got the following error. Attaching my

:info:build
:info:build ! LaTeX Error: File `wasysym.sty' not found.
:info:build
:info:build Type X to quit or <RETURN> to proceed,
:info:build or enter new name. (Default extension: sty)
:info:build
:info:build Enter file name:
:info:build ! Emergency stop.
:info:build <read *>
:info:build
:info:build l.30 \usepackage
:info:build                 {alltt}^^M
:info:build !  ==> Fatal error occurred, no output PDF file produced!
:info:build Transcript written on doxygen_manual.log.
:info:build gnumake[1]: *** [doxygen_manual.pdf] Error 1
:info:build gnumake[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7/latex'
:info:build gnumake: *** [pdf] Error 2
:info:build gnumake: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_doxygen/doxygen/work/doxygen-1.8.7" && /usr/bin/gnumake -w all pdf
:info:build Exit code: 2

Changed 10 years ago by whcordis@…

Attachment: main.log added

Build Log Error File

comment:6 Changed 10 years ago by mojca (Mojca Miklavec)

You need to install collection-fontsrecommended to get wasysym.sty.

Version 0, edited 10 years ago by mojca (Mojca Miklavec) (next)

comment:7 Changed 10 years ago by mojca (Mojca Miklavec)

Cc: g5pw@… added
Version: 2.3.0

Oh, and I see that Aljaž already applied a patch in r120609. (I don't know the difference between configure.python ... and configure.args-append --python=... though.)

Aljaž, what about the dependency bin:python2.7:python27? Isn't that incompatible with ${prefix}/bin/python2.7?

comment:8 Changed 10 years ago by whcordis@…

Installing texlive-fonts-recommended as well as texlive-fontutils resulted in a successful build for me.

comment:9 Changed 10 years ago by mojca (Mojca Miklavec)

With r120609 I get

--->  Configuring doxygen
DEBUG: Using compiler 'Xcode Clang'
DEBUG: Executing org.macports.configure (doxygen)
DEBUG: Environment: 
CC='/usr/bin/clang'
...
PYTHON='/opt/local/bin/python2.7'
...
  Checking for dot (part of GraphViz)... using /opt/local/bin/dot
  Checking for python... using /usr/bin/python
  Checking for perl... using /opt/local/bin/perl

and the Makefile also contains PYTHON = /usr/bin/python.

Aljaž, are you sure that your patch works as intended?

comment:10 Changed 10 years ago by mojca (Mojca Miklavec)

With other words: shouldn't doxygen's ./configure script respect the environment variable PYTHON automatically when present? Any volunteer to report that upstream?

comment:11 Changed 10 years ago by g5pw (Aljaž Srebrnič)

Hmm... yes, it looks like the configure is ignoring the PYTHON variable. We can use configure.args-append --python ${prefix}/bin/python2.7 instead.

comment:12 in reply to:  7 Changed 10 years ago by g5pw (Aljaž Srebrnič)

Replying to mojca@…:

Aljaž, what about the dependency bin:python2.7:python27? Isn't that incompatible with ${prefix}/bin/python2.7?

Maybe I understood the bin: dependency wrong: does it look for the binary name in other paths like /usr/bin/?

comment:13 Changed 10 years ago by mojca (Mojca Miklavec)

From man page:

DEPENDENCY OPTIONS
     Port dependencies should refer to other MacPorts ports whenever possible,
     therefore each dependency should be expressed in the format:

     port:<port>

     Where <port> represents the name of an existing MacPorts port.  If satis-
     fying a dependency with a MacPorts port is not practical and it is likely
     that a dependency must be met by an Apple optional install, then the
     alternative dependency format:

     type:<filename>:<port>

     may be used. Where type is "bin" if <filename> is a program, "lib" if it
     is a library, or "path" if it is a path to an installed file.
     Example:
           lib:libX11.6:XFree86

comment:14 Changed 10 years ago by g5pw (Aljaž Srebrnič)

I see. So we should just use --python python2.7 and hope for the best?

comment:15 Changed 10 years ago by mojca (Mojca Miklavec)

Yes, probably. At least if we want to avoid the extra dependency. If that fails to work, we'll have to switch to port:python27.

And I guess that the patch would also fix #43853.

Last edited 10 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:16 Changed 10 years ago by g5pw (Aljaž Srebrnič)

Ok, it makes sense to me, I'll commit the fix.

comment:17 Changed 10 years ago by g5pw (Aljaž Srebrnič)

Resolution: fixed
Status: newclosed

Commited in r120638.

Note: See TracTickets for help on using tickets.