glyph / Pomodouroboros

Pomodoro timer that acknowledges the inexorable, infinite passage of time
MIT License
188 stars 12 forks source link

ibtool not found #28

Closed nedbat closed 2 years ago

nedbat commented 2 years ago

The installation instructions I guess need a little more detail:

% ./runme
+ mypy ./src
Success: no issues found in 8 source files
+ rm -fr ./dist
+ python setup.py py2app --alias
/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/installer.py:27: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
  warnings.warn(
running py2app
running build_py
creating build
creating build/bdist.macosx-10.15-x86_64
creating build/bdist.macosx-10.15-x86_64/lib
creating build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/test_model.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/notifs.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/quickapp.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/__init__.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/pommodel.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/cli.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/storage.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
copying src/pomodouroboros/mac_gui.py -> build/bdist.macosx-10.15-x86_64/lib/pomodouroboros
creating /System/Volumes/Data/root/src/Pomodouroboros/build/bdist.macosx-10.15-x86_64/python3.10-standalone
creating /System/Volumes/Data/root/src/Pomodouroboros/build/bdist.macosx-10.15-x86_64/python3.10-standalone/app
creating /System/Volumes/Data/root/src/Pomodouroboros/build/bdist.macosx-10.15-x86_64/python3.10-standalone/app/collect
creating /System/Volumes/Data/root/src/Pomodouroboros/build/bdist.macosx-10.15-x86_64/python3.10-standalone/app/temp
creating /System/Volumes/Data/root/src/Pomodouroboros/dist
creating build/bdist.macosx-10.15-x86_64/python3.10-standalone/app/lib-dynload
creating build/bdist.macosx-10.15-x86_64/python3.10-standalone/app/Frameworks
Add paths for VENV /usr/local/pyenv/pyenv/versions False
*** creating application bundle: Pomodouroboros ***
Copy '/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/apptemplate/prebuilt/main-x86_64' -> '/System/Volumes/Data/root/src/Pomodouroboros/dist/Pomodouroboros.app/Contents/MacOS/Pomodouroboros'
compile IBFiles/GoalListWindow.xib -> /System/Volumes/Data/root/src/Pomodouroboros/dist/Pomodouroboros.app/Contents/Resources/GoalListWindow.nib
xcrun: error: unable to find utility "ibtool", not a developer tool or in PATH
Traceback (most recent call last):
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 42, in _get_ibtool
    gTool = check_output(["/usr/bin/xcrun", "-find", "ibtool"])[:-1]
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/util.py", line 718, in check_output
    raise subprocess.CalledProcessError(xit, command_line)
subprocess.CalledProcessError: Command '['/usr/bin/xcrun', '-find', 'ibtool']' returned non-zero exit status 72.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 2275, in build_alias_executable
    copy_resource(src, dest, dry_run=self.dry_run, symlink=1)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/util.py", line 132, in copy_resource
    converter(source, destination, dry_run=dry_run)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 62, in convert_xib
    _run_nibtool(source, destination)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 26, in _run_nibtool
    xit = subprocess.call([_get_ibtool(), "--compile", destination, source])
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 44, in _get_ibtool
    raise IOError("Tool 'ibtool' not found")
OSError: Tool 'ibtool' not found
error: Tool 'ibtool' not found
Traceback (most recent call last):
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 2275, in build_alias_executable
    copy_resource(src, dest, dry_run=self.dry_run, symlink=1)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/util.py", line 132, in copy_resource
    converter(source, destination, dry_run=dry_run)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 62, in convert_xib
    _run_nibtool(source, destination)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 31, in _run_nibtool
    raise RuntimeError("ibtool failed (%r -> %r)" % (source, destination))
RuntimeError: ibtool failed ('IBFiles/GoalListWindow.xib' -> '/System/Volumes/Data/root/src/Pomodouroboros/dist/Pomodouroboros.app/Contents/Resources/GoalListWindow.nib')
Traceback (most recent call last):
  File "/System/Volumes/Data/root/src/Pomodouroboros/setup.py", line 22, in <module>
    setup(
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/usr/local/virtualenvs/tmp-6d1a0d409417d94/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 964, in run
    self._run()
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 1192, in _run
    self.run_alias()
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 1095, in run_alias
    dst = self.build_alias_executable(target, target.script, extra_scripts)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/build_app.py", line 2275, in build_alias_executable
    copy_resource(src, dest, dry_run=self.dry_run, symlink=1)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/util.py", line 132, in copy_resource
    converter(source, destination, dry_run=dry_run)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 62, in convert_xib
    _run_nibtool(source, destination)
  File "/System/Volumes/Data/root/src/Pomodouroboros/.eggs/py2app-0.28-py3.10.egg/py2app/converters/nibfile.py", line 31, in _run_nibtool
    raise RuntimeError("ibtool failed (%r -> %r)" % (source, destination))
RuntimeError: ibtool failed ('IBFiles/GoalListWindow.xib' -> '/System/Volumes/Data/root/src/Pomodouroboros/dist/Pomodouroboros.app/Contents/Resources/GoalListWindow.nib')
glyph commented 2 years ago

Oh. You need an actual Xcode installation. Since this is a mac app, the command-line tools don't cut it.

glyph commented 2 years ago

@nedbat I closed it with that commit but please let me know if more detail would be useful (or if installing Xcode doesn't make it work for you right away)