15

我在 ubuntu 13.10 上运行 gradle 时遇到问题,我认为这是问题的根源。

gradle使用以下命令安装

sudo apt-get install gradle

运行命令时出现错误gradle -version

gradle -version

/usr/lib/jvm/default-java/bin/java: symbol lookup error: /usr/lib/jni/libnative-platform-curses.so: undefined symbol: tgetent

我正在使用java版本:

java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

我不确定还能做什么。我尝试了不同版本的java,但无济于事。

4

4 回答 4

11

我已经为 libnative-platform-jni 的 Makefile 提供了补丁。

sudo apt-get build-dep libnative-platform-java
apt-get source libnative-platform-java
cd libnative-platform-java-0.3~rc2/

应用此补丁:

--- Makefile.orig   2013-11-20 10:42:54.599476939 -0800
+++ Makefile    2013-11-20 10:43:04.879476606 -0800
@@ -28,7 +28,7 @@
  $(CXX) $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -o $@ $^

 $(ODIR)/libnative-platform-curses.so: $(OBJ_CURSES)
-   $(CXX) $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -lcurses -shared -o $@ $^
+   $(CXX) $(CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -o $@ $^ -lcurses

 $(JCLASSESDIR)/%.class: javafiles-list
  mkdir -p $(JCLASSESDIR)

跑:

dpkg-source --commit
dpkg-buildpackage
cd ..
sudo dpkg -i libnative-platform-jni_0.3~rc2-2_amd64.deb

测试

gradle -v

在这里查看我的评论:https ://bugs.launchpad.net/ubuntu/+source/gradle/+bug/1238322/comments/4

更新:您可能想在这里查看 ppa https://launchpad.net/~cwchien/+archive/gradle,因为 gradle 1.4 已经很老了。

于 2013-11-20T18:48:34.360 回答
3

我在 Ubuntu 13.10 上遇到了同样的问题。由于现在 14.04 已经发布,您可能会考虑升级:Gradle 在Ubuntu 14.04上完美运行。但是,我建议从gradle 网站下载 gradle,因为官方 repos 仍然只有 gradle 1.4

于 2014-05-09T18:57:46.793 回答
3

/home/stens/src/jvm/java-1.8.0-openjdk-amd64/bin/java:符号查找错误:/usr/lib/jni/libnative-platform-curses.so:未定义符号:tgetent

这是我发现的最简单的解决方法...在此处下载 deb

https://packages.debian.org/sid/amd64/libnative-platform-jni/download

然后使用安装

sudo dpkg -i libnative-platform-jni_0.11-5_amd64.deb 

现在 gradle 工作...... Ubuntu 17.10

于 2017-11-19T22:09:12.530 回答
1

我能够通过 Vidya 的建议解决上述问题,手动将 gradle 添加到系统中允许 gradle 正确工作。

于 2013-10-22T18:27:47.590 回答