找到文章
http://phorum.study-area.org/index.php?topic=58837.0
http://blog.xuite.net/misgarlic/weblogic/41607364-L2TP%2FIPSec
作參考
其中 需要安裝 opneswan
結果安裝時發現
出現以下訊息
make[3]: Entering directory `/PGRAM/openswan-2.6.39/OBJ.linux.i386/programs/pluto' cc -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -DGCC_LINT -I/PGRAM/openswan-2.6.39/ports/linux/include -I/PGRAM/openswan-2.6.39/ports/linux/include -I/PGRAM/openswan-2.6.39/ports/linux/include -I/PGRAM/openswan-2.6.39/programs/pluto/linux26 -I/PGRAM/openswan-2.6.39/include -I/PGRAM/openswan-2.6.39/lib/libcrypto -I/PGRAM/openswan-2.6.39/linux/include & nbsp;-DPLUTO_SENDS_VENDORID -DUSE_KEYRR -DDYNAMICDNS -DNETKEY_SUPPORT -DKERNEL26_HAS_KAME_DUPLICATES -DPFKEY -DX509_PLUTO -DPLUTO -DKLIPS -DHAVE_UDPFROMTO -DPFKEY -DKLIPS_MAST -DBUILDER=\"root@L7base\" -DDEBUG -DUSE_AES -DUSE_3DES -DUSE_SHA2 -DIKE_ALG -DKERNEL_ALG -DAGGRESSIVE -DXAUTH -DMODECFG -DMODECFG_DNSWINS -DNAT_TRAVERSAL -DI_KNOW_TRANSPORT_MODE_HAS_SECURITY_CONCERN_BUT_I_WANT_IT -DUSE_MODP_RFC5114 -DHAVE_NM -DSHARED_SECRETS_FILE=\" /etc/ipsec.secrets\" -DPOLICYGROUPSDIR=\" /etc/ipsec.d/policies\" -DPERPEERLOGDIR=\" /var/log/pluto/peer\" -g -Wall -W -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wmissing-declarations -Wwrite-strings -Wstrict-prototypes -Wno-error=cast-qual -Wno-error=cpp -DALLOW_MICROSOFT_BAD_PROPOSAL -c /PGRAM/openswan-2.6.39/programs/pluto/connections.c cc1: error: -Werror=cpp: No option -Wcpp make[3]: *** [connections.o] Error 1 make[3]: Leaving directory `/PGRAM/openswan-2.6.39/OBJ.linux.i386/programs/pluto' make[2]: *** [programs] Error 1 make[2]: Leaving directory `/PGRAM/openswan-2.6.39/OBJ.linux.i386/programs' make[1]: *** [programs] Error 1 make[1]: Leaving directory `/PGRAM/openswan-2.6.39/OBJ.linux.i386' make: *** [programs] Error 2
=========================
關鍵問題在 cc1: error: -Werror=cpp: No option -Wcpp
疑似因為 使用的參數 我 gcc 版本似乎沒有支援
後續到網路上查看到相同的問題
原因是 gcc的版本較舊 新版本的參數指令無法編譯
到下面這個連結 即可看到 修正的 Makefile 內容 (可自己動手改或直接覆蓋~)
[Only use -Wno-error=cpp when GCC's version is >= 4.6]
https://github.com/xelerance/Openswan/commit/31e261a07a1aa6b9de1491e8f6053189aff5554b
到下面這個連結 即可看到 修正的 Makefile 內容 (可自己動手改或直接覆蓋~)
[Only use -Wno-error=cpp when GCC's version is >= 4.6]
https://github.com/xelerance/Openswan/commit/31e261a07a1aa6b9de1491e8f6053189aff5554b
以下步驟即可搞定!
================
有兩個地方的 "Makefile" 使用到 造成問題的command
(1)lib/libopenswan/Makefile
(2)program/pluto/Makefile
在上面兩個檔案中找到這行 :
替換成 :
有兩個地方的 "Makefile" 使用到 造成問題的command
(1)lib/libopenswan/Makefile
(2)program/pluto/Makefile
在上面兩個檔案中找到這行 :
"CFLAGS+= -Wno-error=cpp"
替換成 :
# Check if GCC's version is recent enough GCC_VERSION_GE_46:=$(shell test `gcc -dumpversion | sed 's/^\([0-9]\)\.\([0-9]\).*/\1\2/'` -ge 46 && echo true || echo false) ifeq ($(GCC_VERSION_GE_46),true) CFLAGS+= -Wno-error=cpp endif將會依照你的gcc版本 去判斷是否執行此段程式碼~
沒有留言:
張貼留言
留言前請三思,禁止任何色情暴力等不當言語