[英]JSVC can't be build
我無法從 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
那么,我該如何解決呢? 如果沒有 /include,第一部分將無法工作,第二部分將因為它而無法工作。
我不得不做一個骯臟的 hack,比如手動更改在./configure
階段和make
階段之前生成的一個文件。
在與Makefile
一起的根文件夾中,我們有Makedefs
文件
這里替換
INCLUDES = -I/usr/java/jdk1.8.0_351-amd64/include/include -I/usr/java/jdk1.8.0_351-amd64/include/linux
和
INCLUDES = -I/usr/java/jdk1.8.0_351-amd64/include/include -I/usr/java/jdk1.8.0_351-amd64/include/include/linux
並且編譯會成功。
我不知道根據 JSVC 指令設計應該做什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.