3.6 Build And Start Emacsvox

The guided WSL2 installer has already selected Emacs, compiled Emacsvox, and run the two checks below. Go directly to the final step to start the isolated session. The full sequence is for GNU/Linux, macOS, manual WSL2 installation, or later diagnosis.

  1. Enter the Emacsvox checkout:
    cd /path/where/you/keep/source/emacsvox
    
  2. Select Emacs 30.2 or newer. If it is not the system emacs and no local.mk exists, create the ignored local settings file:
    cp local.mk.example local.mk
    

    Edit an existing local.mk rather than replacing it. Set EMACS there:

    EMACS=/path/to/emacs-31/bin/emacs
    

    The earlier emacs --version checks your shell’s default. Verify the executable selected by the build separately:

    make check-emacs
    

    This checks the Emacs selected by local.mk when present. It can finish without printing anything when the version is supported. Resolve any executable or version error before compiling.

  3. Compile Emacsvox:
    make bytecode
    

    A successful build returns to the shell without an error. Compile with the same supported Emacs selected in the previous step.

  4. Run the non-audible launcher preflight:
    ./bin/emacsvox --diagnose
    

    This checks the checkout, Emacs, and speech server without playing audio or opening interactive Emacs. A successful report names Emacs 30.2 or newer, the omnivox speech server, and an isolated -Q startup. Correct any reported path or version problem, then repeat the command.

  5. Check the complete launch path with sound:
    ./bin/emacsvox --check
    

    The launcher prints its selections, then plays a tone and speech. Confirm that both are audible before continuing.

  6. Start a clean Emacsvox session:
    ./bin/emacsvox
    

    The launcher uses Omnivox and the selected Emacs without loading site files or your personal init file. It does not change an existing Emacs setup.

For explicit paths, ./bin/emacsvox --help describes the EMACS, TTS_PROGRAM, and EMACSVOX_DIR overrides. Arguments after -- are passed to Emacs.