2014年6月16日月曜日

xfs_fsr

xfsのデフラグのために、ls-qlにxfs_fsrが欲しいのでをビルドした。

■pre-requisite
sysroot=~/ls-ql/worktop/arm-built-from-src/sysroot
export PATH=$sysroot/../tools/bin:$PATH
ncurses
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
./configure --prefix=$sysroot/usr --host=arm-none-linux-gnueabi --with-shared
■libtool
wget http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
./configure --prefix=$sysroot/../tools --host=arm-none-linux-gnueabi --program-prefix=arm-none-linux-gnueabi-
make ; make install
e2fsprogs (libuuid)
wget http://buffalo.jp/php/los.php?to=gpl/storage/ls-chl/102/e2fsprogs-1.40.5.tar.gz -o e2fsprogs-1.40.5.tar.gz
./configure --prefix=$sysroot/usr/local --host=arm-none-linux-gnueabi --enable-elf-shlibs --with-cc=arm-none-linux-gnueabi-gcc --with-linker=arm-none-linux-gnueabi-ld
make ; make install ; make install-libs
xfsprogs

wget ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/xfsprogs_2.9.4-1.tar.gz
./configure --prefix=$sysroot/usr/local --host=arm-none-linux-gnueabi LDFLAGS="-L$sysroot/usr/local/lib -L$sysroot/usr/lib -L$sysroot/lib" CPPFLAGS="-I$sysroot/usr/local/include -I$sysroot/usr/include" LIBTOOL='arm-none-linux-gnueabi-libtool'
make ; make install ; make install-devs
attr
wget http://download.savannah.gnu.org/releases/attr/attr-2.4.47.src.tar.gz
./configure --prefix=$sysroot/usr/local --host=arm-none-linux-gnueabi --enable-sharedmake ; make install ; make install-lib ; make install-dev
  ========================================
  ./configure --prefix=/usr/local --host=arm-none-linux-gnueabi --enable-shared
  make
  checkinstall --install=no make install-lib
  ========================================
@$sysroot/usr/include
ln -s ncurses/ncurses.h ncurses.h
xfsdump
wget ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/xfsdump_2.2.48-1.tar.gz
./configure --prefix=$sysroot/usr/local --host=arm-none-linux-gnueabi LDFLAGS="-L$sysroot/usr/local/lib -L$sysroot/usr/lib -L$sysroot/lib" CPPFLAGS="-I$sysroot/usr/local/include -I$sysroot/usr/include" LIBTOOL='arm-none-linux-gnueabi-libtool'
make ; make install

隘路

libuuid

libuuidには、e2fsprogs付属のものとOSSPによるものとがある。xfsprogsで必要なのは、e2fsprogsの方である。
使用しなかったが、OSSPのlibuuidのクロスコンパイルは下記のようにした:
./configure --prefix=$sysroot/usr/local --host=arm-none-linux-gnueabi ac_cv_va_copy=yes
make ; make install
クロスコンパイルでconfigureを通すために、ac_cv_vacopy=yesを指定。
http://d.hatena.ne.jp/maminus/20100120/1264000663

libtool

クロスコンパイル用のlibtoolを使うことでxfsprogs, xfsdumpをクロスコンパイルできた。
http://www.metastatic.org/text/libtool.html