Starlink / starlink

Starlink Software Collection
162 stars 53 forks source link

Latex2HTML stuck in infinite loop #10

Closed MalcolmCurrie closed 10 years ago

MalcolmCurrie commented 11 years ago

Trying to build at the summit /stardev from a fresh clone... make world hung at libraries/cnf (as if it were vtk). Going in manually it works until partway through hypertext-document building.

47/194:subsection:...."Sun" for node47.html ;.;

48/194:subsubsection:...."General" for node48.html ;..;

49/194:subsubsection:...."Data Types" for node49.html ;..,,,..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

The fullstops go on ad infinitum.

timj commented 11 years ago

My guess is that perl 5.18.x broke latex2html.

These warnings are indicative:

defined(%hash) is deprecated at /star/share/latex2html/bin/latex2html line 520.
    (Maybe you should just omit the defined()?)
defined(%hash) is deprecated at /star/share/latex2html/bin/latex2html line 2093.
    (Maybe you should just omit the defined()?)
defined(%hash) is deprecated at /star/share/latex2html/bin/latex2html line 9094.
    (Maybe you should just omit the defined()?)
$* is no longer supported at /star/share/latex2html/bin/latex2html line 10595.
$* is no longer supported at /star/share/latex2html/bin/latex2html line 10607.
$* is no longer supported at /star/share/latex2html/bin/latex2html line 11428.
$* is no longer supported at /star/share/latex2html/bin/latex2html line 11439.
$* is no longer supported at /star/share/latex2html/bin/latex2html line 13160.
$* is no longer supported at /star/share/latex2html/bin/latex2html line 13162.

The first four are minor annoyances and the first five were present in 5.16.x. The real hint that things are going to be painful are all the new $* warnings. That feature of perl was removed and I'm guessing that latex2html relies on it heavily (there are many more warnings from other latex2html subsystems in the same manner). I think latex2html 2012 might have fixes for these.

dsberry commented 11 years ago

Same problem building the AST docs

timj commented 11 years ago

That's because it's a bug in latex2html triggered by perl removing a feature that latex2html was relying on (but which has been deprecated for over five years). I've had a quick look at the 2012 release and it does have fixes for $*. Obviously one problem is that the 2012 release is based off a much older release than we are using because we've accreted random patches from the internet in the intervening years. I'm not sure how quickly I'll be able to integrate the new version into the build tree so in the short term we may have to revert d3c44bed95a05032b1d3c4c009f890cc817b024b

timj commented 11 years ago

The problem is a bug in the regexp engine introduced between perl 5.16.x and perl 5.18.x. There is a fix available in blead as commit [https://github.com/mirrors/perl/commit/f1e1b256c5c1773d90e828cca6323c53fa23391b] but it has not yet been ported to the 5.18.2 release branch. I've sent a message to p5p asking what the release plan is for this fix. It's also a RedHat bug: https://bugzilla.redhat.com/show_bug.cgi?id=978233

Meanwhile, I have updated latex2html to v2012 in [Starlink/latex2html@78829fb] and this fixes some of the warnings.

timj commented 10 years ago

Allegedly fixed in perl 5.18.2 with [Perl/perl5@7deb06abad0c3fe4d258bf8117d4c0e5f30fc595]