adduser -p "`mkpasswd passwordhere`" username
I agree with twantrd on that but, if you still want to use the mkpasswd command...
You might ask yourself "Why am I using a command to generate a password and still trying to put one in manually ... ( mkpasswd passwordhere ) ????
This is the command that works for me.
(adduser fred ; mkpasswd fred)
(adduser fred ; mkpasswd -p passwd fred)
# note: passwd is a command, not a password