簡體   English   中英

無法構建 JSVC

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM