First, there's the issue with linking against libiconv, which is solved this
way:
cabal install --extra-lib-dirs=/usr/lib
That leaves a whole mess of link errors against libHSreadline:
Yes, because now it's finding the system readline, which isn't actually readline (Apple ships a "readline" which is actually BSD "editline", so you get missing symbols for things editline doesn't support such as completion). I think you'll need to temporarily deactivate MacPorts' iconv instead of using --extra-lib-dirs.
This can't really be fixed by either GHC or MacPorts; there doesn't seem to be a good solution as yet, although the MacPorts folks may end up implementing a hacky solution because Apple has introduced *another* MacPorts-breaking library conflict in Lion (libnotify).
--