Skip to content

quickstart makefile error catch for "Command not found" not working correctly. #2521

@michaelaye

Description

@michaelaye

I have my dev setup running on 2 different machines, and recently started to dabble with Sphinx. When I swapped machines, I forgot to install sphinx on the 2nd machine.
Instead of being told that the sphinx-build command was not found though, I got the most mysterious (well, I'm not good with Makefiles) error:

(stable)└─❱❱❱ make html                                                          1 ⏎  +5137 16:45 ❰─┘
Makefile:12: *** commands commence before first target.  Stop.

After looking at line 12:

    $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then 

it dawned on me, that I forgot to install sphinx on this machine. But I guess one would want this error reporting to work better?
I wondered if this were caused by me using zsh, but switching to /bin/bash did not make it better.

For your convenience, I copy the first lines of the Makefile here (which is the exact one created by the sphinx-quickstart script) for your review:

# Makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS    =
SPHINXBUILD   = sphinx-build
PAPER         =
BUILDDIR      = _build

# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
    $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/)
endif

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions