[Nix-dev] Using Nix with external (but 'pure') dependencies

Ben Darwin bcdarwin at gmail.com
Wed Jan 14 18:17:41 CET 2015


Luca Bruno lethalman88 at gmail.com
Wed Jan 14 18:03:24 CET 2015

On 14/01/2015 17:59, Ben Darwin wrote:
> Hello,
>
> I am new to Nix and am considering it for the following use case and
> wonder if it would work,
> and, if so, how best to implement it:
>
> We run processing pipelines on two compute clusters.  We control one
> of these, but on the other
> we use optimized system-wide libraries (e.g., BLAS and LAPACK compiled
> with Intel compilers).
> The cluster admins install multiple versions of each in fixed
> directories and use module(1)
> (http://linux.die.net/man/1/module) to allow users to set the appropriate paths.
>
> On both clusters, we use various makefiles/shell scripts to install
> multiple versions of our own
> software.  We'd like to replace this with Nix expressions for
> robustness/reproducibility, but I wonder
> whether this makes sense given the need to set some fixed paths rather
> than installing the
> software from scratch.  (Obviously the Nix expressions for the
> cluster's libraries wouldn't be usable
> anywhere else, but ideally would supply derivations for cc, blas,
> etc., that we could pass to our own
> expressions.)
You can't recompile those BLAS and LAPACK with the intel compiler using nix?

In principle yes, but (a) wouldn't we encounter the same problem
writing a Nix expression for icc, since it's only available to us as
a binary on the system? (b) we'd need to find out the various
optimization flags enabled on this particular system from the admins,
who might frown on this project, and as a new user it's not clear whether
the existing exprs for these libraries allow this configuration (or even use
of non-gcc compilers).


More information about the nix-dev mailing list