I am experimenting with calling IBM's Watson Sparse Matrix Package (WSMP) 
from Julia.

This is not Open Source software.  It is shipped as a library.  The 
evaluation version is a static library but the author was kind enough to 
send me a dynamic library for Linux.

I was able to compile, link and run a standalone C program with the 
libwsmp64.so that I have.  But accessing the same symbol through ccall in 
Julia produces a segfault.  In fact a symbol lookup with give a segfault. 
 Using julia-debug from version

Version 0.3.0-rc2+62 (2014-08-08 11:49 UTC)
Commit 07b75b9 (0 days old master)
x86_64-pc-linux-gnu

I get

julia> const libwsmp = Pkg.dir("MixedModels","deps", "usr", "lib", 
"libwsmp.so")
"/home/bates/.julia/v0.3/MixedModels/deps/usr/lib/libwsmp.so"

julia> tt = dlsym_e(libwsmp,:wssmp_)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7de4912 in _dl_lookup_symbol_x (undef_name=0x7ffff7e511a8 
"wssmp_", 
    undef_map=0x61622f656d6f682f, ref=0x7fffffffc470, 
symbol_scope=0x61622f656d6f6bb7, version=0x0, 
    type_class=0, flags=2, skip_map=0x0) at dl-lookup.c:731
731     dl-lookup.c: No such file or directory.
(gdb) 

This is with my version of the shard library that contains linkage 
information to libgfortran, etc. but the same thing happens with the 
libwsmp64.so that the package author provided.

Suggestions?

Reply via email to