安装斯坦福解析器的Python接口时出错:命令'gcc'以退出状态1失败,rake中止
我想安装斯坦福解析器的Python接口。
http://projects.csail.mit.edu/spatial/Stanford_Parser
当我运行rake setup来先安装jpype时,我总是遇到这个问题:
In file included from src/native/common/jp_reference.cpp:1:0:
src/native/common/include/jpype.h:45:17: schwerwiegender Fehler: jni.h: Datei oder Verzeichnis nicht gefunden
Kompilierung beendet.
error: command 'gcc' failed with exit status 1
rake aborted!
错误信息是英德混合的。它说:严重错误:jni.h:找不到文件或目录。
当我尝试安装斯坦福解析器本身时,也出现了同样的问题。
是的,我的系统上已经安装了python-dev。我正在使用Ubuntu和python2.7。
2 个回答
1
jni.h 是 Java本地接口 的一个头文件,所以你需要确保你的电脑上安装了Java。在Ubuntu系统上,有一个叫做 openjdk-6-jdk
的软件包,我确认这个软件包里包含了所需的文件。
2
错误信息显示你缺少 jni.h
文件。你可以去 http://packages.ubuntu.com 这个网站,用搜索工具找出哪个软件包提供了这个缺失的文件:
对于最新版本的Ubuntu,Quantal (12.10),以下这些软件包提供了 jni.h 文件:
File Packages
/usr/lib/gcc-snapshot/lib/gcc/i686-linux-gnu/4.8.0/include/jni.h gcc-snapshot
/usr/lib/gcc/i686-linux-gnu/4.6/include/jni.h gcj-4.6-jdk
/usr/lib/gcc/i686-linux-gnu/4.7/include/jni.h gcj-4.7-jdk
/usr/lib/jvm/java-1.5.0-gcj-4.6/include/jni.h gcj-4.6-jdk
/usr/lib/jvm/java-1.5.0-gcj-4.7/include/jni.h gcj-4.7-jdk
/usr/lib/jvm/java-1.5.0-gcj-4.8-snap/include/jni.h gcc-snapshot
/usr/lib/jvm/java-6-openjdk-i386/include/jni.h openjdk-6-jdk
/usr/lib/jvm/java-7-openjdk-i386/include/jni.h openjdk-7-jdk
你可以选择 openjdk 或者 gcj;这个页面可以帮助你理解它们之间的区别。