最新版OpenWrtコンパイルチュートリアル、依存問題の解決

2900 ワード

Install  git  , to conveniently download the OpenWrt source code, and  build tools  to do the cross-compilation process:
apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip
Some feeds might not available over git but only via  subversion  (short:  svn ) or  mercurial . If you want to obtain their source-code, you need to install svn and mercurial as well:
sudo apt-get install subversion mercurial

for information about the build tools see  make  and  build-essential

for information about git see  git(7)

for information about the subversion tool see  svn  and  subversion documentation (multiple languages)


Download the OpenWrt bleeding edge(trunk Version) with  git  (
see Downloading Sources for more options!):
git clone git:git.openwrt.org/openwrt.git

this creates a directory 'openwrt', which is the OpenWrt Buildroot build-directory  the OpenWrt toolchain "OpenWrt Buildroot"is included

(
optional) Download and install all available "feeds"(
see OpenWrt Feeds for more options!):
cd openwrt && ./scripts/feeds update -a && ./scripts/feeds install -a


Make OpenWrt Buildroot check for missing packages on your build-system using one of the following commands:
make defconfig
make prereq
make menuconfig

There you will need to select what you want to compile.

Proceed with  build (i.e. cross-compile the downloaded sources to binaries)
After the cross-compilation process the ''trunk''-directory contained 244,451 files with a total size of 3.2GiB!

その他のバージョン番号アドレス:http://git.openwrt.org/
dlフォルダのダウンロード:http://downloads.openwrt.org.cn/sources/
OpenWRTを最初にコンパイルすると、次のようなエラーメッセージが表示されます.
gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv

私はネットで解決策を探していたが、結果は一致して、もう一度言った./configureちょっと:
./configure --enable-iconv=no --with-libiconv=gnu
make

しかし問題の肝心な点は:OpenWRTのtrunk経路の下でconfigureが見えませんでした!
その後、細かく推敲した結果、glibを編んだときに通過しなかったことが分かった.
$ find -name "gconvert.c"
./build_dir/host/pkg-config-0.28/glib/glib/gconvert.c

では、私は直接入ります./build_dir/host/pkg-config-0.28/glib/経路下.パスの下にconfigureファイルがあることがわかりました.
では、このパスの下でglibを直接コンパイルすると言います.
$ cd build_dir/host/pkg-config-0.28/glib/
./configure --enable-iconv=no --with-libiconv=gnu
make

そうですか.glibは無事にコンパイルに合格しました.
OpenWRTのtrunkパスに戻り、makeを続行します.
転載先:https://www.cnblogs.com/jzssuanfa/p/7400840.html