For future reference for anyone who encounters this problem, you must first 
add the workers and then dlopen the library with an @everywhere before it:

using ClusterManagers
addprocs_sge(10)
@everywhere dlopen("/home/me/project/gsl/.libs/libgsl.so.0")


And it should be ok. Good luck!


On Thursday, 23 July 2015 12:55:16 UTC-4, benFranklin wrote:
>
> Hi all, 
>
> I was wondering if anyone could help. I'm running some code that calls the 
> same C function (using ccall) over and over on different inputs using pmap. 
> Launching julia -p N and running the code works great. I've been trying to 
> use ClusterManagers to get access to more workers, but now the same code 
> doesn't work, as it can't find the GSL library my C function uses. The path 
> to GSL is in my LD_LIBRARY_PATH:
>
> exception on 6: ERROR: error compiling findPolicyCPrices: could not load 
> module /home/me/project/findP.so: libgsl.so.0: cannot open shared object 
> file: No such file or directory
>
> I've checked that both times the code has the same working directory:
>
> julia> remotecall_fetch(3,run,`pwd`)
> From worker 3: /home/me/project
>
> It seems that the problem is that my worker instances don't know where the 
> GSL shared library is located. I've tried adding a dlopen before calling 
> the cluster manager:
>
> dlopen("/home/me/project/gsl/.libs/libgsl.so.0")
> using ClusterManagers
> ....
>
> And the same error happens. Adding it to worker's paths: run(`export 
> LD_LIBRARY_PATH=...`) does not work either, can't find the variable.
>
> julia> run(`export 
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/me/project/gsl/.libs`)
> ERROR: LD_LIBRARY_PATH not defined
>
>
> Can anyone suggest what to do?
>
> Best?
> Ben F
>

Reply via email to