如何解决Nix:修复 JOGL 的动态库路径处理
我有一个通过 quil 使用 Processing 的 Clojure 项目。这是通过 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]}}}
我想通过 nix 设置一个 direnv
,为此我创建了以下两个文件:
# .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 接收?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。