#4862 `make html` failure

obsolete: 8.6b1.1
open
2
2012-05-19
2011-07-28
Don Porter
No

$ make html
...
scanning section Tk Library
..................can't read "head": no such variable
can't read "head": no such variable
while executing
"man-puts "$head — $tail""
(procedure "output-name" line 6)
invoked from within
"output-name [join $names { }]"
(procedure "output-directive" line 30)
invoked from within
"output-directive $line"
(procedure "make-man-pages" line 299)
invoked from within
"make-man-pages $webdir [list $tcltkdir/{$appdir}/doc/*.1 "$tcltkdesc Applications" UserCmd "The interpreters which implement $cmdesc."] [plus-base ..."
("try" body line 50)
make: *** [html] Error 1

Discussion

  • Don Porter

    Don Porter - 2011-07-28

    This also looks wrong:

    $ make html
    using Tcl source directory tcl8.5
    using Tk source directory tk8.5

    I'm running `make html` in a trunk/rc directory
    named "tcl" (with "tk" as a sibling) yet it's going
    over into sibling dirs "tcl8.5" and "tk8.5" and
    building their html docs instead?

     
  • Don Porter

    Don Porter - 2011-07-28

    Somehow the line

    .SS NAME

    in tk/doc/CrtPhImgFmt.3 is getting processed
    as though it were

    .SH NAME

    and the conventions of the NAME section
    aren't met so the program throws an error.

    Don't yet grok the whole $::manual(.) business
    enough to see how that happens.

     
  • Don Porter

    Don Porter - 2011-07-28

    Ok, the two things are related. The 8.5 docs
    actually have ".SH NAME" and since we're picking
    up the wrong data files we get the failure.

    Not exactly robust if the tools with 8.6 fail on the
    data from 8.5.

     
  • Don Porter

    Don Porter - 2011-07-28

    I can work around the problem with some
    symlinks tcl8.6 -> tcl and tk8.6 -> tk to give
    the checkout directories names that work.

    Of course, now the next time I try to `make html`
    in the 8.5 directories, they will find 8.6 unless I remove
    those symlinks, so a real fix would be better, but with
    the workaround the urgency is reduced.

     
  • Don Porter

    Don Porter - 2011-07-28
    • priority: 9 --> 5
     
  • Donal K. Fellows

    Re picking up the wrong version, that's a misdesign of the tool code that I've not done anything to change. When I'm building the docs I use:

    make html BUILD_HTML_FLAGS=--useversion= NATIVE_TCLSH=/tmp/tcl/bin/tclsh8.6

    The value after --useversion (empty above; the = is significant) is really a pathname fragment that is used to find the tcl and tk documentation directories. (I hate it every time!)

     
  • Donal K. Fellows

    Moreover, the 8.5 html builder should be used with the 8.5 docs, and the 8.6 builder with the 8.6 docs; those are the tested cases. (There were a lot of minor problems in the docs in 8.5, of which confusing misuse of section names was only one. It's all very very nasty.)

     
  • Donal K. Fellows

    • priority: 5 --> 2
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks