Mostly likely, libpardiso isn't linked to libgomp. Check with ldd, and try
dlopen'ing libgomp first. If this is the version of Pardiso from MKL, then
it's probably using libiomp instead.
A Pardiso wrapper package would be quite useful, though it's a pretty messy
situation since Intel MKL includes an implementation of Pardiso that uses
an older incompatible API. Based on availability and licensing, I suspect
the MKL version of Pardiso would be more widely usable.
On Tuesday, May 12, 2015 at 2:07:53 AM UTC-7, Kristoffer Carlsson wrote:
>
> Hello everyone,
>
> I am trying to call the Pardiso library (sparse solver library) in the
> following way:
>
> julia> l = Libdl.dlopen("libparadiso", Libdl.RTLD_GLOBAL)
> Ptr{Void} @0x00000000014e9510
>
> julia> init = Libdl.dlsym(l, "pardisoinit")
> Ptr{Void} @0x00007f920f989f50
>
> julia> pt = [0]
>
> julia> dparm = zeros(64)
>
> julia> err = [0]
>
> julia> ccall(init, Void, (Ptr{Int}, Ptr{Int}, Ptr{Int}, Ptr{Float64},
> Ptr{Int}) , pt, &1, &0, dparm, err)
>
> julia: symbol lookup error: /usr/lib/libparadiso.so: undefined symbol:
> omp_get_wtime_
>
> and then julia crashes.
>
> Can anyone tell me how I get the openmp symbols into julia or what I have
> to do to fix the problem.
>
> Or even better if someone knows of an already existing Pardiso wrapper for
> julia.
>
> Best regards,
>
> Kristoffer
>