A system administrator is trying to install our Nemo package system wide on
a VM for his users.

He's located a ticket [1] which gave him the hint to put Nemo into ../
share/julia/site/v0.4 relative to the Julia binary, after Nemo has built
its dependencies.

The problem is, a few of Nemo's dependencies, (Flint and Pari) are shared
libraries that have their own dependencies. This means that when building
them we must set the rpath for those libraries so they know where to find
their dependencies.

Unfortunately, rpath must be either an absolute path or a path relative the
*binary*. We currently set it to an absolute path relative to
Pkg.dir("Nemo") at build time, i.e. relative to the Nemo package dir of the
sysadmin.

But neither of the rpath options is then the correct path for *any* user of
his system.

We would somehow have to determine whether Nemo was built by a sysadmin or
by a normal user to determine if the rpath was supposed to be set relative
to the Pkg.dir or relative to the Julia executable.

Does anyone see a robust workaround to this situation that doesn't require
the sysadmin to build Nemo with sudo (thousands of people use his VM, so
that's not an option for him).

Bill.

[1] https://github.com/JuliaLang/julia/pull/2550

Reply via email to