On 1/17/20 11:05 AM, Bas Couwenberg wrote:
> In preparation of the netcdf-fortran transition as test rebuild of your 
> package was done which FTBFS:
> 
>  make doc
>  make[4]: Entering directory 
> '/build/oasis3-3.mct+dfsg.121022/lib/mct/doc/texsrc'
>  perl ../../protex/protex -b  m_Accumulator.F90 > m_Accumulator.tex
>  Assigning non-zero to $[ is no longer possible at ../../protex/protex line 
> 87.
>  make[4]: *** [Makefile:27: m_Accumulator.tex] Error 255

It helps to update protex to a version that works with Perl 5.30 as per
the attached patch, but the package still FTBFS further on, see the
attached log.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
diff -Nru oasis3-3.mct+dfsg.121022/debian/patches/protex.patch oasis3-3.mct+dfsg.121022/debian/patches/protex.patch
--- oasis3-3.mct+dfsg.121022/debian/patches/protex.patch	1970-01-01 01:00:00.000000000 +0100
+++ oasis3-3.mct+dfsg.121022/debian/patches/protex.patch	2020-01-19 09:43:34.000000000 +0100
@@ -0,0 +1,656 @@
+Description: Fix 'Assigning non-zero to $[ is no longer possible' error with Perl 5.30.
+Origin: https://sourceforge.net/p/elk/discussion/897822/thread/37afb1f97d/#4ecb
+
+--- a/lib/mct/protex/protex
++++ b/lib/mct/protex/protex
+@@ -1,4 +1,7 @@
+ #!/usr/bin/perl
++#
++#  $Id: protex,v 1.15 2004/06/03 23:49:46 eschwab Exp $
++#
+ #BOP
+ #
+ # !ROUTINE: ProTeX v. 2.00 - Translates DAO Prologues to LaTeX
+@@ -19,6 +22,7 @@
+ # \begin{tabular}{|c|l|} \hline \hline
+ #   -h   & Help mode: list command line options   \\ \hline
+ #   -b   & Bare mode, meaning no preamble, etc.  \\ \hline
++#   -i   & internal mode: omit prologues marked !BOPI  \\ \hline
+ #   +/-n & New Page for each subsection (wastes paper) \\ \hline
+ #   +/-l & Listing mode, default is prologues only \\ \hline
+ #   +/-s & Shut-up mode, i.e., ignore any code from BOC to EOC \\ \hline
+@@ -77,14 +81,18 @@
+ #                       and hangcaption.
+ #  10May2000  C. Redder Revised LaTeX command "\label{sec:prologues}"
+ #                       to "\label{app:ProLogues}"
+-#  24May2001  da Silva  Added !PARAMETERS/!REURN VALUE: keywords for CAM.
++#  10/10/2002 da Silva  Introduced ARGUMENTS keyword, touch ups.
++#
++#  15Jan2003  R. Staufer  Modified table of contents to print only section headers - no descriptions
++#
++#  25Feb2003  R. Staufer  Added BOPI/EOPI and -i (internal) switch to provide the option of omitting prologue information from output files.
+ #
+ #EOP
+ #----------------------------------------------------------------------------
+ 
+ # Keep this if you don't know what it does...
+ # -------------------------------------------
+-  $[ = 1;                 # set array base to 1
++###  $[ = 1;                 # set array base to 1 (removed to maintain Perl 5.30 compatibility)
+   $, = ' ';               # set output field separator
+   $\ = "\n";              # set output record separator
+ 
+@@ -92,7 +100,7 @@
+ # -----------------------
+   $GlobOptions = 'hb';    # Global options (i.e for all files)
+   $LangOptions = 'ACFS';  # Options for setting programming languages
+-  $SwOptions   = 'flnsx'; # Options that can change for each input 
++  $SwOptions   = 'flinsx'; # Options that can change for each input 
+                           #   file
+   $RegOptions  = "$GlobOptions$LangOptions";
+                           # Scan for global options until first first
+@@ -112,7 +120,7 @@ Arg:
+ }#   end if
+ }# end foreach
+ 
+-# If all inut arguments are options, then assume the
++# If all input arguments are options, then assume the
+ # filename, "-", for the standard input
+ # --------------------------------------------------
+   if ( $NFiles == 0 ) { push (@ARGV, "-"); } 
+@@ -129,10 +137,13 @@ Arg:
+   @keys = ( "!INTERFACE:",
+             "!USES:",
+             "!PUBLIC TYPES:",
++            "!PRIVATE TYPES:",
+             "!PUBLIC MEMBER FUNCTIONS:",
++            "!PRIVATE MEMBER FUNCTIONS:",
+             "!PUBLIC DATA MEMBERS:",
+-            "!DEFINED PARAMETERS:",
+             "!PARAMETERS:",
++            "!ARGUMENTS:",
++            "!DEFINED PARAMETERS:",
+             "!INPUT PARAMETERS:",
+             "!INPUT/OUTPUT PARAMETERS:",
+             "!OUTPUT PARAMETERS:",
+@@ -188,8 +199,12 @@ ARG:
+         $eoi_string = '!EOI';
+         $bop_string = '!BOP';
+         $eop_string = '!EOP';
++        $bopi_string = '!BOPI';
++        $eopi_string = '!EOPI';
+         $boc_string = '!BOC';
+         $eoc_string = '!EOC';
++        $boe_string = '!BOE';
++        $eoe_string = '!EOE';
+ #}#   end if
+ 
+      if ( $opt_A ) {            # ADA
+@@ -198,8 +213,12 @@ ARG:
+         $eoi_string = '--EOI';
+         $bop_string = '--BOP';
+         $eop_string = '--EOP';
++        $bopi_string = '--BOPI';
++        $eopi_string = '--EOPI';
+         $boc_string = '--BOC';
+         $eoc_string = '--EOC';
++        $boe_string = '--BOE';
++        $eoe_string = '--EOE';
+ }#   end if
+ 
+      if ( $opt_C ) {
+@@ -208,8 +227,12 @@ ARG:
+         $eoi_string = '//EOI';
+         $bop_string = '//BOP';
+         $eop_string = '//EOP';
++        $bopi_string = '//BOPI';
++        $eopi_string = '//EOPI';
+         $boc_string = '//BOC';
+         $eoc_string = '//EOC';
++        $boe_string = '//BOE';
++        $eoe_string = '//EOE';
+ }#   end if
+ 
+      if ( $opt_S ) {            # Script
+@@ -218,8 +241,12 @@ ARG:
+         $eoi_string = '#EOI';
+         $bop_string = '#BOP';
+         $eop_string = '#EOP';
++        $bopi_string = '#BOPI'; 
++	$eopi_string = '#EOPI';
+         $boc_string = '#BOC';
+         $eoc_string = '#EOC';
++        $boe_string = '#BOE';
++        $eoe_string = '#EOE';
+ }#   end if
+ 
+ #    Set file name parameters
+@@ -241,20 +268,25 @@ ARG:
+ 
+ #    Print page header
+ #    -----------------
+-     printf "\n\\markboth{Left}{Source File: %s,  Date: %s}\n\n",
+-                               $FileBaseName,    $Date;
++#     printf "\n\\markboth{Left}{Source File: %s,  Date: %s}\n\n",
++#                               $FileBaseName,    $Date;
+ 
+ LINE:
+ #    Inner loop --- for processing each line of the input file
+ #    ---------------------------------------------------------
+      while ( <InputFile> ) {
+         chop;     # strip record separator
++
++#       !PARAMETERS: really mean !ARGUMENTS:
++#       ------------------------------------
++#        s/!PARAMETERS:/!ARGUMENTS:/g;
++
+         @Fld = split(' ', $_, 9999);
+ 
+ #       Straight quote
+ #       --------------
+-        if ($Fld[1] eq '!QUOTE:') {
+-           for ($i = 2; $i <= $#Fld; $i++) {
++        if ($Fld[0] eq '!QUOTE:') {
++           for ($i = 1; $i <= $#Fld - 1; $i++) {
+                printf '%s ', $Fld[$i];
+ }#         end for
+            print " ";
+@@ -263,13 +295,13 @@ LINE:
+ 
+ #       Handle optional Title Page and Introduction
+ #       -------------------------------------------
+-        if ($Fld[1] eq $boi_string) {
++        if ($Fld[0] eq $boi_string) {
+            print ' ';
+            $intro = 1;
+            next LINE;
+ }#      end if
+ 
+-        if ($Fld[2] eq '!TITLE:') {
++        if ($Fld[1] eq '!TITLE:') {
+            if ( $intro ) {
+               shift @Fld;
+               shift @Fld;
+@@ -279,7 +311,7 @@ LINE:
+ }#         end if
+ }#      end if
+ 
+-        if ($Fld[2] eq '!AUTHORS:') {
++        if ($Fld[1] eq '!AUTHORS:') {
+            if ( $intro ) {
+               shift @Fld;
+               shift @Fld;
+@@ -289,7 +321,7 @@ LINE:
+ }#         end if
+ }#      end if
+ 
+-        if ($Fld[2] eq '!AFFILIATION:') {
++        if ($Fld[1] eq '!AFFILIATION:') {
+            if ( $intro ) {
+               shift @Fld;
+               shift @Fld;
+@@ -299,7 +331,7 @@ LINE:
+ }#         end if
+ }#      end if
+ 
+-        if ($Fld[2] eq '!DATE:') {
++        if ($Fld[1] eq '!DATE:') {
+            if ( $intro ) {
+               shift @Fld;
+               shift @Fld;
+@@ -309,7 +341,7 @@ LINE:
+ }#         end if
+ }#      end if
+ 
+-        if ($Fld[2] eq '!INTRODUCTION:') {
++        if ($Fld[1] eq '!INTRODUCTION:') {
+            if ( $intro ) {
+               &do_beg();
+               print ' ';
+@@ -324,7 +356,7 @@ LINE:
+ 
+ #       End of introduction
+ #       -------------------
+-        if ($Fld[1] eq $eoi_string) {
++        if ($Fld[0] eq $eoi_string) {
+            print ' ';
+            print '%/////////////////////////////////////////////////////////////';
+            print "\\newpage";
+@@ -334,10 +366,10 @@ LINE:
+ 
+ #       Beginning of prologue
+ #       ---------------------
+-        if ($Fld[1] eq $bop_string) {
++        if ($Fld[0] eq $bop_string) {
+            if ( $source ) { &do_eoc(); }
+            print ' ';
+-           print '%/////////////////////////////////////////////////////////////';
++           print '%/////////////////////////////////////////////////////////////'; 
+            &do_beg();
+            if ($first == 0) {
+               ### print "\\newpage";
+@@ -347,18 +379,44 @@ LINE:
+            else {
+               unless($opt_b){print "\\section{Routine/Function Prologues} \\label{app:ProLogues}";}
+ }#         end if
+-
++	
+            $first = 0;
+            $prologue = 1;
+            $verb = 0;
+            $source = 0;
+            &set_missing();   # no required keyword yet
+            next LINE;
+-}#      end if
++}#     end if
++
++#	Beginning of internal prologue
++#	------------------------------
++	if ($Fld[0] eq $bopi_string) {
++	   if ($opt_i) {$prologue = 0;}
++           else {
++              if ($source) { &do_eoc(); }
++              print ' ';
++              print '%/////////////////////////////////////////////////////////////';  
++              &do_beg();
++              if ($first ==0) {
++                 ### print "\\newpage";
++                 print " ";
++                 print "\\mbox{}\\hrulefill\\";
++                 print " ";}
++              else {
++                 unless($opt_b){print "\\section{Routine/Function Prologues} \\label{app:ProLogues}";}
++}#            endif              
++              $first = 0;
++              $prologue = 1;
++              $verb = 0;
++              $source = 0;
++              &set_missing();    # no required keyword yet
++              next LINE;
++           }#   endelse 
++        }#    endif
+ 
+ #       A new subroutine/function
+ #       -------------------------
+-        if ($Fld[2] eq '!ROUTINE:' ) { 
++        if ($Fld[1] eq '!ROUTINE:' ) { 
+            if ($prologue) {
+               shift @Fld;
+               shift @Fld;
+@@ -376,7 +434,7 @@ LINE:
+ 
+ #       A new Module
+ #       ------------
+-        if ($Fld[2] eq '!MODULE:' ) { 
++        if ($Fld[1] eq '!MODULE:' ) { 
+            if ($prologue) {
+               shift @Fld;
+               shift @Fld;
+@@ -384,8 +442,8 @@ LINE:
+               $name_is = $_;
+               s/_/\\_/g;                         # Replace "_" with "\_"
+               if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
+-              unless($opt_f) {printf "\\subsection{Module %s (Source File: %s)}\n\n", $_, $FileBaseName;}
+-              else           {printf "\\subsection{Module %s }\n\n", $_;}
++              unless($opt_f) {printf "\\subsection{Fortran:  Module Interface %s (Source File: %s)}\n\n", $_, $FileBaseName;}
++              else           {printf "\\subsection{Fortran:  Module Interface %s }\n\n", $_;}
+               $have_name = 1;
+               $have_intf = 1;  # fake it, it does not need one.
+               $not_first = 1;
+@@ -395,7 +453,7 @@ LINE:
+ 
+ #       A new include file
+ #       ------------------
+-        if ($Fld[2] eq '!INCLUDE:' ) { 
++        if ($Fld[1] eq '!INCLUDE:' ) { 
+            if ($prologue) {
+               shift @Fld;
+               shift @Fld;
+@@ -411,22 +469,78 @@ LINE:
+               next LINE;
+ }#         end if
+ }#      end if
+- 
++
+ #       A new INTERNAL subroutine/function
+ #       ----------------------------------
+-        if ($Fld[2] eq '!IROUTINE:') {            # Internal routine
++        if ($Fld[1] eq '!IROUTINE:') {            # Internal routine
+            if ($prologue) {
+               shift @Fld;
+               shift @Fld;
+               $_ = join(' ', @Fld);
+               $name_is = $_;
+               s/_/\\_/g;                        # Replace "_" with "\_"
+-              printf "\\subsubsection{%s}\n\n", $_;
++	      @words = split " ", $_;
++              printf "\\subsection [$words[1]] {$_}\n\n";
+               $have_name = 1;
+               next LINE;
+ }#         end if
+ }#      end if
+ 
++#       A new CLASS
++#       ------------
++        if ($Fld[1] eq '!CLASS:' ) { 
++           if ($prologue) {
++              shift @Fld;
++              shift @Fld;
++              $_ = join(' ', @Fld);
++              $name_is = $_;
++              s/_/\\_/g;                         # Replace "_" with "\_"
++              if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++              unless($opt_f) {printf "\\subsection{C++:  Class Interface %s (Source File: %s)}\n\n", $_, $FileBaseName;}
++              else           {printf "\\subsection{C++:  Class Interface %s }\n\n", $_;}
++              $have_name = 1;
++              $have_intf = 1;  # fake it, it does not need one.
++              $not_first = 1;
++              next LINE;
++}#         end if
++}#      end if
++
++#       A new Method
++#       -------------------------
++        if ($Fld[1] eq '!METHOD:' ) { 
++           if ($prologue) {
++              shift @Fld;
++              shift @Fld;
++              $_ = join(' ', @Fld);
++              $name_is = $_;
++              s/_/\\_/g;                         # Replace "_" with "\_"
++              if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++              unless ($opt_f) {printf "\\subsection{%s (Source File: %s)}\n\n", $_, $FileBaseName;}
++              else            {printf "\\subsection{%s }\n\n", $_;}
++              $have_name = 1;
++              $not_first = 1;
++              next LINE;
++}#         end if
++}#      end if
++
++#       A new function
++#       -------------------------
++        if ($Fld[1] eq '!FUNCTION:' ) { 
++           if ($prologue) {
++              shift @Fld;
++              shift @Fld;
++              $_ = join(' ', @Fld);
++              $name_is = $_;
++              s/_/\\_/g;                         # Replace "_" with "\_"
++              if ( $opt_n && $not_first ) { printf "\\newpage\n"; }
++              unless ($opt_f) {printf "\\subsection{%s (Source File: %s)}\n\n", $_, $FileBaseName;}
++              else            {printf "\\subsection{%s }\n\n", $_;}
++              $have_name = 1;
++              $not_first = 1;
++              next LINE;
++}#         end if
++}#      end if
++
+ #       Description: what follows will be regular LaTeX (no verbatim)
+ #       -------------------------------------------------------------
+         if (/!DESCRIPTION:/) {
+@@ -442,7 +556,7 @@ LINE:
+                  $verb = 1;
+                  $first_verb = 1; }
+               else {
+-                 for ($i = 3; $i <= $#Fld; $i++) {
++                 for ($i = 2; $i <= $#Fld - 1; $i++) {
+                     printf '%s ', $Fld[$i];
+ }#               end for
+ }#            end if
+@@ -465,13 +579,14 @@ KEY:       foreach $key ( @keys ) {
+ }#               end if
+                  $k = sprintf('%s', $key);
+                  $ln = length($k);
+-                 ###printf "\\subsubsection*{%s}\n", substr($k, 2, $ln - 1);
++                 ###printf "\\subsection*{%s}\n", substr($k, 2, $ln - 1);
+                  ###printf "{\\Large \\em %s}\n", ucfirst lc substr($k, 2, $ln - 1);
+                  $_ = $key;
+-                 if( /USES/ || /INPUT/ || /OUTPUT/ || /PARAMETERS/ || /VALUE/ ) {
+-                    printf "{\\em %s}\n", substr($k, 2, $ln - 1); } # italics
++                if( /USES/ || /INPUT/ || /OUTPUT/ || /PARAMETERS/ || 
++                    /VALUE/  || /ARGUMENTS/ ) {
++                    printf "{\\em %s}\n", substr($k, 1, $ln - 1); } # italics
+                  else {
+-                    printf "{\\sf %s}\n", substr($k, 2, $ln - 1); # san serif
++                    printf "{\\sf %s}\n", substr($k, 1, $ln - 1); # san serif
+ }#               end if
+ 
+                  printf "\\begin{verbatim} ";
+@@ -487,30 +602,46 @@ KEY:       foreach $key ( @keys ) {
+ 
+ #       End of prologue
+ #       ---------------
+-        if ($Fld[1] eq $eop_string) {
++        if ($Fld[0] eq $eop_string) {
+            if ($verb) {
+               print "\\end{verbatim}";
+               $verb = 0;
+ }#         end if
+            $prologue = 0;
+-           &check_if_all_there(); # check if all required keyword are there.
++#           &check_if_all_there(); # check if all required keywords are there.
+            if ( $opt_l ) {
+-              $Fld[1] = $boc_string;}
++              $Fld[0] = $boc_string;}
+            else { next LINE; }
+ }#      end if
+ 
+         unless ( $opt_s ) {
++
++#       End of Internal Prologue
++#	------------------------
++
++	if ($Fld[0] eq $eopi_string) {
++           if ($verb) {
++              print "\\end{verbatim}";
++              $verb = 0;
++}#         endif
++           $prologue = 0;
++#          &check_if_all_there(); # check if all required keywords are there.
++           if ($opt_l) {
++              $Fld[0] = $boc_string;}
++           else { next LINE; }
++}#       endif
++
+ #
+ #          Beginning of source code section
+ #          --------------------------------
+-           if ($Fld[1] eq $boc_string) {
++           if ($Fld[0] eq $boc_string) {
+               print ' ';
+               print '%/////////////////////////////////////////////////////////////';
+               $first = 0;
+               $prologue = 0;
+               $source = 1;
+-              ### printf "\\subsubsection*{CONTENTS:}\n\n", $Fld[3];
+-              printf "{\\sf CONTENTS:}";
++              ### printf "\\subsection*{CONTENTS:}\n\n", $Fld[3];
++              ###printf "{\\sf CONTENTS:}";
+               printf "\n \\begin{verbatim}\n";
+               $verb = 1;
+               next LINE;
+@@ -518,20 +649,47 @@ KEY:       foreach $key ( @keys ) {
+ 
+ #          End of source code
+ #          ------------------
+-           if ($Fld[1] eq $eoc_string) {
++           if ($Fld[0] eq $eoc_string) {
+               &do_eoc();
+               $prologue = 0;
+               next LINE;
+ }#         end if
++
++#          Beginning of example prologue
++#          -----------------------------
++           if ($Fld[0] eq $boe_string) {
++              if ( $source ) { &do_eoc(); }
++              print ' ';
++              print '%/////////////////////////////////////////////////////////////'; 
++              $first = 0;
++              $prologue = 1;
++              $verb = 0;
++              $source = 0;
++              next LINE;
++}#        end if
++
++#       End of example prologue
++#       -----------------------
++        if ($Fld[0] eq $eoe_string) {
++           if ($verb) {
++              print "\\end{verbatim}";
++              $verb = 0;
++}#         end if
++           $prologue = 0;
++           if ( $opt_l ) {
++              $Fld[0] = $boc_string;}
++           else { next LINE; }
++}#      end if
++
+ }#      end unless
+    
+ #   Prologue or Introduction, print regular line (except for !)
+ #   -----------------------------------------------------------
+     if ($prologue||$intro) {
+-        if ( $verb && $#Fld == 1 && ( $Fld[1] eq $comment_string ) ) {
++        if ( $verb && $#Fld == 0 && ( $Fld[0] eq $comment_string ) ) {
+            next LINE;                # to eliminate excessive blanks 
+ }#      end if
+-        if ( $Fld[2] eq "\\ev" ) {   # special handling
++        if ( $Fld[1] eq "\\ev" ) {   # special handling
+            $_ = $comment_string . " \\end{verbatim}";
+ }#      end if
+         s/^$comment_string/ /;       # replace comment string with blank
+@@ -559,6 +717,11 @@ KEY:       foreach $key ( @keys ) {
+   print $_;
+   if ( $source ) { &do_eoc(); }     
+   print '%...............................................................';
++ 
++  # see comment above where these are originally set.
++  #print "\\setlength{\\parskip}{\\oldparskip}";
++  #print "\\setlength{\\parindent}{\\oldparindent}";
++  #print "\\setlength{\\baselineskip}{\\oldbaselineskip}";
+ 
+   unless ( $opt_b ) {
+      print "\\end{document}";
+@@ -771,10 +934,13 @@ sub print_preamble {
+ 
+   unless ( $opt_b ) {
+     print "%------------------------ PREAMBLE --------------------------";
+-    print "\\documentclass[11pt]{article}";
++    print "\\documentclass[a4paper,11pt]{article}";
+     print "\\usepackage{amsmath}";
++    print "\\usepackage{amssymb}";
+     print "\\usepackage{epsfig}";
+-    print "\\usepackage{hangcaption}";
++    print "\\usepackage{tabularx}";
++    print "\\usepackage{color}";
++    print "\\usepackage[linkbordercolor={0 0 1}]{hyperref}";
+     print "\\textheight     9in";
+     print "\\topmargin      0pt";
+     print "\\headsep        1cm";
+@@ -783,14 +949,32 @@ sub print_preamble {
+     print "\\oddsidemargin  0in";
+     print "\\evensidemargin 0in";
+     print "\\marginparpush  0pt";
+-    print "\\pagestyle{myheadings}";
++    print "\\pagestyle{plain}";
+     print "\\markboth{}{}";
+     print "%-------------------------------------------------------------";
+-}#end unless
++}#  end unless
+ 
+-    print "\\parskip        0pt";
+-    print "\\parindent      0pt";
+-    print "\\baselineskip  11pt";
++    # in your main document before you include any protex-generated files 
++    # for the first time, if you define these three variables as length 
++    # settings (like this:)
++    #   \newlength{\oldparskip}
++    #   \newlength{\oldparindent}
++    #   \newlength{\oldbaselineskip}
++    # then 1) comment in all the lines below, and 2) find the 3 reset lines
++    # further down and comment in them as well. 
++    # then protex will override the paragraph and skip settings during 
++    # the source sections, but will restore the original document settings 
++    # at the end.   if someone can figure out how to check to see if a
++    # latex variable exists, and do a conditional section, we could make
++    # this fully self-contained.
++    # nsc feb 2003
++
++    #print "\\setlength{\\oldparskip}{\\parskip}";
++    print "\\setlength{\\parskip}{0pt}";
++    #print "\\setlength{\\oldparindent}{\\parindent}";
++    print "\\setlength{\\parindent}{0pt}";
++    #print "\\setlength{\\oldbaselineskip}{\\baselineskip}";
++    print "\\setlength{\\baselineskip}{11pt}";
+ 
+ }# end sub print_preamble
+ 
+@@ -820,20 +1004,38 @@ sub print_macros {
+     print "\\def\\diag{\\mathop{\\rm diag}}";
+     print "\\def\\tr{\\mathop{\\rm tr}}";
+     print "%-------------------------------------------------------------";
++    print " ";
++    print "%------------------------ Elk commands -----------------------";
++    print "\\newcommand{\\block}[2]{";
++    print "\\color{blue}\\subsection{\\tt #1}\\color{black}";
++    print "\\begin{tabularx}{\\textwidth}[h]{|l|X|c|c|}";
++    print "\\hline";
++    print "#2 \\\\";
++    print "\\hline";
++    print "\\end{tabularx}\\vskip 0.25cm";
++    print "}";
++    print "%-------------------------------------------------------------";
+ 
+ }# end sub print_macros
+ 
+ sub do_beg {
+     unless ( $opt_b ) {
+     if ( $begdoc == 0 ) {
+-	if ( $tpage ) {
++        if ( $tpage ) {
+             print "\\title{@title}";
+-            print "\\author{{\\sc @author}\\\\ {\\em @affiliation}}";
++            print "\\author{@author\\\\ {\\em @affiliation}}";
+             print "\\date{@date}";
+         }
+         print "\\begin{document}";
+         if ( $tpage ) {
++            print "\\pagecolor[rgb]{1,0.95,0.85}";
++            print "\\fcolorbox{black}{white}{\\fbox{";
++            print "\\begin{minipage}[t]{\\linewidth}";
+             print "\\maketitle";
++            print "\\end{minipage}}}";
++            print "\\thispagestyle{empty}";
++            print "\\newpage";
++            print "\\pagecolor{white}";
+         }
+         print "\\tableofcontents";
+         print "\\newpage";
+@@ -843,12 +1045,12 @@ sub do_beg {
+ }# end sub do_beg
+ 
+ sub do_eoc {
+-	print ' ';
+-	if ($verb) {
+-	    print "\\end{verbatim}";
+-	    $verb = 0;
+-	}
+-	$source = 0;
++        print ' ';
++        if ($verb) {
++            print "\\end{verbatim}";
++            $verb = 0;
++        }
++        $source = 0;
+ }# end sub do_eoc
+ 
+ sub set_missing {
+@@ -874,6 +1076,6 @@ $have_intf ||
+ die "ProTeX: invalid prologue, missing !INTERFACE: in <$name_is>";
+ 
+ $have_hist || 
+-die "ProTeX: invalid prologue, missing !REVISION HISTORY: in <$name_is>";
++ die "ProTeX: invalid prologue, missing !REVISION HISTORY: in <$name_is>";
+ 
+ }# end sub check_if_all_there
diff -Nru oasis3-3.mct+dfsg.121022/debian/patches/series oasis3-3.mct+dfsg.121022/debian/patches/series
--- oasis3-3.mct+dfsg.121022/debian/patches/series	2018-10-23 11:41:07.000000000 +0200
+++ oasis3-3.mct+dfsg.121022/debian/patches/series	2020-01-19 09:43:34.000000000 +0100
@@ -1,2 +1,3 @@
 make-debian.patch
 reproducible.patch
+protex.patch
make[4]: Entering directory '/build/oasis3-3.mct+dfsg.121022/lib/mct/doc'
latex mct_APIs.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
(./mct_APIs.tex
LaTeX2e <2019-10-01> patch level 3
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def))))
No file mct_APIs.aux.

Underfull \hbox (badness 10000) in paragraph at lines 47--49


Underfull \hbox (badness 10000) in paragraph at lines 55--61

[1] [2] [3]
No file mct_APIs.toc.
[4] (./texsrc/m_MCTWorld.tex
Overfull \hbox (0.14703pt too wide) in paragraph at lines 48--48
[]\OT1/cmr/bx/n/12 Fortran: Mod-ule In-ter-face m[]MCTWorld -- MCT-World Class 
(Source

Overfull \hbox (49.3758pt too wide) in paragraph at lines 83--83
[]                                                    \OT1/cmtt/m/n/10 ! each c
omponent is on (e.g. rank of its[] 

Overfull \hbox (49.3758pt too wide) in paragraph at lines 83--83
[]       \OT1/cmtt/m/n/10 integer,dimension(:,:),pointer :: idGprocid  ! Transl
ate between local component rank[] 
[1] [2] [3]
Overfull \hbox (7.37616pt too wide) in paragraph at lines 281--281
[]       \OT1/cmtt/m/n/10 integer, intent(in)                :: ncomps     ! to
tal number of components[] 

Overfull \hbox (75.62556pt too wide) in paragraph at lines 281--281
[]       \OT1/cmtt/m/n/10 integer, dimension(:),intent(in)   :: rnprocspid ! nu
mber of processors for each component[] 
[4]
Overfull \hbox (86.12547pt too wide) in paragraph at lines 281--281
[]       \OT1/cmtt/m/n/10 integer, dimension(:,:),intent(in) :: ridGprocid ! an
 array of size (1:ncomps) x (0:Gsize-1)[] 

Overfull \hbox (7.37616pt too wide) in paragraph at lines 281--281
[]                                                        \OT1/cmtt/m/n/10 ! it
's actually 1:Gsize here[] 
[5]
Overfull \hbox (15.12784pt too wide) in paragraph at lines 402--402
[]\OT1/cmr/bx/n/12 ComponentRootRank[] - Rank of com-po-nent root on COMM[]WORL
D. 
[6]) [7] (./texsrc/m_AttrVect.tex

! LaTeX Error: Command \block already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.43 }
      
? 
! Emergency stop.
 ...                                              
                                                  
l.43 }
      
Output written on mct_APIs.dvi (11 pages, 21428 bytes).
Transcript written on mct_APIs.log.
make[4]: *** [Makefile:25: mct_APIs.dvi] Error 1

Reply via email to