微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nix:修复 JOGL 的动态库路径处理

如何解决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 举报,一经查实,本站将立刻删除。