小米路由器高级玩法:交叉编译krb5
Kerberos是由美国麻省理工学院提出的基于可信赖的第三方的认证系统。Kerberos提供了一种在开放式网络环境下进行身份认证的方法,它使网络上的用户可以相互证明自己的身份。为了给小米路由器编译squid,我们需要先编译krb5,因为squid需要用到krb5的header文件。
步骤1:下载krb5源码包
首先,我们需要下载krb5-1.10.7源码包。在终端中执行以下命令:
```
wget
tar xf krb5-1.10.7-signed.tar
cd krb5-1.10.7-signed
```
步骤2:设置环境变量
为了成功编译krb5,我们需要设置一些必要的环境变量。在终端中执行以下命令:
```
echo krb5_cv_attr_constructor_destructoryes >> linux-cache
echo ac_cv_func_regcompyes >> linux-cache
echo ac_cv_printf_positionalyes >> linux-cache
echo ac_cv_file__etc_environmentyes >> linux-cache
echo ac_cv_file__etc_TIMEZONEyes >> linux-cache
```
步骤3:编译krb5
现在,我们可以开始编译krb5了。执行以下命令:
```
./configure --prefix/usr/local/arm/krb5 --hostarm-xiaomi-linux-uclibcgnueabi --cache-filelinux-cache
make
make install
```
问题解决:出现“can not upload ^^^^^^”错误
如果在编译过程中出现了“can not upload ^^^^^^”错误,我们需要注释掉./include/k5-platform.h文件的第378行和340行。具体操作如下:
将以下两行代码注释掉:
```
//#else
//# error "Don't know how to do unload-time finalization for this configuration."
```
问题解决:出现“kadmin.c:212:5: warning: function might be possible candidate for 'gnu_printf' format attribute”警告
如果在编译过程中出现了上述警告,我们需要将vfprintf改成gnu_printf。但是,如果这种更改不起作用,可以尝试将其改成fprintf。
重新编译krb5后,我们就可以继续进行squid的编译了。以上是关于交叉编译krb5的详细步骤和问题解决方法。希望对您有所帮助!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。