Discussion:
Tcl 9 Build failure using Visual Studio 2022
Add Reply
Michael Soyka
2024-10-10 17:07:52 UTC
Reply
Permalink
I've downloaded the tcl900-src.zip file from SourceForge and am trying
to build it using the "buildall.vc.bat" script with Visual Studio 2022.
Other than defining INSTALLDIR, I've changed nothing. The executables
and packages appear to build without error but not the help files which
fail like so:

: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe
win\..\tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' :
return code '0x1'
Stop.
*** BOOM! ***
DONE!

Note that I've shortened the paths in the above error message for clarity.

Can anyone help?

-mike
Michael Soyka
2024-10-10 23:21:56 UTC
Reply
Permalink
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am trying
to build it using the "buildall.vc.bat" script with Visual Studio 2022.
Other than defining INSTALLDIR, I've changed nothing.  The executables
and packages appear to build without error but not the help files which
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
\tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' : return
code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
I see that "HTML Help Workshop" is referenced in makefile.vc and
apparently needed to construct the help files. I don't have a copy in
either "Program Files" directories. It is no longer available from
Microsoft and seems to have been removed from Visual Studio
installations starting with 2019 16.11.5.

Am I missing something or, if not, is there a work-around?
Michael Soyka
2024-10-11 01:19:29 UTC
Reply
Permalink
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am trying
to build it using the "buildall.vc.bat" script with Visual Studio 2022.
Other than defining INSTALLDIR, I've changed nothing.  The executables
and packages appear to build without error but not the help files which
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
\tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' : return
code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not
build the docs. This means not using the shell script but invoking
nmake directly:

nmake -nologo -f makefile.vc release
nmake -nologo -f makefile.vc install

This allows me to test my apps using 9.0. The docs issue can be
addressed later.
Harald Oehlmann
2024-10-13 11:14:52 UTC
Reply
Permalink
Post by Michael Soyka
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am trying
to build it using the "buildall.vc.bat" script with Visual Studio
2022. Other than defining INSTALLDIR, I've changed nothing.  The
executables and packages appear to build without error but not the
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
\tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' : return
code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not
build the docs.  This means not using the shell script but invoking
  nmake -nologo -f makefile.vc release
  nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be
addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I always
test this. The result is semi-optimal anyway...

Thanks,
Harald
Michael Soyka
2024-10-14 15:03:15 UTC
Reply
Permalink
Post by Harald Oehlmann
Post by Michael Soyka
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am
trying to build it using the "buildall.vc.bat" script with Visual
Studio 2022. Other than defining INSTALLDIR, I've changed nothing.
The executables and packages appear to build without error but not
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
\tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' : return
code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not
build the docs.  This means not using the shell script but invoking
   nmake -nologo -f makefile.vc release
   nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be
addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I always
test this. The result is semi-optimal anyway...
Thanks,
Harald
Thanks for your reply. I've had past experience with the help workshop
but when I upgraded to Windows 10, it never occurred to me to download
it again- who knew?

Anyway, since the Tcl/Tk sources come with man-pages in nroff format and
the unix makefile creates HTML pages, it occurred to me to port those
makefile targets to makefile.vc. Thus far, I've made the HTML help
files for both Tcl and Tk but each has its own index.html file and the
build process does not merge them. That's the next mystery.

-mike
Harald Oehlmann
2024-10-14 18:59:09 UTC
Reply
Permalink
Post by Harald Oehlmann
Post by Michael Soyka
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am
trying to build it using the "buildall.vc.bat" script with Visual
Studio 2022. Other than defining INSTALLDIR, I've changed nothing.
The executables and packages appear to build without error but not
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
return code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not
build the docs.  This means not using the shell script but invoking
   nmake -nologo -f makefile.vc release
   nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be
addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I
always test this. The result is semi-optimal anyway...
Thanks,
Harald
Thanks for your reply.  I've had past experience with the help workshop
but when I upgraded to Windows 10, it never occurred to me to download
it again- who knew?
Anyway, since the Tcl/Tk sources come with man-pages in nroff format and
the unix makefile creates HTML pages, it occurred to me to port those
makefile targets to makefile.vc.  Thus far, I've made the HTML help
files for both Tcl and Tk but each has its own index.html file and the
build process does not merge them.  That's the next mystery.
-mike
The help files are only merged, if:
- tcl and tk source is in a common sub-folder and there is no other
tcl/tk subfolder in the same directory.
- cd tcl9.0.0\win
- nmake -f Makefile.vc
- nmake -f Makefile.vc htmlhelp
Will build both html help sets and the unified index file. Then, the
call to the help workshop fails, but the files are in
win\Release_VCxxxx\html

I tried to put info on the help system here:

https://core.tcl-lang.org/tcl/wiki?name=How+to+edit/test+tcl+man+pages&p

Any help appreciated,
Harald
Michael Soyka
2024-10-15 01:54:21 UTC
Reply
Permalink
Post by Harald Oehlmann
Post by Michael Soyka
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am
trying to build it using the "buildall.vc.bat" script with Visual
Studio 2022. Other than defining INSTALLDIR, I've changed nothing.
The executables and packages appear to build without error but not
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
return code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not
build the docs.  This means not using the shell script but invoking
   nmake -nologo -f makefile.vc release
   nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be
addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I
always test this. The result is semi-optimal anyway...
Thanks,
Harald
Thanks for your reply.  I've had past experience with the help
workshop but when I upgraded to Windows 10, it never occurred to me to
download it again- who knew?
Anyway, since the Tcl/Tk sources come with man-pages in nroff format
and the unix makefile creates HTML pages, it occurred to me to port
those makefile targets to makefile.vc.  Thus far, I've made the HTML
help files for both Tcl and Tk but each has its own index.html file
and the build process does not merge them.  That's the next mystery.
-mike
- tcl and tk source is in a common sub-folder and there is no other tcl/
tk subfolder in the same directory.
- cd tcl9.0.0\win
- nmake -f Makefile.vc
- nmake -f Makefile.vc htmlhelp
Will build both html help sets and the unified index file. Then, the
call to the help workshop fails, but the files are in
win\Release_VCxxxx\html
https://core.tcl-lang.org/tcl/wiki?name=How+to+edit/test+tcl+man+pages&p
Any help appreciated,
Harald
Harald,

I made the htmlhelp target as you've suggested and it does make the HTML
files and merges the index.html files as desired. I don't remember
exactly what I did when I first posted this but I certainly didn't
realize it was making HTML files before the .chm and so never looked for
them.

Thanks for your help and patience. The makefile is a bit tough to
understand but the rules.vc file helped alot.

-mike
William Bresler
2024-10-31 19:51:27 UTC
Reply
Permalink
Post by Michael Soyka
Post by Harald Oehlmann
I've downloaded the tcl900-src.zip file from SourceForge and am trying to build it using the "buildall.vc.bat" script with Visual Studio 2022.
Other than defining INSTALLDIR, I've changed nothing. The executables and packages appear to build without error but not the help files which
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\.. \tools\tcltk-man2html.tcl "--htmldir=win\Debug_VC1941\html"' : return code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to not build the docs.  This means not using the shell script but invoking nmake
   nmake -nologo -f makefile.vc release
   nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I always test this. The result is semi-optimal anyway...
Thanks,
Harald
Thanks for your reply.  I've had past experience with the help workshop but when I upgraded to Windows 10, it never occurred to me to download it
again- who knew?
Anyway, since the Tcl/Tk sources come with man-pages in nroff format and the unix makefile creates HTML pages, it occurred to me to port those
makefile targets to makefile.vc.  Thus far, I've made the HTML help files for both Tcl and Tk but each has its own index.html file and the build
process does not merge them.  That's the next mystery.
-mike
- tcl and tk source is in a common sub-folder and there is no other tcl/ tk subfolder in the same directory.
- cd tcl9.0.0\win
- nmake -f Makefile.vc
- nmake -f Makefile.vc htmlhelp
Will build both html help sets and the unified index file. Then, the call to the help workshop fails, but the files are in win\Release_VCxxxx\html
https://core.tcl-lang.org/tcl/wiki?name=How+to+edit/test+tcl+man+pages&p
Any help appreciated,
Harald
Harald,
I made the htmlhelp target as you've suggested and it does make the HTML files and merges the index.html files as desired.  I don't remember exactly
what I did when I first posted this but I certainly didn't realize it was making HTML files before the .chm and so never looked for them.
Thanks for your help and patience.  The makefile is a bit tough to understand but the rules.vc file helped alot.
-mike
Although Microsoft essentially discontinued the HTML Help Workshop, and
the links to download it are now broken, the Internet Archive's Wayback
machine often comes to the rescue. I ran into this same issue in June
2023 while trying to build Tcl/Tk on a Windows 11 system so I poked
around various old postings about HHW until I found a reference that I
could plug into the Wayback Machine.

I just checked and the files are still there. Here are the links:

htmlhelp.exe:
https://web.archive.org/web/20160201063255if_/https://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe

helpdocs.zip:
https://web.archive.org/web/20160314043751if_/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/helpdocs.zip

(Sorry for the extra long lines.)

The first is the installer. IIRC you should run this as Administrator, or
from an elevated command prompt session. The second contains .CHM files for
the HHW itself. I have no problems building the docs for Tcl/Tk 8.6.15 and I
am planning on trying out a build of Tcl/Tk 9.0 in the next few days.

I hope this will prove useful for anyone who finds the .CHM files valuable.
Best of luck.

--- William Bresler
Michael Soyka
2024-11-01 16:10:33 UTC
Reply
Permalink
Post by William Bresler
Post by Michael Soyka
Post by Harald Oehlmann
Post by Harald Oehlmann
Post by Michael Soyka
Post by Michael Soyka
I've downloaded the tcl900-src.zip file from SourceForge and am
trying to build it using the "buildall.vc.bat" script with Visual
Studio 2022. Other than defining INSTALLDIR, I've changed
nothing. The executables and packages appear to build without
: make-manpage-section: not table of contents.
NMAKE : fatal error U1077: 'win\Debug_VC1941\tclsh90.exe win\..
return code '0x1'
Stop.
*** BOOM! ***
DONE!
Note that I've shortened the paths in the above error message for clarity.
Can anyone help?
-mike
To answer my own question, the work-around, at the moment, is to
not build the docs.  This means not using the shell script but
   nmake -nologo -f makefile.vc release
   nmake -nologo -f makefile.vc install
This allows me to test my apps using 9.0.  The docs issue can be
addressed later.
Your observation is correct.
On the other side, if the help workshop is available, it works. I
always test this. The result is semi-optimal anyway...
Thanks,
Harald
Thanks for your reply.  I've had past experience with the help
workshop but when I upgraded to Windows 10, it never occurred to me
to download it again- who knew?
Anyway, since the Tcl/Tk sources come with man-pages in nroff format
and the unix makefile creates HTML pages, it occurred to me to port
those makefile targets to makefile.vc.  Thus far, I've made the HTML
help files for both Tcl and Tk but each has its own index.html file
and the build process does not merge them.  That's the next mystery.
-mike
- tcl and tk source is in a common sub-folder and there is no other
tcl/ tk subfolder in the same directory.
- cd tcl9.0.0\win
- nmake -f Makefile.vc
- nmake -f Makefile.vc htmlhelp
Will build both html help sets and the unified index file. Then, the
call to the help workshop fails, but the files are in
win\Release_VCxxxx\html
https://core.tcl-lang.org/tcl/wiki?name=How+to+edit/test+tcl+man+pages&p
Any help appreciated,
Harald
Harald,
I made the htmlhelp target as you've suggested and it does make the
HTML files and merges the index.html files as desired.  I don't
remember exactly what I did when I first posted this but I certainly
didn't realize it was making HTML files before the .chm and so never
looked for them.
Thanks for your help and patience.  The makefile is a bit tough to
understand but the rules.vc file helped alot.
-mike
Although Microsoft essentially discontinued the HTML Help Workshop, and
the links to download it are now broken, the Internet Archive's Wayback
machine often comes to the rescue.  I ran into this same issue in June
2023 while trying to build Tcl/Tk on a Windows 11 system so I poked
around various old postings about HHW until I found a reference that I
could plug into the Wayback Machine.
https://web.archive.org/web/20160201063255if_/https://
download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-
DFAE7960D564/htmlhelp.exe
https://web.archive.org/web/20160314043751if_/http://
download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-
DFAE7960D564/helpdocs.zip
(Sorry for the extra long lines.)
The first is the installer.  IIRC you should run this as Administrator, or
from an elevated command prompt session.  The second contains .CHM files
for
the HHW itself.  I have no problems building the docs for Tcl/Tk 8.6.15
and I
am planning on trying out a build of Tcl/Tk 9.0 in the next few days.
I hope this will prove useful for anyone who finds the .CHM files valuable.
Best of luck.
   --- William Bresler
Thank you for the Wayback machine reference and links. I've heard of
this site before but keep forgetting about it.

By coincidence, a few days ago I looked at some old system backups, my
own personal Wayback machine, and found the same files you've listed
above. I installed the htmlhelp app and tried to build the help files
for version 9 and encountered two problems.

First, the makefile.vc references a file named contents.htm which the
help compiler couldn't find (error HHC5003). Nonetheless, it created
the .chm file but when I launched it, a message popped-up about a
missing Internet Explorer DLL file: //ieframe.dll/dnserrordiagoff.htm#

The build process does create an index.htm file but if I blindly replace
contents.htm with index.htm in the makefile, the same errors occur
(HHC5003- can't compile index.htm).

Truth be told, I'm good with the HTML pages but the above errors irk me
and so this is still a work in progress (in my spare time).
Harald Oehlmann
2024-11-01 16:27:10 UTC
Reply
Permalink
Thank you for the Wayback machine reference and links.  I've heard of
this site before but keep forgetting about it.
By coincidence, a few days ago I looked at some old system backups, my
own personal Wayback machine, and found the same files you've listed
above.  I installed the htmlhelp app and tried to build the help files
for version 9 and encountered two problems.
First, the makefile.vc references a file named contents.htm which the
help compiler couldn't find (error HHC5003).  Nonetheless, it created
the .chm file but when I launched it, a message popped-up about a
missing Internet Explorer DLL file:  //ieframe.dll/dnserrordiagoff.htm#
The build process does create an index.htm file but if I blindly replace
contents.htm with index.htm in the makefile, the same errors occur
(HHC5003- can't compile index.htm).
Truth be told, I'm good with the HTML pages but the above errors irk me
and so this is still a work in progress (in my spare time).
Dear Michael,
for me, the make target "htmlhelp" runns without issues with installed
help compiler and MS-VS2015.
But the resulting file TclTk90.chm shows an error message in the main
widget planes (not an error box) when started:
Vergewissern Sie sich, dass die Webadresse
//ieframe.dll/dnserrordiagoff.htm# stimmt.
-> says something like: Be shure that the web address ... is correct.
There is only a search tab on the left side, no contents ans items.

The current maintainer Ashok has abandoned this type of help.
I can imagine, that it will be removed soon.
Even Microsoft does not see any future.

Nevertheless, I use Ashoks TCL 8.6.10 chm file (from his web site) on a
daily basis for quick offline reference - one file - all manuals !

Take care,
Harald

no access on this page:
Michael Soyka
2024-11-01 17:33:10 UTC
Reply
Permalink
Post by Harald Oehlmann
Thank you for the Wayback machine reference and links.  I've heard of
this site before but keep forgetting about it.
By coincidence, a few days ago I looked at some old system backups, my
own personal Wayback machine, and found the same files you've listed
above.  I installed the htmlhelp app and tried to build the help files
for version 9 and encountered two problems.
First, the makefile.vc references a file named contents.htm which the
help compiler couldn't find (error HHC5003).  Nonetheless, it created
the .chm file but when I launched it, a message popped-up about a
missing Internet Explorer DLL file:  //ieframe.dll/dnserrordiagoff.htm#
The build process does create an index.htm file but if I blindly
replace contents.htm with index.htm in the makefile, the same errors
occur (HHC5003- can't compile index.htm).
Truth be told, I'm good with the HTML pages but the above errors irk
me and so this is still a work in progress (in my spare time).
Dear Michael,
for me, the make target "htmlhelp" runns without issues with installed
help compiler and MS-VS2015.
But the resulting file TclTk90.chm shows an error message in the main
Vergewissern Sie sich, dass die Webadresse //ieframe.dll/
dnserrordiagoff.htm# stimmt.
-> says something like: Be shure that the web address ... is correct.
There is only a search tab on the left side, no contents ans items.
The current maintainer Ashok has abandoned this type of help.
I can imagine, that it will be removed soon.
Even Microsoft does not see any future.
Nevertheless, I use Ashoks TCL 8.6.10 chm file (from his web site) on a
daily basis for quick offline reference - one file - all manuals !
Take care,
Harald
Hi Harald,
You have exactly reproduced my experience. The HTML version serves me
well so making the .chm is more "intellectual curiosity" than anything else.
Thanks for your help!

-mike
bohagan
2024-11-01 19:22:49 UTC
Reply
Permalink
Here's what I use to build the CHM file for TCL/TK 9.0:
http://paste.tclers.tk/6027
Michael Soyka
2024-11-02 00:49:00 UTC
Reply
Permalink
Post by bohagan
http://paste.tclers.tk/6027
Brian,

Thanks for the script (and web site capability)- it told me what's wrong
with the project makefile makefile.vc.

Makefile.vc uses a "inline file" to create HHPFILE. However, it lists
the files with a .htm extension but the files being referenced have a
.html extension. When I corrected the extensions and changed
"contents.htm" to "index.html", the build succeeds. Case closed.

I will open a ticket for this.

-mike
Ashok
2024-11-02 06:41:05 UTC
Reply
Permalink
I abandoned the CHM format because of sporadic crashes in htmlhelp when
content was changed. Just minor edits to content would make the crashes
disappear (or reappear!). It really is an obsolete format so I do not
plan on resurrecting it.

Brian's batch file is a workaround for anyone still desiring that format.

/Ashok
Post by Michael Soyka
Post by bohagan
http://paste.tclers.tk/6027
Brian,
Thanks for the script (and web site capability)- it told me what's wrong
with the project makefile makefile.vc.
Makefile.vc uses a "inline file" to create HHPFILE.  However, it lists
the files with a .htm extension but the files being referenced have
a .html extension.  When I corrected the extensions and changed
"contents.htm" to "index.html", the build succeeds.  Case closed.
I will open a ticket for this.
-mike
Ashok
2024-11-02 06:42:13 UTC
Reply
Permalink
Forgot to add, I'll make the change you suggested in any case.
Post by Michael Soyka
Post by bohagan
http://paste.tclers.tk/6027
Brian,
Thanks for the script (and web site capability)- it told me what's wrong
with the project makefile makefile.vc.
Makefile.vc uses a "inline file" to create HHPFILE.  However, it lists
the files with a .htm extension but the files being referenced have
a .html extension.  When I corrected the extensions and changed
"contents.htm" to "index.html", the build succeeds.  Case closed.
I will open a ticket for this.
-mike
Loading...