- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 WSL Ubuntu 20.04 全新安装中安装 Pylucene。我试着按照 the official page but it looks outdated 上的教程进行操作.所以我想知道这里是否有人设法让它在 Ubuntu 20.04 和 python 3.8.2 上运行
我运行的命令:
sudo apt-get upgrade
sudo apt-get install -y default-jdk ant build-essential python3-dev
mkdir pylucene
cd pylucene
curl https://downloads.apache.org/lucene/pylucene/pylucene-8.3.0-src.tar.gz | tar -xz --strip-components=1
cd jcc
export JCC_JDK=/usr/lib/jvm/default-java
python3 setup.py build
^^^^^此处失败:
...
building 'jcc3' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D_jcc_lib -DJCC_VER="3.7" -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I_jcc3 -Ijcc3/sources -I/usr/include/python3.8 -c jcc3/sources/jcc.cpp -o build/temp.linux-x86_64-3.8/jcc3/sources/jcc.o -DPYTHON -fno-strict-aliasing -Wno-write-strings
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -D_jcc_lib -DJCC_VER="3.7" -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -I_jcc3 -Ijcc3/sources -I/usr/include/python3.8 -c jcc3/sources/JCCEnv.cpp -o build/temp.linux-x86_64-3.8/jcc3/sources/JCCEnv.o -DPYTHON -fno-strict-aliasing -Wno-write-strings
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/jcc3/sources/jcc.o build/temp.linux-x86_64-3.8/jcc3/sources/JCCEnv.o -o build/lib.linux-x86_64-3.8/libjcc3.so -L/usr/lib/jvm/default-java/jre/lib/amd64 -ljava -L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm -Wl,-rpath=/usr/lib/jvm/default-java/jre/lib/amd64:/usr/lib/jvm/default-java/jre/lib/amd64/server -Wl,-S
/usr/bin/ld: cannot find -ljava
/usr/bin/ld: cannot find -ljvm
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-g++' failed with exit status 1
我计划之后运行的命令:
sudo python3 --preserve-env=JCC_JDK setup.py install
cd ..
make
make test
sudo make install
最佳答案
以下是导致在 Ubuntu 18.04 上成功安装 pylucene 的步骤 - 这可能对您有用:
安装 openjdk-8:apt 安装 openjdk-8-jre openjdk-8-jdk openjdk-8-doc
如果您没有运行 apt install ant
,请确保您已经安装了 ant。请注意,如果您安装了不同版本的 openjdk,则需要将其删除或运行 update-alternatives
以便使用 1.8.0 版本。
使用 java -version
安装 openjdk-8 后创建一个符号链接(symbolic link)(稍后您将需要它):
cd /usr/lib/jvm
ln -s java-8-openjdk-amd64 java-8-oracle
安装 python-dev:sudo apt install python-dev
在我的例子中,Python 3 没有工作,所以我最终使用了 Python 2。但这可能不是问题的真正原因,所以欢迎您尝试 Python 3。如果您使用 Python 3,请使用 python3
而不是下面命令中的 python
。
安装 JCC(在您的 pylucene 文件夹的 jcc 子文件夹中):
python setup.py build
python setup.py install
您在第 3 步中创建的符号链接(symbolic link)在这里会有所帮助,因为此路径已硬编码到 setup.py 中 - 您可以检查一下。
PREFIX_PYTHON=/usr
ANT=ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=10
然后运行
make
make test
sudo make install
--shared
。关于java - 如何在 ubuntu 20.04 上构建和安装 pylucene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63452974/
我是一名优秀的程序员,十分优秀!