#java #clojure #processing #nix
Вопрос:
У меня есть проект Clojure, использующий обработку с помощью Quil. Это настраивается с помощью deps.edn
:
{:deps {org.clojure/clojure {:mvn/version "1.9.0"}
quil/quil {:mvn/version "3.1.0"}
thi.ng/geom {:mvn/version "1.0.0-RC3"
:exclusions [org.jogamp.jogl/jogl-all
org.jogamp.gluegen/gluegen-rt]}}}
Я хочу настроить direnv
via nix, для которого я создал следующие два файла:
# .envrc
eval "$(lorri direnv)"
И shell.nix
это выглядит так:
# shell.nix
{ pkgs ? import <nixpkgs> { }, lib ? pkgs.stdenv.lib }:
pkgs.mkShell rec {
name = "quil-env";
buildInputs = with pkgs; [
xorg_sys_opengl
];
LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}";
}
При использовании рендерера P2D и P3D и выполнении эскиза я получаю такую ошибку:
CompilerException java.lang.UnsatisfiedLinkError: /tmp/jogamp_0000/file_cache/jln88726915367994911/jln327096340966828580/natives/linux-amd64/libnativewindow_awt.so: libXxf86vm.so.1: cannot open shared object file: No such file or directory, compiling:(sixteen.clj:58:1)
Там есть libXxf86vm.so.1
вход $LD_LIBRARY_PATH
. Что мне нужно сделать, чтобы его подхватила Java?