Opened 7 years ago

Closed 7 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@… 7 years ago.
Build Log Error File

Download all attachments as: .zip

Change History (18)

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

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

comment:2 Changed 7 years ago by whcordis@…

Cc: whcordis@… added

Cc Me!

comment:3 Changed 7 years ago by ryandesign (Ryan 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 7 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 7 years ago by mojca (Mojca Miklavec) (previous) (diff)

comment:5 Changed 7 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 7 years ago by whcordis@…

Attachment: main.log added

Build Log Error File

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

You need to install texlive-fonts-recommended to get wasysym.sty. (And it's unrelated to the problem with patching: that 'problem' with missing files was introduced in r120417.)

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

comment:7 Changed 7 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 7 years ago by whcordis@…

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

comment:9 Changed 7 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 7 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 7 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 7 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 7 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 7 years ago by g5pw (Aljaž Srebrnič)

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

comment:15 Changed 7 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 7 years ago by mojca (Mojca Miklavec) (previous) (diff)

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

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

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

Resolution: fixed
Status: newclosed

Commited in r120638.

Note: See TracTickets for help on using tickets.