Skip to content

Local build instructions out of date in the wiki?

Thanks for filing an issue! Please answer the questions below so I can help you.

  • OS version: Sonoma 14.0 (23A344)

What happened:

I'm trying to follow the guide at https://gitlab.com/gnachman/iterm2/-/wikis/HowToBuild in order to have a working local copy, so that I can attempt to author contributions.

Here is the list of issue I've encountered, and the workarounds I took:

  1. Python 3.9 is referenced by tools/updateVersion.py - when not present, it shows this failure:

    Command PhaseScriptExecution failed with a nonzero exit code

    It is my understanding that from 10.15 macOS versions scripting languages, such as Python, do not come pre-installed with Mac (https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes#Scripting-Language-Runtimes).

    I overcame this issue by changing the path in the shebang of the script to an existing Python 3.9 path with pyobjc. An alternative solution would be to get a Python 3.9 pkg file from the download link, installing it, and then installing pyobjc with that Python executable.

  2. Git submodules are not mentioned as required - shows this failure:

    /Users/pavelsavchenko/Code/oss/iterm2/submodules/iTerm2-shell-integration/ssh-helpers/conductor.sh /Users/pavelsavchenko/Code/oss/iterm2/submodules/iTerm2-shell-integration/ssh-helpers/conductor.sh: No such file or directory

    I overcame the issue by running git submodule init && git submodule update

What should have happened:

The instructions should have given me enough information to get to a state. Perhaps the workarounds I had used above are correct, or perhaps they are not. Once confirmed, the solution can be to update the wiki with the correct steps.

Note: it took me quite a bit of effort to figure this out, and I think it probably can be a significant barrier to entry if left unaddressed. That said, no guide will forever remain perfect, and it would be nice to have a quick way to debug problems. Is there perhaps a communication channel that can be used outside the Gitlab issues, to ask development related questions?