Hello,
I am trying to use the parallel processing capabilities of julia in the
following way.
I have two machine m1, m2 with the following characteristics:
- They do not share a file system.
- User names are different
- Julia and packages are installed in different locations.
I connect m1 and m2 using master_slave topology, i.e. from m1 I run:
addprocs( [("m1", 1)], tunnel=true, topology=:master_slave, dir=<...>,
exename=<...> )
Now, I have some data in an HDF5 file that I would like to load on m2.
HDF5 is installed on both machines and works when imported from the
respective REPLs.
But when I run
addprocs( as above )
import HDF5
I get the following output:
julia> workers()
1-element Array{Int64,1}:
2
julia> import HDF5
ERROR: On worker 2:
InitError: error compiling __init__: could not load library "*<Pkg Dir on
m1>*/julia/v0.4/Blosc/src/../deps/libblosc"
/home/90days/ko/julia/v0.4/Blosc/src/../deps/libblosc: cannot open shared
object file: No such file or directory
It seems that m2 is somehow using the configuration of m1.
However, if I check Pkg.dir() on m2, it returns the correct Pkg directory.
julia> d = @spawnat 2 Pkg.dir()
RemoteRef{Channel{Any}}(2,1,4)
julia> fetch(d)
"$HOME/.julia/v0.4"
Does anyone have an idea how to debug whats going on?
Thanks!