Bazaar on the iPod Touch.
Because I was curious, and because it has Python, I figured I'ld give it a
try, and see what happened...
The results are:
# ./bzr selftest
testing: /private/var/root/bzr-1.0/bzr
/private/var/root/bzr-1.0/bzrlib (1.0.0 python2.5.1.final.0)
bzr: ERROR: exceptions.ImportError: No module named pyexpat
Traceback (most recent call last):
File "/private/var/root/bzr-1.0/bzrlib/commands.py", line 802, in run_bzr_catch_errors
return run_bzr(argv)
File "/private/var/root/bzr-1.0/bzrlib/commands.py", line 758, in run_bzr
ret = run(*run_argv)
File "/private/var/root/bzr-1.0/bzrlib/commands.py", line 492, in run_argv_aliases
return self.run(**all_cmd_args)
File "/private/var/root/bzr-1.0/bzrlib/builtins.py", line 2659, in run
coverage_dir=coverage,
File "/private/var/root/bzr-1.0/bzrlib/tests/__init__.py", line 2373, in selftest
suite = test_suite()
File "/private/var/root/bzr-1.0/bzrlib/tests/__init__.py", line 2531, in test_suite
suite.addTest(loader.loadTestsFromModuleNames(testmod_names))
File "/private/var/root/bzr-1.0/bzrlib/tests/TestUtil.py", line 89, in loadTestsFromModuleNames
_load_module_by_name(name)
File "/private/var/root/bzr-1.0/bzrlib/tests/TestUtil.py", line 96, in _load_module_by_name
module = __import__(mod_name)
File "/private/var/root/bzr-1.0/bzrlib/tests/test_bundle.py", line 32, in <module>
from bzrlib.bundle.bundle_data import BundleTree
File "/private/var/root/bzr-1.0/bzrlib/bundle/bundle_data.py", line 42, in <module>
from bzrlib.xml5 import serializer_v5
File "/private/var/root/bzr-1.0/bzrlib/xml5.py", line 26, in <module>
from bzrlib.xml_serializer import SubElement, Element, Serializer
File "/private/var/root/bzr-1.0/bzrlib/xml_serializer.py", line 47, in <module>
from xml.parsers.expat import ExpatError as ParseError
File "/usr/lib/python2.5/xml/parsers/expat.py", line 4, in <module>
from pyexpat import *
ImportError: No module named pyexpat
bzr 1.0.0 on python 2.5.1.final.0 (darwin)
arguments: ['./bzr', 'selftest']
encoding: 'ascii', fsenc: 'utf-8', lang: None
plugins:
launchpad /private/var/root/bzr-1.0/bzrlib/plugins/launchpad [unknown]
multiparent /private/var/root/bzr-1.0/bzrlib/plugins/multiparent.pyc [unknown]
*** Bazaar has encountered an internal error.
Please report a bug at https://bugs.launchpad.net/bzr/+filebug
including this traceback, and a description of what you
were doing when the error occurred.
Doing a bit of googling led me here (or rather, the google cache of that page). which says:
# 1/ The python installation from the installer ("unjailed iphone") does not come with the pyexpat module.
So, that's a little surprising.
I tried to install easy_install, to try an "easy_install pyexpat", but because I'm missing a Makefile, that fails with the following:
# python ez_setup.py
Downloading http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c7-py2.5.egg
Traceback (most recent call last):
File "ez_setup.py", line 229, in <module>
main(sys.argv[1:])
File "ez_setup.py", line 163, in main
from setuptools.command.easy_install import main
File "build/bdist.linux-i686/egg/setuptools/__init__.py", line 2, in <module>
File "build/bdist.linux-i686/egg/setuptools/extension.py", line 2, in <module>
File "build/bdist.linux-i686/egg/setuptools/dist.py", line 5, in <module>
File "build/bdist.linux-i686/egg/setuptools/command/__init__.py", line 13, in <module>
File "/usr/lib/python2.5/distutils/command/bdist.py", line 29, in <module>
class bdist (Command):
File "/usr/lib/python2.5/distutils/command/bdist.py", line 37, in bdist
"(default: %s)" % get_platform()),
File "/usr/lib/python2.5/distutils/util.py", line 78, in get_platform
cfgvars = get_config_vars()
File "/usr/lib/python2.5/distutils/sysconfig.py", line 493, in get_config_vars
func()
File "/usr/lib/python2.5/distutils/sysconfig.py", line 352, in _init_posix
raise DistutilsPlatformError(my_msg)
distutils.errors.DistutilsPlatformError: invalid Python installation: unable to open /usr/lib/python2.5/config/Makefile (No such file or directory)
And that was the end of that. Interesting, though...
Oh, yeah, and I ended up going with the iPod Touch (hereafter referred to as the iTouch) to replace my Palm TX. It's not the perfect device, as the above stack traces show, but it's pretty good, and a fair bit closer than the Palm TX was.