如何让我的 Ubuntu 从给定的来源中查找图书馆

How can I make my Ubuntu look for a library from a given source

我正在尝试编译 scilab(是的,我的任务是编译它而不是使用 apt-get)但是在解决了一些问题之后我得到了以下问题:

checking minimal version (Specification-Version 2.2) of jogl2... configure: error: Wrong version of jogl2. Expected at least 2.2. Found 2.1

2.1 似乎是最新的 apt-get 产品,所以我从 http://jogamp.org/deployment/jogamp-current/archive/jogamp-all-platforms.7z 下载了最新版本并成功编译了它(sudo ant junit.run returns 成功的单元测试)但是当我回到 scilab 时,它仍然找到 2.1 版本的 jogl。我怎样才能让它找到我编译的较新的?

我刚刚在 Scilab 上遇到了同样的问题,我正在尝试从 https://github.com/opencollab/scilab/blob/master 构建它。

问题是文件 scilab/configure 查找名为“jogl2*”的 jar,但是最新版本的 jogl 不再使用该 jar 名称。

所以最终 Scilab 不会使用 jogl 2.2 构建,但具有讽刺意味的是配置文件需要它。如果我找到解决方法,我会及时通知你。

编辑: Scilab 确实使用 jogl 2.2 构建,而不是使用我们都尝试过的最新版本 jogl 2.3。 Jogl 2.3 重组包名称。

如果您获得 jogl 2.2.4 http://jogamp.org/deployment/v2.2.4/jar/,请在 /usr/share/java 中安装 jar。要回答您原来的问题,Ubuntu 上的 Java 会先看那里。

但是,您仍然需要进行一次修改才能使 scilabs 配置脚本正常工作。将 /usr/share/java/jogl-all.jar 重命名为 /usr/share/java/jogl2.jar

gouessej 的评论是正确的,有人可能会修改 Scilab 以使用最新的 jogl。当他们这样做时,他们可能想解决隐藏在配置脚本中的包管理逻辑,并将其移动到 Maven 之类的东西。