Public bug reported:
Binary package hint: libghc6-haskelldb-dev
I've installed the GHC6, HSQL and HaskellDB Ubuntu-packages. I wrote a
little test program (DBTest.hs) which is meant to simply dump the list
of tables in a test database that I have. But, whether I try to run this
program interactively or compile it, I get linker errors. My guess is
that something about the installation of the HaskellDB Haskell-package
means it isn't aware that it needs to link against the database-specific
HSQL Haskell-packages, since the symbols that it is unable to find are
certainly present in the HSQL libraries. It could be that the HaskellDB
Ubuntu-package hasn't been updated since HSQL was split into several
Haskell-packages. The symptoms are as follows:
$ dpkg --list "libghc6-h*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version
Description
+++-=======================================-=======================================-==============================================================================================
un libghc6-haskell-src-dev <none>
(no description available)
un libghc6-haskell98-dev <none>
(no description available)
ii libghc6-haskelldb-dev 0.9.cvs.601-8ubuntu3
Haskell library for expressing database queries
un libghc6-hgl-dev <none>
(no description available)
ii libghc6-hsql-dev 1.6-5ubuntu4
Multi-Database Interface System for Haskell
ii libghc6-hsql-mysql-dev 1.6-5ubuntu4
Multi-Database Interface System for Haskell
ii libghc6-hsql-odbc-dev 1.6-5ubuntu4
Multi-Database Interface System for Haskell
ii libghc6-hsql-postgresql-dev 1.6-5ubuntu4
Multi-Database Interface System for Haskell
pn libghc6-hsql-sqlite-dev <none>
(no description available)
un libghc6-hsql-sqlite3-dev <none>
(no description available)
un libghc6-hunit-dev <none>
(no description available)
$ ghc-pkg list
/usr/lib/ghc-6.4.1/package.conf:
rts-1.0, base-1.0, haskell98-1.0, template-haskell-1.0, unix-1.0,
Cabal-1.0, parsec-1.0, haskell-src-1.0, network-1.0,
QuickCheck-1.0, HUnit-1.1, mtl-1.0, fgl-5.2, X11-1.1, HGL-3.1,
stm-1.0, readline-1.0, (lang-1.0), (concurrent-1.0), (posix-1.0),
(util-1.0), (data-1.0), (text-1.0), (net-1.0), (hssource-1.0),
hsql-1.6, hsql-mysql-1.6, hsql-odbc-1.6, hsql-postgresql-1.6,
haskelldb-0.9
$ cat DBTest.hs
module Main where
import Database.HaskellDB
import Database.HaskellDB.HSQL.MySQL
opts = MySQLOptions { server="localhost", db="mydatabase", uid="myuser",
pwd="mypassword" }
main' db = do
tbls <- tables db
mapM_ putStrLn tbls
main :: IO ()
main = mysqlConnect opts main'
$ ghci
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base-1.0 ... linking ... done.
Prelude> :l DBTest.hs
Skipping Main ( DBTest.hs, DBTest.o )
Ok, modules loaded: Main.
Prelude Main> main
Loading package hsql-1.6 ... linking ... done.
Loading package haskelldb-0.9 ... linking ... <interactive>:
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/HShaskelldb-0.9.o: unknown
symbol `DatabaseziHSQLziODBC_connect_closure'ghc-6.4.1: unable to load package
`haskelldb-0.9'
$ ghc --make DBTest.hs
Chasing modules from: DBTest.hs
Skipping Main ( DBTest.hs, DBTest.o )
Linking ...
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/libHShaskelldb-0.9.a(MySQL.o):(.text+0x13f):
undefined reference to `DatabaseziHSQLziMySQL_connect_closure'
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/libHShaskelldb-0.9.a(MySQL.o):
In function `__stginit_DatabaseziHaskellDBziHSQLziMySQL_': undefined reference
to `__stginit_DatabaseziHSQLziMySQL_'
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/libHShaskelldb-0.9.a(MySQL.o):(.rodata+0x40):
undefined reference to `DatabaseziHSQLziMySQL_connect_closure'
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/libHShaskelldb-0.9.a(MySQL.o):(.rodata+0x48):
undefined reference to `DatabaseziHSQLziMySQL_connect_closure'
/usr/lib/haskell-packages/ghc6/lib/haskelldb-0.9/libHShaskelldb-0.9.a(MySQL.o):(.rodata+0x54):
undefined reference to `DatabaseziHSQLziMySQL_connect_closure'
collect2: ld returned 1 exit status
** Affects: haskelldb (Ubuntu)
Importance: Undecided
Status: Unconfirmed
** Tags: dapper haskell
--
Linker errors when using HaskellDB on HSQL
https://bugs.launchpad.net/bugs/103264
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs