Below is some sample output from a failing package:
ps168825:~/playground$ cabal install network
Resolving dependencies...
Configuring network-2.4.1.2...
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/tmp/network-2.4.1.2-28534/network-2.4.1.2':
configure: error: cannot run C compiled programs.
"cabal install" unpacks a package into /tmp in order to build it. My guess is your OS has /tmp mounted noexec. I don't know offhand how you override this in cabal.
--