The Zero Install system

Dr Thomas Leonard [ contact | GPG public key | blog | donations ]

Trouble-shooting

ImportError: No module named pygtk
You need to install the python-gtk2 package (the name may vary on different distributions; python-gnome2 is another possibility.
ImportError: cannot import name cli
You've probably just upgraded your system from Python 2.3 to Python 2.4 (or similar). Simply install the injector again to fix it.

If the injector isn't doing what you expect, run it with logging turned up using either -v (verbose) or -vv (very verbose!). Use -c to prevent it switching to GUI mode too. Eg:

$ 0launch -vvc http://rox.sourceforge.net/2005/interfaces/Edit
DEBUG:root:Location of 'implementation-dirs' config file being used: 'None'
DEBUG:root:Added system store '/var/cache/0install.net/implementations'
DEBUG:root:Supported systems: '{None: 2, 'Linux': 1}'
DEBUG:root:Supported processors: '{None: 4, 'i386': 3, 'i586': 1, 'i486': 2, 'i686': 0}'
DEBUG:root:Recalculate! root = http://rox.sourceforge.net/2005/interfaces/Edit
DEBUG:root:Initialising new interface object for http://rox.sourceforge.net/2005/interfaces/Edit
DEBUG:root:Loading cached information for <Interface http://rox.sourceforge.net/2005/interfaces/Edit>
	from /home/talex/.cache/0install.net/interfaces/http%3a%2f%2frox.sourceforge.net%2f2005%2finterfaces%2fEdit
DEBUG:root:Staleness for <Interface http://rox.sourceforge.net/2005/interfaces/Edit> is 120.23 hours
DEBUG:root:Processing feed <Feed from /home/talex/Projects/Edit/Edit.xml>
DEBUG:root:Initialising new interface object for /home/talex/Projects/Edit/Edit.xml
DEBUG:root:Loading local interface file '/home/talex/Projects/Edit/Edit.xml'
DEBUG:root:get_best_implementation(<Interface http://rox.sourceforge.net/2005/interfaces/Edit>),
	with feeds: [<Feed from /home/talex/Projects/Edit/Edit.xml>]
DEBUG:root:Will use implementation /home/talex/Projects (version 2.0.0)
DEBUG:root:Considering dependency <Dependency on http://rox.sourceforge.net/2005/interfaces/ROX-Lib;
	bindings: 1 [<environ PYTHONPATH += ROX-Lib2/python>]>
DEBUG:root:Initialising new interface object for http://rox.sourceforge.net/2005/interfaces/ROX-Lib
DEBUG:root:Loading cached information for <Interface http://rox.sourceforge.net/2005/interfaces/ROX-Lib>
	from /home/talex/.cache/0install.net/interfaces/http%3a%2f%2frox.sourceforge.net%2f2005%2finterfaces%2fROX-Lib
DEBUG:root:Staleness for <Interface http://rox.sourceforge.net/2005/interfaces/ROX-Lib> is 20.95 hours
DEBUG:root:Processing feed <Feed from /home/talex/Projects/ROX-Lib2/ROX-Lib.xml>
DEBUG:root:Initialising new interface object for /home/talex/Projects/ROX-Lib2/ROX-Lib.xml
DEBUG:root:Loading local interface file '/home/talex/Projects/ROX-Lib2/ROX-Lib.xml'
DEBUG:root:get_best_implementation(<Interface http://rox.sourceforge.net/2005/interfaces/ROX-Lib>),
	with feeds: [<Feed from /home/talex/Projects/ROX-Lib2/ROX-Lib.xml>]
DEBUG:root:Will use implementation /home/talex/Projects (version 2.0.2.0)
DEBUG:root:Staleness for <Interface http://rox.sourceforge.net/2005/interfaces/Edit> is 120.23 hours
DEBUG:root:Staleness for <Interface http://rox.sourceforge.net/2005/interfaces/ROX-Lib> is 20.95 hours
INFO:root:PYTHONPATH=/home/talex/Projects/ROX-Lib2/python:/home/talex/Projects/ROX-Lib2/python
INFO:root:Executing: /home/talex/Projects/Edit/AppRun

In the example above, the injector ends up using my local CVS copies of both Edit and ROX-Lib. Here are some known problems, and their solutions:

If you get other download errors, try fetching the failing URL using wget, e.g.:

$ 0launch http://...
Error downloading 'http://osdn.dl.sourceforge.net/sourceforge/zero-install/injector-gui-0.16.tgz':
HTTP Error 403: Forbidden: header 'Content-Type' value denied
$ wget http://...

If wget also fails, try opening the URL in your web browser. If one of these works, but 0launch doesn't, it may be that you are using an HTTP proxy. Your web browser is configured to use it, but your http_proxy environment variable is not set. Check your browser configuration and ensure that http_proxy is set correctly, e.g.:

$ export http_proxy=http://myproxy.server:444
$ 0launch http://...

If you still have problems, please write to the mailing list, and send the output of the commands above.