From Pexels Castorly Stock
So I’ve been continuing to work with nix
. It’s been quite an experience.
So my “hobby” project is fine. However, for teaching purposes, I wanted to do something configuration management related and settled on renv
in R. This isn’t necessarily because I think it’s the best way of doing things, but given the set up available on campus PCs it’s the only thing I think I can do. The problem is the clash between nix
and renv
.
I’ve had to add a number of headers that are needed by the packages renv
is trying to install. All this would be automatic if I only used one system or the other.
export LD_LIBRARY_PATH="${pkgs.libxml2.out}/lib:${pkgs.postgresql.lib}/lib:${pkgs.glpk}/lib:${pkgs.icu.out}/lib:${pkgs.curl.out}/lib:${pkgs.fontconfig.out}/lib:${pkgs.freetype.out}/lib:${pkgs.harfbuzz.out}/lib:${pkgs.libtiff.out}/lib:${pkgs.libpng.out}/lib:${pkgs.libjpeg.out}/lib:${pkgs.zlib.out}/lib:${pkgs.fribidi.out}/lib"
I still need to find out more about nix-flakes
and also overlays
. However, the fun and games I had is that because I was tracking R-4.4.0
I was looking at some old headers. This meant, for example, that (amongst other problems) I had this message to deal with ssh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /nix/store/.../libcrypto.so.3)
The solution to this was to force the nix shell to use the host openssl
. That means some alterations in the default.nix
file, but at some stage I might have to use alias ssh="/usr/bin/env -i SSH_AUTH_SOCK=$SSH_AUTH_SOCK /usr/bin/ssh"
so that I am using host ssh
when I’m in nix
. This doesn’t feel too good, but
(a) I’m still on a learning curve and (b) Hopefully there will be some tidying up (and rediscovery) as the Uni PCs will be getting upgraded over the summer.
Use the share button below if you liked it.
It makes me smile, when I see it.