1. 执行后,出现如下错误:
直接执行 sudo apt-get install gmp:
2, 执行 sudo apt-get install libgmp-dev
3. 安装成功后,执行./configure 命令:启用插件设置,可根据自己的需求进行设置
支持插件列表:https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
./configure --enable-libipsec --enable-kernel-libipsec \
--enable-sm4 --enable-sm3 --enable-sm1 --enable--externaldev \
--enable-hash_null \
--enable--linux_x64
4. 脚本执行后,会自动生成MakeFile文件
5 执行make
6. 未安装automake 安装的版本不对应,修改版本
7.make 编译
一直编译不过,keyword.c文件为空,头文件中声明的函数和实现的函数中参数变量类型不一致导致
参考文章如下:
https://blog.csdn.net/sinat_20184565/article/details/84256832
# cat /etc/issue
Ubuntu 16.04.1 LTS \n \l
首先安装必要的编译工具:
# apt-get update
# apt-get install build-essential
# apt-get install autoconf
如果没有显示的禁用GNU MP(libgmp)加密插件,需要安装libgmp库,GMP插件目前是默认启用的。
# apt-get install libgmp-dev
安装strongSwan编译需要用到的工具,Makefile将使用一下工具生成部分C语言文件,所以必须要configure之前安装这些工具,以免Makefile找不到这些工具的路径。
# apt-get install gperf
# apt-get install flex
# apt-get install bison
例如src/starter/Makefile,如果系统没有gperf工具,configure生成的Makefile文件中GPERF变量为空,导致keywords.c文件为空文件。可在安装gperf之后,重新configure一下,另外要删除之前产生的keywords.c空文件。
8. 头文件中函数声明和实现参数类型不一致导致编译失败
11111 编译是提示error: conflicting types for
(1)函数使用的位置位于声明之前,或未声明函数原型就使用函数;
(2)函数声明的原型中参数或返回类型与函数实现时使用的类型不一致;
(3)头文件中的循环引用导致错误;
9.error: storage class specified for parameter
发现是新增的头文件中,最后一个函数的声明缺少一个";“ 引起