Dropbox recently stopped working on my Fedora 17 laptop. Launching it from the Activities menu didn't start the process, and running /usr/bin/dropbox resulted in the following error:
$ /usr/bin/dropbox start
Starting Dropbox...Traceback (most recent call last):
File "/usr/bin/dropbox", line 1360, in <module>
ret = main(sys.argv)
File "/usr/bin/dropbox", line 1349, in main
result = commands[argv[i]](argv[i+1:])
File "/usr/bin/dropbox", line 1220, in start
if not start_dropbox():
File "/usr/bin/dropbox", line 707, in start_dropbox
stderr=sys.stderr, stdout=f, close_fds=True)
File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
Solution: Deleting ~/.dropbox* causes dropbox to prompt to re-install, fixing the issue for me.
$ rm -rf ~/.dropbox*
$ /usr/bin/dropbox start
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon
$ /usr/bin/dropbox start -i
Starting Dropbox...Done!
You'll then be guided through the dropbox re-install and asked to merge with your current dropbox folder. Choose to merge.
Process: Google didn't help except show a bug or two filed against Ubuntu with this error. Errors in subprocess.py generally indicate a problem with the values being passed in, and looking at /usr/bin/dropbox it showed the following on line 702:
db_path = os.path.expanduser(u"~/.dropbox-dist/dropboxd").encode(sys.getfilesystemencoding())
Assuming this was the problem, and knowing that a dropbox re-install is easy, I deleted all dropbox directories in my home folder. I'm not subtle enough to delete only the ~/.dropbox-dist directory but I'll try that next time.