Skip to main content
ertius.org

ib_tool not found

glyph has an ADHD-optimised pomodoro timer thing and I wanted to try it out. Amongst the errors I got when trying to build it, I got this one:

Traceback (most recent call last):
  File "/Users/rob/src/Pomodouroboros/.venv/lib/python3.11/site-packages/py2app/build_app.py", line 2303, in build_alias_executable
    copy_resource(src, dest, dry_run=self.dry_run, symlink=1)
  File "/Users/rob/src/Pomodouroboros/.venv/lib/python3.11/site-packages/py2app/util.py", line 134, in copy_resource
    converter(source, destination, dry_run=dry_run)
  File "/Users/rob/src/Pomodouroboros/.venv/lib/python3.11/site-packages/py2app/converters/nibfile.py", line 38, in convert_xib
    subprocess.check_call([_get_ibtool(), "--compile", destination, source])
                           ^^^^^^^^^^^^^
  File "/Users/rob/src/Pomodouroboros/.venv/lib/python3.11/site-packages/py2app/converters/nibfile.py", line 22, in _get_ibtool
    raise IOError("Tool 'ibtool' not found")
OSError: Tool 'ibtool' not found

Manual check confirms:

 /usr/bin/xcrun -find ibtool
xcrun: error: unable to find utility "ibtool", not a developer tool or in PATH

I definitely had full Xcode installed, and Google indicated basically no-one had had this problem in the past few years (OS X toolchain stuff seems to change fairly quickly so I would assume answers beyond a few years would be unlikely to be good).

Where is it looking?

 xcode-select -p
/Library/Developer/CommandLineTools

That looks fine? Not obviously wrong, anyway. But ultimately I have no idea what it's meant to be, so, as a good sysadmin, let's blow away unwanted local state:

 sudo xcode-select  -r
Password:
 xcode-select -p
/Applications/Xcode.app/Contents/Developer
 /usr/bin/xcrun -find ibtool
/Applications/Xcode.app/Contents/Developer/usr/bin/ibtool

et voila.

postscript: I dimly remember fiddling with this recently for some reason