The log shows lines that say "Skipping completed" so this was not a clean attempt. Run "sudo port clean libiconv", then try again, and attach the new main.log if it fails again.
The other error you mentioned, "no destroot found", sounds like #29223, which is also caused by not cleaning before trying again.
As for the "tar: Failed to set default locale" error, that of course shouldn't be happening; I haven't seen that error befor. That suggests something is unusual about your tar command. What's the output of "tar --version"?