[root@localhost unix]# ./configure *** Current host *** checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking cached host system type... ok *** C-Language compilation tools *** checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for ranlib... ranlib checking for strip... strip *** Host support *** checking C flags dependant on host system type... ok *** Java compilation tools *** checking for sablevm... NONE checking for kaffe... NONE checking for javac... /usr/bin/javac /usr/bin/javac checking wether the Java compiler (/usr/bin/javac) works... yes checking for jar... /usr/bin/jar gcc flags added checking for cap_init in -lcap... yes *** Writing output files *** configure: creating ./config.status config.status: creating Makefile config.status: creating Makedefs config.status: creating native/Makefile *** All done *** Now you can issue "make"
6.編譯:make 結果出錯。make clean后,再make還是出錯,錯誤如下。
[root@localhost unix]# make (cd native; make all) make[1]: Entering directory `/opt/tomcat6/bin/commons-daemon-1.0.7-native-src/unix/native' gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/etc/java/jdk1.6.0_23/include -I/etc/java/jdk1.6.0_23/include/linux -c java.c -o java.o java.c:24:17: 錯誤:jni.h:沒有那個文件或目錄 java.c:37: 錯誤:expected 『=』, 『,』, 『;』, 『asm』 or 『__attribute__』 before 『*』 token java.c:38: 錯誤:expected 『=』, 『,』, 『;』, 『asm』 or 『__attribute__』 before 『*』 token java.c:39: 錯誤:expected 『=』, 『,』, 『;』, 『asm』 or 『__attribute__』 before 『cls』 java.c:44: 錯誤:expected 『)』 before 『*』 token java.c:53: 錯誤:expected 『)』 before 『*』 token java.c:106: 錯誤:expected declaration specifiers or 『...』 before 『*』 token java.c:106: 錯誤:expected 『)』 before 『*』 token java.c: In function 『java_signal』: java.c:110: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:110: 錯誤:(即使在一個函數內多次出現,每個未聲明的標識符在其 java.c:110: 錯誤:所在的函數內只報告一次。) java.c:110: 錯誤:expected 『;』 before 『method』 java.c:111: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:111: 錯誤:expected 『;』 before 『ret』 java.c:117: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:117: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:117: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:124: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c: In function 『java_init』: java.c:141: 錯誤:『jvm_create_t』 未聲明 (在此函數內第一次使用) java.c:141: 錯誤:expected 『;』 before 『symb』 java.c:142: 錯誤:『JNINativeMethod』 未聲明 (在此函數內第一次使用) java.c:142: 錯誤:expected 『;』 before 『nativemethods』 java.c:143: 錯誤:『JavaVMOption』 未聲明 (在此函數內第一次使用) java.c:143: 錯誤:『opt』 未聲明 (在此函數內第一次使用) java.c:145: 錯誤:『JavaVMInitArgs』 未聲明 (在此函數內第一次使用) java.c:145: 錯誤:expected 『;』 before 『arg』 java.c:147: 錯誤:『jint』 未聲明 (在此函數內第一次使用) java.c:147: 錯誤:expected 『;』 before 『ret』 java.c:217: 錯誤:『symb』 未聲明 (在此函數內第一次使用) java.c:217: 錯誤:expected 『;』 before 『dso_symbol』 java.c:241: 錯誤:『arg』 未聲明 (在此函數內第一次使用) java.c:241: 錯誤:『JNI_VERSION_1_2』 未聲明 (在此函數內第一次使用) java.c:257: 錯誤:expected expression before 『)』 token java.c:314: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c:314: 錯誤:『jvm』 未聲明 (在此函數內第一次使用) java.c:314: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:323: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:335: 錯誤:『nativemethods』 未聲明 (在此函數內第一次使用) java.c:338: 錯誤:『shutdown』 未聲明 (在此函數內第一次使用) java.c:343: 錯誤:『failed』 未聲明 (在此函數內第一次使用) java.c: In function 『JVM_destroy』: java.c:358: 錯誤:『jclass』 未聲明 (在此函數內第一次使用) java.c:358: 錯誤:expected 『;』 before 『system』 java.c:359: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:359: 錯誤:expected 『;』 before 『method』 java.c:365: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:374: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:381: 錯誤:『jint』 未聲明 (在此函數內第一次使用) java.c:381: 錯誤:expected 『)』 before 『exit』 java.c:385: 錯誤:『jvm』 未聲明 (在此函數內第一次使用) java.c: In function 『java_load』: java.c:394: 錯誤:『jclass』 未聲明 (在此函數內第一次使用) java.c:394: 錯誤:expected 『;』 before 『stringClass』 java.c:395: 錯誤:『jstring』 未聲明 (在此函數內第一次使用) java.c:395: 錯誤:expected 『;』 before 『className』 java.c:396: 錯誤:expected 『;』 before 『currentArgument』 java.c:397: 錯誤:『jobjectArray』 未聲明 (在此函數內第一次使用) java.c:397: 錯誤:expected 『;』 before 『stringArray』 java.c:398: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:398: 錯誤:expected 『;』 before 『method』 java.c:399: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:399: 錯誤:expected 『;』 before 『ret』 java.c:406: 錯誤:『className』 未聲明 (在此函數內第一次使用) java.c:406: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:414: 錯誤:『stringClass』 未聲明 (在此函數內第一次使用) java.c:420: 錯誤:『stringArray』 未聲明 (在此函數內第一次使用) java.c:428: 錯誤:『currentArgument』 未聲明 (在此函數內第一次使用) java.c:439: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:439: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:446: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c: In function 『java_start』: java.c:460: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:460: 錯誤:expected 『;』 before 『method』 java.c:461: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:461: 錯誤:expected 『;』 before 『ret』 java.c:467: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:467: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:467: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:473: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c: In function 『java_sleep』: java.c:488: 錯誤:『jclass』 未聲明 (在此函數內第一次使用) java.c:488: 錯誤:expected 『;』 before 『clsThread』 java.c:489: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:489: 錯誤:expected 『;』 before 『method』 java.c:498: 錯誤:『clsThread』 未聲明 (在此函數內第一次使用) java.c:498: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:503: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:509: 錯誤:『jlong』 未聲明 (在此函數內第一次使用) java.c:509: 錯誤:expected 『)』 before 『wait』 java.c: In function 『java_stop』: java.c:515: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:515: 錯誤:expected 『;』 before 『method』 java.c:516: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:516: 錯誤:expected 『;』 before 『ret』 java.c:522: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:522: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:522: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:528: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c: In function 『java_version』: java.c:541: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:541: 錯誤:expected 『;』 before 『method』 java.c:547: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:547: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:547: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c: In function 『java_check』: java.c:560: 錯誤:『jstring』 未聲明 (在此函數內第一次使用) java.c:560: 錯誤:expected 『;』 before 『className』 java.c:561: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:561: 錯誤:expected 『;』 before 『method』 java.c:562: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:562: 錯誤:expected 『;』 before 『ret』 java.c:569: 錯誤:『className』 未聲明 (在此函數內第一次使用) java.c:569: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:578: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:578: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:584: 錯誤:『ret』 未聲明 (在此函數內第一次使用) java.c: In function 『java_destroy』: java.c:597: 錯誤:『jmethodID』 未聲明 (在此函數內第一次使用) java.c:597: 錯誤:expected 『;』 before 『method』 java.c:598: 錯誤:『jboolean』 未聲明 (在此函數內第一次使用) java.c:598: 錯誤:expected 『;』 before 『ret』 java.c:604: 錯誤:『method』 未聲明 (在此函數內第一次使用) java.c:604: 錯誤:『env』 未聲明 (在此函數內第一次使用) java.c:604: 錯誤:『cls』 未聲明 (在此函數內第一次使用) java.c:610: 錯誤:『ret』 未聲明 (在此函數內第一次使用) make[1]: *** [java.o] 錯誤 1 make[1]: Leaving directory `/opt/tomcat6/bin/commons-daemon-1.0.7-native-src/unix/native' make: *** [native/all] 錯誤 2