php / php/phd

CHM build issues

Open
#203 29 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
91
Forks
59
PR merge metrics
No merged PRs in 30d

Description

Attempted to build the CHM (non-enhanced) version of the manual and while the build itself appears to work, I ran into issues compiling the output into a chm file.

There's some CHM build instructions at https://github.com/php/phd/blob/master/phpdotnet/phd/Package/PHP/HOWTO.GENERATE_CHM but as you'll see from my notes below, they're not very helpful.

The first issue I encountered is that HTMLHelp Workshop (which contains the HTMLHelp Compiler) will not install on Windows 11 (installer errors saying a newer version is already installed).

Additionally I should note HTMLHelp Workshop no longer appears to be available for download from Microsoft (there's web documentation for it, but none of the download links leads anywhere. The closest I could find was this MS Answers post linking to an archive.org copy

I then tried the chmcmd compiler from freepascal on Linux (I was using fpc 3.2.2 on Gentoo). While this appeared to create a .chm file, this file failed to load on Windows 11. Additionally it output an Access Violation error.

chmcmd produced a number of warnings relating to content during the build. The most common 2 were:

  • Warning: Found file res/language.types.value.html while scanning res/<filename>.html, but couldn't find it on disk - appears to be caused by specific instances of the <type> tag on true and false
  • Warning: Found file res/ while scanning res/mongodb.persistence.html, but couldn't find it on disk - appears to be caused by anchors with no file attached. I think created by (for example) <footnoteref linkend="mongodb.pclass"/>

Does anyone have working instructions / tools to build the chm version of the manual?

The apparent lack of tools for building CHMs (I did have a search but there weren't many options, never mind free and maintained options) has me moving towards suggesting dropping support for CHM.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with phpdotnet/phd/Package/PHP/HOWTO.GENERATE_CHM and review the reported HTMLHelp Workshop and Free Pascal chmcmd failures. Reproduce the CHM build if possible, including the missing-file warnings and Windows loading failure. Done means documented working tools and steps, or a clear basis for dropping CHM support.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
build-system, documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.