Lighttpdおよびpcreのクロスコンパイル

7611 ワード

Lighttpdおよびpcreのクロスコンパイル(未熟)
  • lighttpdおよびpcreのクロスコンパイルが未熟
  • A環境説明
  • Bクロスコンパイル構想
  • Cコンパイルpcre
  • 構成スクリプト設定コンパイルツール等
  • コンパイルインストール
  • ライブラリファイルをcache実行環境の
  • にインポート
  • 環境変数実行環境の
  • にパスをインポートする.
  • Dライトtpdコンパイル
  • 構成スクリプト設定コンパイルツール等
  • コンパイルインストール
  • ファイル構造設定と構成サーバ
  • サーバの起動と停止



  • A.環境説明
  • コンパイル環境ubuntu 12.04 i686-pc-linux
  • 実行環境openwrt
  • クロスコンパイルツールmips-openwrt-linux
  • B.クロスコンパイルの考え方
  • lighttpdと関連する依存ライブラリのインストールに基づいて、今回のクロスコンパイル
  • を行います.
  • configスクリプトによりコンパイル環境におけるコンパイルツールをクロスコンパイルツール
  • として構成する.
  • インストールディレクトリは、移植後に
  • と正しく一致するように最終実行ディレクトリに設定.
  • は、必要な環境を実行デバイス上で
  • に構成する.
    C.コンパイルpcre
    1.構成スクリプト(コンパイルツールの設定など)vim configure-opw.sh
    #! /bin/sh
    CXX=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++ CC=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-gcc AR=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ar LD=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ld RANLIB=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ranlib STRIP=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-strip ./configure  --prefix=/usr/pcre --host=mips-openwrt-linux --build=i686-pc-linux --enable-utf8 --enable-unicode-properties

    スクリプトをインストールファイルパスにコピーした後、構成./configure-opw.sh注意:g++コンパイラを指定する必要があります.このファイルのコンパイルではCPPで関連動的ライブラリをコンパイルする必要があり、後で使用するため、指定しないと次のエラーが発生します.
      CXX      libpcrecpp_la-pcrecpp.lo
      CXX      libpcrecpp_la-pcre_scanner.lo
      CXX      libpcrecpp_la-pcre_stringpiece.lo
      CXXLD    libpcrecpp.la
    ./.libs/libpcre.so: could not read symbols: File in wrong format
    collect2: ld returned 1 exit status

    2.コンパイルインストールmake && make installヒント:makeコンパイルが完了したらmake checkを実行してテストできます
    3.ライブラリファイルをcacheにインポートする(実行環境の)
  • 方法1:etc/ld.so.conf/に:/usr/local/lib/pcreを追加し、ldconfig
  • を実行します.
  • 方法2:etc/ld.so.conf.d/の下で新しく1つのファイル(またはその中のファイルに同じ内容を加える)を生成して、ファイルの内容は:/usr/local/lib/pcreで、ldconfig
  • を実行します.
    4.パスを環境変数にインポートする(環境を実行する)LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$/usr/local/lib/pcre export LD_LIBRARY_PATH C_INCLUDE_PATH=/usr/include/libxml2:/usr/local/include/pcre export C_INCLUDE_PATH
    D.ライトtpdのコンパイル
    1.構成スクリプト(コンパイルツールの設定など)vim configure-opw.sh
    #! /bin/sh
    CC=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-gcc AR=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ar LD=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ld RANLIB=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-ranlib STRIP=/home/jeff/extfs/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-strip ./configure --prefix=/tmp/webserver/lighttpd-1.4.42-opw --host=mips-openwrt-linux --build=i686-pc-linux --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --without-pcre --without-zlib --without-bzip2

    スクリプトをインストールファイルパスにコピーした後、構成./configure-opw.sh2.コンパイルインストールmake && make install
    3.ファイル構造の設定とサーバーの構成
    必要に応じてサーバ機能モジュールの切り取りを行う
    5.サーバーの起動と停止
  • 実行ファイル権限chmod 777 [ ]/sbin -R
  • を設定する.
  • サーバ[ ]/sbin/lighttpd -f [ ]/config/lighttpd.conf
  • を起動する.
  • アクセスサーバブラウザにip:portを入力し、アクセスサーバホームページのパスは/webpages
  • にある.
  • サーバを閉じるkillall lighttpd