I have the same issue. Is there any solution for this problem?
I had the same issue and have come up with a workaround.
I first changed the path under Avatar Settings to be “/public_html/avatars” and this allowed me to upload the file. Having looked at the code I think it was allowed because the directory “/home/username/public_html/avatars” did exist.
The avatar failed to display anything (not even the default avatar), presumably because it assumed the path to my avatar was http://mysite.com/public_html/avatars/myavatar.png
The problem for me was that the function avatar_root() in avatars.php was returning /home/username but my site was found under /home/username/public_html. I’m not sure if this is a limitation/bug of the function itself or something to do with the strange setup of my web host.
I changed the line:
$root = avatar_root();
to:
$root = avatar_root() . "/public_html";
I also changed back the path under Avatar Settings to “/avatars”.
PS This is a hacky workaround and is not recommended.