首頁 > 軟體

Ubuntu 使用Openwrt SDK交叉編譯ipk包過程圖文全紀錄

2020-06-16 17:29:28

剛剛買了一個網件wndr4300路由器,快遞還沒送來就已經開始琢磨刷機的事了。賣家提供了一個明月的op韌體,裡面功能超級多但是非常臃腫,我在hg255d上的使用經驗告訴我這樣臃腫的包非常耗費CPU資源,而且會導致網速變慢和無故重新啟動。恩山上大神編譯的幾乎都是新增了很多應用的韌體。而我只需要一個ss功能就夠了,最好有luci介面,所以決定自己編譯出ipk包放到路由器上使用opkg安裝。

首先去openwrt ss的github官網,https://github.com/shadowsocks/openwrt-shadowsocks 這上面只給了makefile檔案,沒有c原始碼,因為c原始碼都在Shadowsocks-libev專案上,在makefile時會自動的去github上下載一個tar包,然後編譯那裡面的檔案,如https://github.com/shadowsocks/openwrt-shadowsocks/releases/download/v2.5.5/shadowsocks-libev-2.5.5.tar.gz,如果你網速很慢可以把makefile中相關的url改掉換成本地下載好的tar包。正常情況下我們不需要修改makefile就能正常編譯。

注意:在編譯過程中會聯網下載大量的依賴庫,所以一定要保證網路暢通穩定,否則會頻繁失敗,我在下載依賴庫的時候都不到2KB/s。

網上很多編譯ss的教學都是2014年的,它們都是直接clone openwrt的原始碼,然後用openwrt的原始碼編譯出很多編譯工具再編譯apk,這樣做非常的耗時,我親自試過大概花了3個多小時也沒成功,自從有了SDK之後就不用這麼麻煩了,編譯過程10幾分鐘就可以搞定。同樣github上也推薦我們使用SDK進行編譯。

注意:SDK版本要選擇適合你路由器及路由器上系統的,比如CC15.05 SDK編譯出來的ipk不能裝載trunc版上,反之亦然,所以我們要選擇適合路由器上openwrt系統的SDK,下文以wndr4300 CC 15.05 版openwrt為例。

首先去openwrt的官網下載相關SDK,http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/nand/ 如果你要編譯的不是wndr4300,可以去根目錄自己通過CPU,記憶體型別選擇相應的SDK進行下載,這裡就不廢話了。

如上圖,第一個黃線是編譯韌體要用的ImageBuilder,是編譯完整韌體用的,我們只編譯ipk軟體包所以用不到,第二個黃線就是我們要用的SDK檔案了

第三個和第四個都是純淨版的OP系統,可以下載然後刷到wndr4300路由器裡面,一個是原有OP網頁刷,一個是原版或者tftp刷的韌體。刷入這個韌體然後再opkg安裝我們編譯出的ipk包就具備相關功能了。所以此時我們首先下載SDK。

下載完成之後放到一個好記而且沒有許可權限制的目錄中,比如我在我的使用者目錄下建立一個叫OP_SDK的資料夾,然後把這個tar包放進去

註:我是用的winscp放進去的,在linux下可以直接使用wget http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/nand/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2 來下載這個tar包

放上去之後我們解壓這個tar包

 

tar xjf OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2

解壓完之後 OP_SDK目錄下就會出現一個和tar包同名的資料夾,這裡面就是我們要用到交叉編譯的SDK了

 

然後做非常重要的一步,安裝編譯相關的依賴庫檔案,否則進不去make menuconfig

 

sudo apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk
sudo apt-get install subversion mercurial

而且還有非常重要的一步,是安裝c編譯環境,當初我就因為ccache沒有安裝導致一晚上都白忙活

 

sudo apt-get install ccache

因為ccache Ubuntu 16.04沒有預設安裝,導致編譯的時候一直報 C compiler cannot create executables錯誤,浪費了很多時間

基本的環境安裝完成之後,我們就可以開始編譯工作了,注意保持網路暢通

根據github上的README即可

 

cd ./OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/
# 安裝 feeds
./scripts/feeds update packages
./scripts/feeds install libpcre
=============先到這裡暫停=============
# 獲取 Makefile
git clone https://github.com/shadowsocks/openwrt-shadowsocks.git package/shadowsocks-libev
# 選擇要編譯的包 Network -> shadowsocks-libev
make menuconfig
# 開始編譯
make package/shadowsocks-libev/compile V=99

 

現在我們先開始安裝feeds,就是用來選擇編譯什麼外掛用的列表

安裝feeds的第一行命令會聯網下載feeds列表,比較費時,第二行會報miss index的warning,不用管。

 

然後克隆git上的makefile檔案下來,如果你網速慢也可以自己下載然後放到./package/shadowsocks-libev下面去,注意這裡不要改資料夾的名字,因為寫死在makefile裡面了

但是這裡我們暫停一下,因為編譯ss是一個完整的解決依賴-編譯-連線的過程,很容易出錯,而編譯luci UI介面只需要簡單的打包一下即可,所以不妨先編譯一下luci體會一下。

 

git clone https://github.com/shadowsocks/luci-app-shadowsocks.git package/luci-app-shadowsocks
# 編譯 po2lmo (如果有po2lmo可跳過)
pushd package/luci-app-shadowsocks/tools/po2lmo
make && sudo make install
popd
# 選擇要編譯的包 LuCI -> 3. Applications
make menuconfig
# 開始編譯
make package/luci-app-shadowsocks/compile V=99

 

 

首先git克隆,此時在package目錄下會出現一個luci的目錄

然後繼續執行,並不容易出錯

然後選擇編譯luci的ipk通過make menuconfig

選擇LuCI,確認時<M>選中,代表編譯出ipk包

然後選擇<Save>回車,儲存後,連續選擇<Exit>退出

上圖直接選擇<Ok>即可

然後我們就可以開始編譯luci了

 

make package/luci-app-shadowsocks/compile V=99

 

 

因為不依賴c編譯環境,所以不容易出錯

然後去/bin/ar71xx/packages/base???錄下就可以看到我們編譯好的ipk了,把它取出來放到別的位置上然後刪掉,我們準備開始編譯ss

現在開始克隆ss的openwrt版並把剛才克隆的./package/luci-app-shadowsocks給刪掉

 

git clone https://github.com/shadowsocks/openwrt-shadowsocks.git package/shadowsocks-libev

 

 

然後像剛才選擇luci一樣在make menuconfig中選擇ss

OpenSSL版支援的加密方法多,PolarSSL支援的加密方法少,看你的需求而定

注意:只編譯上面選擇的兩個或者一個就好,不要選擇第mbedTLS版,因為mbedtls需要第三方依賴庫,而ubuntu是不給你自動安裝的,會因為缺少依賴而編譯失敗

 

然後跟luci一樣<Save>然後連續<Exit>

下面就是最激動人心的一步了,開始我們的c編譯,連線過程

 

make package/shadowsocks-libev/compile V=99

在這個過程中會聯網下載很多個依賴,要保證網路暢通然後靜等,注意*不要*使用sudo許可權!整個編譯耗時大約2分鐘左右,視網路狀況而定

 

下圖是下載某個依賴庫

下圖是下載Shadowsocks-libev的原始碼

如果沒有報錯就說明編譯完成了

在這個編譯過程中遇到問題退出是很正常的,完全不需要大驚小怪,而且隨著版本的更新會不斷的出現新的編譯問題,就需要我們自己去解決。

多數的編譯問題都是缺少依賴庫或者網路不暢,需要我們仔細的檢視config.log檔案

查詢這個檔案的方法是執行

locate config.log

一般編譯到哪一步失敗就去看哪一步的config.log,我之前碰到的一個編譯失敗是因為沒安裝ccache,在上圖黃線的config.log在文章最後貼出來

如果編譯成功,我們可以在/bin/ar71xx/packages/base目錄下看到編譯好的ipk了,這兩個ipk到時候只安裝一個就好,不要都安裝


現在挑一個你需要的ipk出來放到openwrt系統下使用opkg安裝即可,還可以配合之前做好的luci UI介面ipk包

==============我是分隔線==============

經過漫長的等待,終於從快遞手中收到路由器了,之前編譯好的三個ipk包感覺已經躺了大半年了。現在終於可以刷進去了。怎麼從wndr4300原版刷成op的純淨系統我就不說了,而且我已經讓賣家賣給我之前就刷好一個CC版15.05.1的純淨系統,這個系統是我在恩山上找的,這裡感謝一下作者xmit0806,該韌體的貼文地址:http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=186099

這個韌體作者說支援了128M快閃記憶體,用dnsmasq-full替換了dnsmasq,新增了opkg軟體源等,都是非常實用的。

可是我在用的時候發現如果斷電重新啟動,那麼所有做過的操作都會清零,就跟恢復出廠設定了一樣,挺鬱悶,如果有人看見更好地純淨版系統麻煩通知我。

 

好了言歸正傳,現在開始安裝之前編譯好的ipk包了。

首先看一下沒安裝之前的狀態

看起來的確是很純淨,一個“服務”都沒裝,而且記憶體的空餘很大,從上圖可以看出,該機器之前沒有安裝ss-local服務

然後我通過winscp把編譯好的ipk包上傳到使用者目錄/root上去

這裡winscp還有一些小坑,首先你的路由器必須設定了登陸密碼才能用SSH登陸,SSH的使用者名稱和密碼就是路由器的登入名和登陸密碼,這個在一進路由器後台就會用黃色的框提示你,直接修改就好,我選的登入名為root,密碼為root,所以使用者目錄就變成了/root

還有winscp必須設定成scp協定,使用Ubuntu支援的sftp協定是登陸不進去的

然後我抱著必錯的信念開始用opkg安裝

果然不出我所料報錯了,不過並不是什麼大的問題,缺少兩個依賴庫,libpcre和libpthread

那怎麼裝這兩個依賴包呢,手頭有沒有他們的ipk包。但是隱隱記得這個韌體的作者新增了軟體源,於是我打算拼死一搏

一搏有效,通過更新軟體源的命令已經成功更新了base包和luci包,packages包更新太慢停掉就行,重要的是base

於是我根據上面的提示主動去openwrt的官網上去找packages包,找到了libpcre的依賴

還真讓我找到了,趕緊下載下來放到路由器上(中間那個libpcre_8.38-1_ar71xx.ipk就是我們要用的)

註:packages包裡要用的就它一個了,剩下的都在base包裡

好了,解決了一個依賴,讓我們先安裝這個依賴再繼續安裝ss吧

哎呦,忘了還有一個依賴,opkg雖然下載的很慢,但是貼心的把這個依賴包的下載地址給列印出來了,那我就直接用迅雷下好放進去得了

放好了,我們開始安裝吧

上圖顯示Openwrt已經成功安裝了剩下的一個依賴和ss,看來我們SDK編譯還是很成功的

現在讓我們執行一下ss-local檢驗一下是否安裝成功

ss-local有反應了,看來安裝已經徹底成功了。

下面我們檢查一下ss-redir的透明代理功能是不是好用,首先我們編寫一個ss伺服器的組態檔,監聽0.0.0.0:1080(注意不能是127.0.0.1或內網地址,否則iptables無法轉發)

然後呼叫ss-redir去執行該組態檔

看樣子是啟動成功了,而且最新版的Shadowsocks-libev可以使用-u引數支援udp轉發,讓我們再用netstat看看1080埠的情況

可以看出來,udp和tcp的1080埠均被ss-redir占用,說明啟動成功了,下面只要配合iptables的轉發就實現了透明代理了

上面只是一個簡略版,完整的應該如下

 

iptables -t nat -A PREROUTING -d 127.0.0.0/24 -j RETURN  
iptables -t nat -A PREROUTING -d 192.168.0.0/16 -j RETURN  
iptables -t nat -A PREROUTING -d 10.42.0.0/16 -j RETURN  
iptables -t nat -A PREROUTING -d 0.0.0.0/8 -j RETURN  
iptables -t nat -A PREROUTING -d 10.0.0.0/8 -j RETURN  
iptables -t nat -A PREROUTING -d 172.16.0.0/12 -j RETURN  
iptables -t nat -A PREROUTING -d 224.0.0.0/4 -j RETURN  
iptables -t nat -A PREROUTING -d 240.0.0.0/4 -j RETURN  
iptables -t nat -A PREROUTING -d 169.254.0.0/16 -j RETURN  
  
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.1/16 -j REDIRECT --to-ports 1080

然後用手機百度搜尋ip,已經換成代理的ip啦。

 

更寶貴的是ss-redir自帶DNS防汙染功能,存取谷歌,facebook神馬的都暢通無阻啦,然後我們再測個速研究一下路由器的負載能力(我是20M光纖)

看起來是非常不錯的,幾乎可以把頻寬跑滿

下面我們再去路由器後台看看進程

我們剛才執行的指令ss-redir已經顯示在UI介面上了

到這ss的透明代理已經全部搞定了,但是有些人不喜歡用命令列去設定,而喜歡在路由器後台使用luci介面,於是我們把之前編譯好的luci介面也裝上吧

於是把luci的ipk傳到路由器上去準備安裝


沒想到luci介面也需要依賴庫,一看是ipset,是非常有用的東西,通過ipset可以設定dnsmasq-full通過域名進行代理規則的書寫,可以克服iptables只能識別ip的短板

既然上面已經給出了ipk的下載地址,opkg下載的還這麼慢,那我乾脆繼續用迅雷上吧,裝上ipset以後我們繼續

安裝ipset居然也需要依賴包,是libmnl,同樣辦法先把這個裝了再裝ipset吧,沒出現迴圈依賴就不錯啦

果然解決了這兩個依賴以後luci介面就裝好了,讓我們進路由器後台瞅瞅

呈貢啦,選單多了一項“服務”,“影梭”就在裡面,讓我們點進去看看

果然是最新的luci和最新的ss,支援udp轉發啦,可惜上面顯示udp轉發不可用,缺少依賴,這多虧了有luci,不然我還不知道我這udp轉發沒法用。

據我判斷缺少的肯定是iptables-mod-tproxy,因為ip預設已經裝載Openwrt裡了,於是老辦法,去Openwrt的官網找找去

果然配好軟體源的opkg又幫我們自動定位到了下載地址,老辦法迅雷上

好啦,這個udp轉發的依賴已經順利安裝完畢了,我們重新整理路由器後台看看

 

好啦,現在luci介面已經完美支援udp轉發啦!整個教學到此結束,我把這次安裝所用到的所有ipk包放在下面供大家免費下載,理論上說CC版15.05 wndr4300裝置都可以通用的。

下圖是我用到所有的ipk包

這裡面的ip和shadowsocks-libev-polarssl應該不裝,polarss支援的加密方式少,比如沒有rc4-md5這種加密方式,推薦使用openssl版本也就是我上面說的版本,ip包Openwrt應該預設自帶,如果沒有的話可以安裝,因為我沒裝過這個ip包不知道好不好用,其他的包按照依賴關係一個一個裝上即可,推薦在CC 15.05.1的wndr4300純淨系統上安裝,純淨系統可以用上面恩山大神的那個

下載地址:

Openwrt_wndr4300_CC_15.05用到的ipk包

下面再秀一下剛買的wndr4300

 

 

附:因為沒安裝ccache導致的無法編譯的config.log

 

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PCRE configure 8.39, which was
generated by GNU Autoconf 2.69.  Invocation command line was

  $ ./configure --target=mips-openwrt-linux --host=mips-openwrt-linux --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --enable-utf8 --enable-unicode-properties --enable-pcre16 --enable-cpp

## --------- ##
## Platform. ##
## --------- ##

hostname = alex-ThinkPad-T430
uname -m = x86_64
uname -r = 4.4.0-36-generic
uname -s = Linux
uname -v = #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/host/bin
PATH: /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin
PATH: /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin
PATH: /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin
PATH: /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin
PATH: /usr/local/Java/jdk1.8.0_91/bin
PATH: /opt/Android-studio/gradle/gradle-2.14.1/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/games
PATH: /usr/local/games
PATH: /snap/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2666: loading site script /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/include/site/mips
| #!/bin/sh
| . $TOPDIR/include/site/linux
| ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
| ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
| 
| ac_cv_sizeof___int64=0
| ac_cv_sizeof_char=1
| ac_cv_sizeof_int=4
| ac_cv_sizeof_int16_t=2
| ac_cv_sizeof_int32_t=4
| ac_cv_sizeof_int64_t=8
| ac_cv_sizeof_long_int=4
| ac_cv_sizeof_long_long=8
| ac_cv_sizeof_long=4
| ac_cv_sizeof_off_t=8
| ac_cv_sizeof_short_int=2
| ac_cv_sizeof_short=2
| ac_cv_sizeof_size_t=4
| ac_cv_sizeof_ssize_t=4
| ac_cv_sizeof_u_int16_t=2
| ac_cv_sizeof_u_int32_t=4
| ac_cv_sizeof_u_int64_t=8
| ac_cv_sizeof_uint16_t=2
| ac_cv_sizeof_uint32_t=4
| ac_cv_sizeof_uint64_t=8
| ac_cv_sizeof_unsigned_int=4
| ac_cv_sizeof_unsigned_long=4
| ac_cv_sizeof_unsigned_long_long=8
| ac_cv_sizeof_unsigned_short=2
| ac_cv_sizeof_void_p=4
configure:2808: checking for a BSD-compatible install
configure:2876: result: /usr/bin/install -c
configure:2887: checking whether build environment is sane
configure:2942: result: yes
configure:3001: checking for mips-openwrt-linux-strip
configure:3028: result: mips-openwrt-linux-uclibc-strip
configure:3093: checking for a thread-safe mkdir -p
configure:3132: result: /bin/mkdir -p
configure:3139: checking for gawk
configure:3155: found /usr/bin/gawk
configure:3166: result: gawk
configure:3177: checking whether make sets $(MAKE)
configure:3199: result: yes
configure:3228: checking whether make supports nested variables
configure:3245: result: yes
configure:3383: checking whether make supports nested variables
configure:3400: result: yes
configure:3428: checking for style of include used by make
configure:3456: result: GNU
configure:3487: checking for mips-openwrt-linux-gcc
configure:3514: result: ccache_cc
configure:3783: checking for C compiler version
configure:3792: ccache_cc --version >&5
/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/ccache_cc: 2: exec: ccache: not found
configure:3803: $? = 127
configure:3792: ccache_cc -v >&5
/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/ccache_cc: 2: exec: ccache: not found
configure:3803: $? = 127
configure:3792: ccache_cc -V >&5
/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/ccache_cc: 2: exec: ccache: not found
configure:3803: $? = 127
configure:3792: ccache_cc -qversion >&5
/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/ccache_cc: 2: exec: ccache: not found
configure:3803: $? = 127
configure:3823: checking whether the C compiler works
configure:3845: ccache_cc -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -fpic  -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/include  -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib  conftest.c  >&5
/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/ccache_cc: 2: exec: ccache: not found
configure:3849: $? = 127
configure:3887: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "PCRE"
| #define PACKAGE_TARNAME "pcre"
| #define PACKAGE_VERSION "8.39"
| #define PACKAGE_STRING "PCRE 8.39"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "pcre"
| #define VERSION "8.39"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3892: error: in `/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39':
configure:3894: error: C compiler cannot create executables
See `config.log' for more details

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_c_bigendian=yes
ac_cv_c_gettext_without_libintl=yes
ac_cv_c_littleendian=no
ac_cv_c_long_double=no
ac_cv_conv_longlong_to_float=yes
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=set
ac_cv_env_CC_value=ccache_cc
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -fpic '
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value='-I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/include '
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=set
ac_cv_env_CXXFLAGS_value='-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -fpic '
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=ccache_cxx
ac_cv_env_GENHTML_set=
ac_cv_env_GENHTML_value=
ac_cv_env_LCOV_set=
ac_cv_env_LCOV_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value='-L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib '
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=set
ac_cv_env_PKG_CONFIG_LIBDIR_value=/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/pkgconfig:/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/share/pkgconfig
ac_cv_env_PKG_CONFIG_PATH_set=set
ac_cv_env_PKG_CONFIG_PATH_value=/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/pkgconfig:/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/share/pkgconfig
ac_cv_env_PKG_CONFIG_set=set
ac_cv_env_PKG_CONFIG_value=/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/pkg-config
ac_cv_env_VALGRIND_CFLAGS_set=
ac_cv_env_VALGRIND_CFLAGS_value=
ac_cv_env_VALGRIND_LIBS_set=
ac_cv_env_VALGRIND_LIBS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=x86_64-linux-gnu
ac_cv_env_host_alias_set=set
ac_cv_env_host_alias_value=mips-openwrt-linux
ac_cv_env_target_alias_set=set
ac_cv_env_target_alias_value=mips-openwrt-linux
ac_cv_file__dev_zero=yes
ac_cv_func___adjtimex=yes
ac_cv_func___va_copy=no
ac_cv_func__exit=yes
ac_cv_func_bcmp=yes
ac_cv_func_bcopy=yes
ac_cv_func_bzero=yes
ac_cv_func_cimag=yes
ac_cv_func_creal=yes
ac_cv_func_fchmod=yes
ac_cv_func_getaddrinfo=yes
ac_cv_func_getcwd=yes
ac_cv_func_getdomainname=yes
ac_cv_func_getpgrp_void=yes
ac_cv_func_getpwuid_r=yes
ac_cv_func_gettimeofday=yes
ac_cv_func_index=yes
ac_cv_func_lstat=yes
ac_cv_func_lstat_dereferences_slashed_symlink=yes
ac_cv_func_lstat_empty_string_bug=no
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_malloc_works=yes
ac_cv_func_memcmp_clean=yes
ac_cv_func_memcmp_working=yes
ac_cv_func_posix_getgrgid_r=yes
ac_cv_func_posix_getpwuid_r=yes
ac_cv_func_psignal=yes
ac_cv_func_pthread_key_delete=yes
ac_cv_func_realloc_0_nonnull=yes
ac_cv_func_realloc_works=yes
ac_cv_func_rename=yes
ac_cv_func_rindex=yes
ac_cv_func_setgrent_void=yes
ac_cv_func_setlocale=yes
ac_cv_func_setpgrp_void=yes
ac_cv_func_setresuid=no
ac_cv_func_setvbuf_reversed=no
ac_cv_func_stat_empty_string_bug=no
ac_cv_func_stat_ignores_trailing_slash=no
ac_cv_func_strerror=yes
ac_cv_func_strftime=yes
ac_cv_func_utimes=yes
ac_cv_func_va_copy=no
ac_cv_func_vsnprintf=yes
ac_cv_have_accrights_in_msghdr=no
ac_cv_have_broken_snprintf=no
ac_cv_have_control_in_msghdr=yes
ac_cv_have_decl_sys_siglist=no
ac_cv_have_openpty_ctty_bug=yes
ac_cv_have_space_d_name_in_struct_dirent=yes
ac_cv_header_netinet_sctp_h=no
ac_cv_header_netinet_sctp_uio_h=no
ac_cv_int64_t=yes
ac_cv_lbl_unaligned_fail=no
ac_cv_linux_kernel_pppoe=yes
ac_cv_linux_vers=2
ac_cv_pack_bitfields_reversed=yes
ac_cv_path_LDCONFIG=
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_CC=ccache_cc
ac_cv_prog_STRIP=mips-openwrt-linux-uclibc-strip
ac_cv_prog_make_make_set=yes
ac_cv_regexec_segfault_emptystr=no
ac_cv_sctp=no
ac_cv_sizeof___int64=0
ac_cv_sizeof_char=1
ac_cv_sizeof_int16_t=2
ac_cv_sizeof_int32_t=4
ac_cv_sizeof_int64_t=8
ac_cv_sizeof_int=4
ac_cv_sizeof_long=4
ac_cv_sizeof_long_int=4
ac_cv_sizeof_long_long=8
ac_cv_sizeof_off_t=8
ac_cv_sizeof_short=2
ac_cv_sizeof_short_int=2
ac_cv_sizeof_size_t=4
ac_cv_sizeof_ssize_t=4
ac_cv_sizeof_u_int16_t=2
ac_cv_sizeof_u_int32_t=4
ac_cv_sizeof_u_int64_t=8
ac_cv_sizeof_uint16_t=2
ac_cv_sizeof_uint32_t=4
ac_cv_sizeof_uint64_t=8
ac_cv_sizeof_unsigned_int=4
ac_cv_sizeof_unsigned_long=4
ac_cv_sizeof_unsigned_long_long=8
ac_cv_sizeof_unsigned_short=2
ac_cv_sizeof_void_p=4
ac_cv_sys_restartable_syscalls=yes
ac_cv_time_r_type=POSIX
ac_cv_type_SUSEconds_t=yes
ac_cv_uchar=no
ac_cv_uint64_t=yes
ac_cv_uint=yes
ac_cv_ulong=yes
ac_cv_ushort=yes
ac_cv_va_copy=C99
ac_cv_va_val_copy=yes
am_cv_make_support_nested_variables=yes
as_cv_unaligned_access=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/missing aclocal-1.15'
AMDEPBACKSLASH=''
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH=''
AM_DEFAULT_V='0'
AM_DEFAULT_VERBOSITY='0'
AM_V='0'
AR='mips-openwrt-linux-uclibc-gcc-ar'
AS='ccache_cc -c -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -fpic'
AUTOCONF='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/missing autoconf'
AUTOHEADER='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/missing autoheader'
AUTOMAKE='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/missing automake-1.15'
AWK='gawk'
CC='ccache_cc'
CCDEPMODE=''
CFLAGS='-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -fpic '
CPP=''
CPPFLAGS='-I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/include '
CXX='ccache_cxx'
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS='-Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -fpic '
CYGPATH_W='echo'
DEFS=''
DEPDIR='.deps'
DISTCHECK_CONFIGURE_FLAGS=''
DLLTOOL=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
EXTRA_LIBPCRE16_LDFLAGS=''
EXTRA_LIBPCRE32_LDFLAGS=''
EXTRA_LIBPCRECPP_LDFLAGS=''
EXTRA_LIBPCREPOSIX_LDFLAGS=''
EXTRA_LIBPCRE_LDFLAGS=''
FGREP=''
GCOV_CFLAGS=''
GCOV_CXXFLAGS=''
GCOV_LIBS=''
GENHTML=''
GREP=''
HAVE_VISIBILITY=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LCOV=''
LD='mips-openwrt-linux-uclibc-ld'
LDFLAGS='-L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib '
LIBBZ2=''
LIBOBJS=''
LIBREADLINE=''
LIBS=''
LIBTOOL=''
LIBZ=''
LIPO=''
LN_S=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/missing makeinfo'
MANIFEST_TOOL=''
MKDIR_P='/bin/mkdir -p'
NM='mips-openwrt-linux-uclibc-gcc-nm'
NMEDIT=''
OBJDUMP='mips-openwrt-linux-uclibc-objdump'
OBJEXT=''
OTOOL64=''
OTOOL=''
PACKAGE='pcre'
PACKAGE_BUGREPORT=''
PACKAGE_NAME='PCRE'
PACKAGE_STRING='PCRE 8.39'
PACKAGE_TARNAME='pcre'
PACKAGE_URL=''
PACKAGE_VERSION='8.39'
PATH_SEPARATOR=':'
PCRE_DATE=''
PCRE_MAJOR=''
PCRE_MINOR=''
PCRE_PRERELEASE=''
PCRE_STATIC_CFLAG=''
PKG_CONFIG='/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/host/bin/pkg-config'
PKG_CONFIG_LIBDIR='/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/pkgconfig:/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/share/pkgconfig'
PKG_CONFIG_PATH='/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/lib/pkgconfig:/home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/share/pkgconfig'
PTHREAD_CC=''
PTHREAD_CFLAGS=''
PTHREAD_LIBS=''
RANLIB='mips-openwrt-linux-uclibc-gcc-ranlib'
SED=''
SET_MAKE=''
SHELL='/bin/bash'
SHTOOL=''
STRIP='mips-openwrt-linux-uclibc-strip'
VALGRIND_CFLAGS=''
VALGRIND_LIBS=''
VERSION='8.39'
VISIBILITY_CFLAGS=''
VISIBILITY_CXXFLAGS=''
WITH_GCOV_FALSE=''
WITH_GCOV_TRUE=''
WITH_JIT_FALSE=''
WITH_JIT_TRUE=''
WITH_PCRE16_FALSE=''
WITH_PCRE16_TRUE=''
WITH_PCRE32_FALSE=''
WITH_PCRE32_TRUE=''
WITH_PCRE8_FALSE=''
WITH_PCRE8_TRUE=''
WITH_PCRE_CPP_FALSE=''
WITH_PCRE_CPP_TRUE=''
WITH_REBUILD_CHARTABLES_FALSE=''
WITH_REBUILD_CHARTABLES_TRUE=''
WITH_UTF_FALSE=''
WITH_UTF_TRUE=''
WITH_VALGRIND_FALSE=''
WITH_VALGRIND_TRUE=''
ac_ct_AR=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
ax_pthread_config=''
bindir='/usr/bin'
build='x86_64-linux-gnu'
build_alias='x86_64-linux-gnu'
build_cpu=''
build_os=''
build_vendor=''
datadir='/usr/share'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
enable_cpp='yes'
enable_pcre16='yes'
enable_pcre32=''
enable_pcre8=''
exec_prefix='/usr'
host='mips-openwrt-linux'
host_alias='mips-openwrt-linux'
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='/usr/info'
install_sh='${SHELL} /home/alex/Downloads/SDK/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/build_dir/target-mips_34kc_uClibc-0.9.33.2/pcre-8.39/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='/usr/lib'
localedir='${datarootdir}/locale'
localstatedir='/var'
mandir='/usr/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pcre_have_bits_type_traits=''
pcre_have_long_long=''
pcre_have_type_traits=''
pcre_have_ulong_long=''
pdfdir='${docdir}'
prefix='/usr'
program_transform_name='s&$$&&;s&^&&'
psdir='${docdir}'
sbindir='/usr/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='/etc'
target_alias='mips-openwrt-linux'

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "PCRE"
#define PACKAGE_TARNAME "pcre"
#define PACKAGE_VERSION "8.39"
#define PACKAGE_STRING "PCRE 8.39"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define PACKAGE "pcre"
#define VERSION "8.39"

configure: exit 7

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-10/136490.htm


IT145.com E-mail:sddin#qq.com