小米路由器高級(jí)玩法:交叉編譯krb5
Kerberos是由美國麻省理工學(xué)院提出的基于可信賴的第三方的認(rèn)證系統(tǒng)。Kerberos提供了一種在開放式網(wǎng)絡(luò)環(huán)境下進(jìn)行身份認(rèn)證的方法,它使網(wǎng)絡(luò)上的用戶可以相互證明自己的身份。為了給小米路由器編譯sq
Kerberos是由美國麻省理工學(xué)院提出的基于可信賴的第三方的認(rèn)證系統(tǒng)。Kerberos提供了一種在開放式網(wǎng)絡(luò)環(huán)境下進(jìn)行身份認(rèn)證的方法,它使網(wǎng)絡(luò)上的用戶可以相互證明自己的身份。為了給小米路由器編譯squid,我們需要先編譯krb5,因?yàn)閟quid需要用到krb5的header文件。
步驟1:下載krb5源碼包
首先,我們需要下載krb5-1.10.7源碼包。在終端中執(zhí)行以下命令:
```
wget
tar xf krb5-1.10.7-signed.tar
cd krb5-1.10.7-signed
```
步驟2:設(shè)置環(huán)境變量
為了成功編譯krb5,我們需要設(shè)置一些必要的環(huán)境變量。在終端中執(zhí)行以下命令:
```
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
現(xiàn)在,我們可以開始編譯krb5了。執(zhí)行以下命令:
```
./configure --prefix/usr/local/arm/krb5 --hostarm-xiaomi-linux-uclibcgnueabi --cache-filelinux-cache
make
make install
```
問題解決:出現(xiàn)“can not upload ^^^^^^”錯(cuò)誤
如果在編譯過程中出現(xiàn)了“can not upload ^^^^^^”錯(cuò)誤,我們需要注釋掉./include/k5-platform.h文件的第378行和340行。具體操作如下:
將以下兩行代碼注釋掉:
```
//#else
//# error "Don't know how to do unload-time finalization for this configuration."
```
問題解決:出現(xiàn)“kadmin.c:212:5: warning: function might be possible candidate for 'gnu_printf' format attribute”警告
如果在編譯過程中出現(xiàn)了上述警告,我們需要將vfprintf改成gnu_printf。但是,如果這種更改不起作用,可以嘗試將其改成fprintf。
重新編譯krb5后,我們就可以繼續(xù)進(jìn)行squid的編譯了。以上是關(guān)于交叉編譯krb5的詳細(xì)步驟和問題解決方法。希望對(duì)您有所幫助!