return -1 on error, with error string from gai_strerror()