#1883: GHC can't find library using "short" name
----------------------+-----------------------------------------------------
 Reporter:  m4dc4p    |          Owner:                      
     Type:  bug       |         Status:  new                 
 Priority:  normal    |      Milestone:                      
Component:  Compiler  |        Version:  6.6.1               
 Severity:  normal    |       Keywords:  link library windows
 Testcase:            |   Architecture:  x86                 
       Os:  Windows   |  
----------------------+-----------------------------------------------------
 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

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1883>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to