gpt4 book ai didi

java - 加载包 org.renjin.cran 时出现 IOException :rgeos: Could not resolve native method 'rgeos_Init' in package 'rgeos'

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:33 24 4
gpt4 key购买 nike

嗨,我是 R 语言和 renjin 的新手。在我的项目中,以下是添加的 Maven 依赖项。

<dependency>
<groupId>org.renjin.cran</groupId>
<artifactId>rgeos</artifactId>
<version>0.3-2-b24</version>
</dependency>

我已经添加了上面的依赖。我还尝试了不同的最新版本的 rgeos 依赖项。

我在代码中加载 rgeos 包:engine.eval("library(rgeos)");在 java 中加载此包时出现以下错误

org.renjin.eval.EvalException: IOException while loading package org.renjin.cran:rgeos: Could not resolve native method 'rgeos_Init' in package 'rgeos'
at org.renjin.primitives.packaging.NamespaceRegistry.tryLoad(NamespaceRegistry.java:215)
at org.renjin.primitives.packaging.NamespaceRegistry.tryGetNamespace(NamespaceRegistry.java:168)
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:130)
at org.renjin.primitives.packaging.NamespaceRegistry.getNamespace(NamespaceRegistry.java:98)
at org.renjin.primitives.packaging.Packages.library(Packages.java:40)
at org.renjin.primitives.R$primitive$library.doApply(R$primitive$library.java:73)
at org.renjin.primitives.R$primitive$library.apply(R$primitive$library.java:34)
at org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:45)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluate(Context.java:198)
at org.renjin.sexp.Closure.doApply(Closure.java:98)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:51)
at org.renjin.sexp.Closure.apply(Closure.java:83)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluateExpressionVector(Context.java:390)
at org.renjin.eval.Context.evaluate(Context.java:280)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:168)
at org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:127)
at com.nact.Test.main(Test.java:21)
Caused by: org.renjin.eval.EvalException: Could not resolve native method 'rgeos_Init' in package 'rgeos'
at org.renjin.primitives.Native.findMethodByName(Native.java:572)
at org.renjin.primitives.Native.findMethod(Native.java:545)
at org.renjin.primitives.Native.redotCall(Native.java:364)
at org.renjin.primitives.R$primitive$$Call.apply(R$primitive$$Call.java:62)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluate(Context.java:198)
at org.renjin.sexp.Closure.doApply(Closure.java:98)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:51)
at org.renjin.sexp.Closure.apply(Closure.java:83)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.sexp.Promise.doEval(Promise.java:92)
at org.renjin.sexp.Promise.force(Promise.java:86)
at org.renjin.eval.Context.evaluateSymbol(Context.java:345)
at org.renjin.eval.Context.evaluate(Context.java:278)
at org.renjin.sexp.Promise.doEval(Promise.java:92)
at org.renjin.sexp.Promise.force(Promise.java:86)
at org.renjin.eval.Context.evaluateSymbol(Context.java:345)
at org.renjin.eval.Context.evaluate(Context.java:278)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.invoke.codegen.ArgumentIterator.evalNext(ArgumentIterator.java:70)
at org.renjin.primitives.R$primitive$assign.apply(R$primitive$assign.java:30)
at org.renjin.primitives.special.InternalFunction.apply(InternalFunction.java:45)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluate(Context.java:198)
at org.renjin.sexp.Closure.doApply(Closure.java:98)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:51)
at org.renjin.sexp.Closure.apply(Closure.java:83)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluate(Context.java:198)
at org.renjin.sexp.Closure.doApply(Closure.java:98)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:51)
at org.renjin.sexp.Closure.apply(Closure.java:83)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.primitives.special.BeginFunction.apply(BeginFunction.java:38)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.eval.Context.evaluate(Context.java:198)
at org.renjin.sexp.Closure.doApply(Closure.java:98)
at org.renjin.eval.ClosureDispatcher.apply(ClosureDispatcher.java:80)
at org.renjin.eval.ClosureDispatcher.applyClosure(ClosureDispatcher.java:51)
at org.renjin.sexp.Closure.apply(Closure.java:83)
at org.renjin.eval.Context.evaluateCall(Context.java:407)
at org.renjin.eval.Context.evaluate(Context.java:282)
at org.renjin.eval.Context.evaluate(Context.java:264)
at org.renjin.primitives.packaging.NamespaceRegistry.tryLoad(NamespaceRegistry.java:198)
... 28 more

最佳答案

您可以在packages.renjin.org上检查包的状态。您可以在这里搜索您的软件包rgeos,它会告诉您rgeos package page .

在包裹页面上,您可以看到状态显示:

This package can be loaded by Renjin but there was an error compiling C/FORTRAN sources and all tests failed. An older version of this package is more compatible with Renjin.

如果您进一步向下滚动,您可以看到所有测试当前都失败。您可以单击“查看构建日志”或单击失败的测试之一来查看失败的确切原因。在这种情况下,由于与您遇到的相同原因,所有测试都失败。

从页面顶部的构建日志中,我发现构建进展不顺利,因为 ./configure 步骤不成功:

checking for /usr/bin/svnversion... no configure: error: geos-config not found or not executable. configure: svn revision: 560 checking for geos-config... no no [ERROR] Compilation of GNU R sources failed. org.renjin.gcc.InternalCompilerException: Failed to execute ./configure at org.renjin.packaging.NativeSourceBuilder.configure(NativeSourceBuilder.java:97)

这可能是由于缺少对我们的构建机器的依赖关系造成的。在这种情况下,您可以尝试在本地构建此包。单击左下角按钮“本地构建”,这将为您提供一个可以在终端上粘贴并运行的链接。在这种情况下:

curl http://packages.renjin.org/package/org.renjin.cran/rgeos/0.3-26/build/4/rebuild.sh | sh

您可以在“构建日志”部分下方看到此链接。

请告诉我们您是否可以在本地构建它。我们对处理包中使用的配置和制作文件提供一定程度的支持。但我们还不支持构建脚本中可以完成的所有操作,并且 rgeos 有相当广泛的 configure文件。

关于java - 加载包 org.renjin.cran 时出现 IOException :rgeos: Could not resolve native method 'rgeos_Init' in package 'rgeos' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48921464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com