Re: [Haskell-cafe] Ghci dynamic linking (Was: C++ libraries and GHCI)

(Moving to ghc-users)
I'd never seen V in nm output before:
"""
The symbol is a weak object. When a weak defined symbol is linked
with a normal defined symbol, the normal defined symbol is used with
no error. When a weak undefined symbol is linked and the symbol is
not defined, the value of the weak symbol becomes zero with no error.
On some systems, uppercase indicates that a default value has been
specified.
""""
Perhaps support needs to be added for this symbol type to the GHCi
dynamic linker? (It would work in compiled programs b/c we call down
to the system static linker in that case).
Cheers,
Max
2009/9/29 Paolo Losi
Hi all,
I would really appreciate if anyone could give a look to the following problem.
Thanks in advance!!! Paolo
---------- Forwarded message ---------- From: Paolo Losi
Date: Mon, Sep 14, 2009 at 10:33 AM Subject: C++ libraries and GHCI To: glasgow-haskell-users@haskell.org Hi all,
I'm working on a tentative implementation of haskell binding to libsvm [1]:
http://hackage.haskell.org/package/HSvm
The package includes libsvm C++ sources. While it works perfectly with ghc --make (try to install the package and compile http://bitbucket.org/pao/hsvm/raw/6cf7ca91f1e5/test/test.hs), it fails with ghci:
(hsvm)(env)paolo@moltrasio:~/trash$ ghci test.hs GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help Loading package ghc-prim ... linking ... done. Loading package integer ... linking ... done. Loading package base ... linking ... done. Ok, modules loaded: Main. Prelude Main> main Loading package syb ... linking ... done. Loading package array-0.2.0.0 ... linking ... done. Loading package containers-0.2.0.1 ... linking ... done. Loading package HSvm-0.1.0.2.89 ... linking ... <interactive>: /home/paolo/trash/hsvm/lib/HSvm-0.1.0.2.89/ghc-6.10.4/HSHSvm-0.1.0.2.89.o: unknown symbol `_ZTV6Kernel' ghc: unable to load package `HSvm-0.1.0.2.89'
Please note that the symbol is available in libHSHSvm-0.1.0.2.89.a
$ nm HSHSvm-0.1.0.2.89.o |grep _ZTV6Kernel 00000000 V _ZTV6Kernel $ nm libHSHSvm-0.1.0.2.89.a |grep _ZTV6Kernel 00000000 V _ZTV6Kernel
Can anyone give a look to the problem?
Thanks Paolo
[1] http://www.csie.ntu.edu.tw/~cjlin/libsvm/
-- Paolo Losi e-mail: paolo@enuan.com mob: +39 348 7705261
ENUAN Srl Via XX Settembre, 12 - 29100 Piacenza _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Thanks for the reply, Max.
If it's not something overly complex, I'll try to hack ghc
to see if I can produce a working patch...
probably that symbol type can be safely ignored by
ghci linker.
Thanks again for your help
Paolo
On Wed, Sep 30, 2009 at 2:29 PM, Max Bolingbroke
(Moving to ghc-users)
I'd never seen V in nm output before:
""" The symbol is a weak object. When a weak defined symbol is linked with a normal defined symbol, the normal defined symbol is used with no error. When a weak undefined symbol is linked and the symbol is not defined, the value of the weak symbol becomes zero with no error. On some systems, uppercase indicates that a default value has been specified. """"
participants (2)
-
Max Bolingbroke
-
Paolo Losi