id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
1883	"GHC can't find library using ""short"" name"	m4dc4p		"I wanted to build HDBC-postgresql 1.0.1[1] today, and ran into a problem where my test program would not load and instead gave this error:

{{{
  can't load .so/.DLL for: pq (addDLL: unknown error)
}}}

I traced this to the 'extra-libraries' directive in the .cabal file. It read

{{{
Extra-Libraries: pq
}}}

When I changed it to 

{{{
Extra-Libraries: libpq
}}}

The error went away. Somehow ""pq"" is not enough to get ""libpq.dll"" loaded. 

Note that building on Windows required some other changes.[2] 

This was using Cabal 1.1

[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC-postgresql-1.0.1.0

[2] From http://software.complete.org/hdbc/wiki/FrequentlyAskedQuestions

To build on Windows, you must specify where the postgresql include and library files are. Follow these two steps:

   1. Ensure the files are NOT installed in a directory with spaces in the name (e.g. ""C:\Program Files""). For example, install them in c:\pgsql.
   2. Assuming postgresql is installed in C:\pgsql, add the following information to the .cabal file:
{{{
      include-dirs: C:\pgsql\include, C:\pgsql\include\server, .
      extra-lib-dirs: C:\pgsql\bin
}}}
      Notice the ""."" at the end of include-dirs to ensure the current directory is also searched. Also notice ""bin"" directory is specified in ""extra-lib-dirs."" This is important in the next step.
   3. HDBC-postgresl depends on ""libpa.dll"" in the bin directory above. The .cabal file refers to the ""pq"", but that doesn't work on Windows. Change it to libpq like so:

      Extra-Libraries: libpq
"	bug	new	lowest	7.6.2	Compiler	6.6.1		link library windows		Windows	x86	None/Unknown	Unknown		3658		#2283 #3242 #1883 #7097
