IOError: Port 8080 not free on '0.0.0.0'
is raised only if an attempt to connect to that port on localhost succeeds. Run this code:
Code:
calibre-debug -c "import socket; s = socket.socket(socket.AF_INET); s.settimeout(10.0); s.connect(('127.0.0.1', 8080)); s.close(); print 'Something is listening on 127.0.0.1:8080'"
If you dont have anything listening on port 8080 on localhost, that must return a Connection refused error.
EDIT: Changed the command to print out a message when something accepts the connection