我无法从tarball在Centos 7上本地构建JSVC
http://archive.apache.org/dist/commons/daemon/source/commons-daemon-1.0.15-src.tar.gz
tar -zxf commons-daemon-1.0.15-src.tar.gz
我在/usr/java/jdk1.8.0_351-amd64
位置安装了JRE:
我按照指示做:
cd /opt/install
wget http://archive.apache.org/dist/commons/daemon/source/commons-daemon-1.0.15-src.tar.gz
tar -zxf commons-daemon-1.0.15-src.tar.gz
cd ./commons-daemon-1.0.15-src/src/native/unix
./configure && make
尽管我将$JAVA_HOME
精确地指向/usr/java/jdk1.8.0_351-amd64
,但是./configure
脚本仍然需要一些东西来替换缺少的$JAVA_HOME
,例如sudo ./configure --with-java=/usr/java/jdk1.8.0_351-amd64
但是即使使用这个参数也不能正确定义所需的文件夹。唯一允许我构建的选项是
sudo ./configure --with-java=/usr/java/jdk1.8.0_351-amd64/include --with-os-type=linux
因此,它需要/include
部分在这里,以构建完整的正确路径。
但是后者会在下一步,当我执行make
时,引起问题,它把多余的/include
放到gcc的一个参数路径中,我得到如下错误:
sudo make -I /usr/java/jdk1.8.0_351-amd64(cd native; make all)
make[1]: Entering directory `/opt/install/commons-daemon-1.0.15-src/src/native/unix/native'
gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict-prototypes -I/usr/java/jdk1.8.0_351-amd64/include/include -I/usr/java/jdk1.8.0_351-amd64/include/include/linux -c java.c -o java.o
java.c:24:17: fatal error: jni.h: No such file or directory
那么,我该如何解决这个问题呢?没有/包含,第一部分不起作用,第二部分也不起作用。
1条答案
按热度按时间falq053o1#
我不得不做一个肮脏的黑客一样,手动更改一个文件正在生产的
./configure
阶段和make
阶段之前。在根文件夹中,我们有
Makefile
文件此处更换
与
并且编译将成功。
我不知道根据JSVC指令设计应该做些什么。