X11 package puts path to X libraries in ld-options rather than library-dirs, so ghci can't find it
The configure script for the X11 package puts the detected library path in a -L option in the ld-options field of the package.conf file. Instead, it should go into the library-dirs field.
On systems where X11 is not on the default path (such as Mac OS X), this means that the X11 package works only when compiling code, not from ghci, which only looks at the library-dirs field.
Workaround: On Mac OS X, people have to set DYLD_LIBRARY_PATH=/usr/X11R6/lib before running GHCi.