Pythonをインストール後、PIPをインストールし、PIPからFlexGetをインストールする。
Pythonのビルド、インストール
クロスコンパイルするが、ホスト環境のpython, Parser/pgenをクロスコンパイルの中で使うので、最初にこれをビルドして、名前を変更しておく。./configureクロスコンパイルする。
make python Parser/pgen
mv python hostpython
mv Parser/pgen Parser/hostpgen
make distclean
CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib ./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i686-none-linux-gnu
configure
CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib CPPFLAGS="-I$sysroot/usr/local/include/ -I$sysroot/usr/include/" LDFLAGS="-L$sysroot/usr/local/lib/ -L$sysroot/usr/lib/ -L$sysroot/lib/" ./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi --build=i686-none-linux-gnu
make
make EXTRA_FLAGS="$CFLAGS" HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen CROSS_COMPILE=arm-none-linux-gnueabi- CROSS_COMPILE_TARGET=yes BLDSHARED='arm-none-linux-gnueabi-gcc -shared'
chekcinstallで、パッケージ作成しようとしたがエラー。make installして、tarで固めて、ls-qlに持っていくことにする。
checkinstall --install=no -A arm make install EXTRA_CFLAGS="$CFLAGS" HOSTPYTHON=./hostpython CROSS_COMPILE=arm-none-linxu-gnueabi- CROSS_COMPILE_TARGET=yes BLDSHARED='arm-none-linux-gnueabi-gcc -shared'
make install EXTRA_CFLAGS="$CFLAGS" HOSTPYTHON=./hostpython CROSS_COMPILE=arm-none-linxu-gnueabi- CROSS_COMPILE_TARGET=yes BLDSHARED='arm-none-linux-gnueabi-gcc -shared' prefix=~/ls-ql/Python-2.6.8/install
cd ~/ls-ql
tar zcvf Python-2.6.8.tar.gz Python-2.6.8
ls-qlにて、
tar zxvf Python-2.6.8.tar.gz
ln -s ${where tar extracted}/Python-2.6.8/instal/bin/python /usr/local/bin/python
ln -s ${where tar extracted}/Python-2.6.8/instal/lib/python2.6 /usr/local/lib/python2.6
Python-2.6.8/install/bin/python -V
Python-2.6.8/install/bin/python Python-2.6.8/install/lib/python2.6/test/test___all__.py
PIPのインストール
cd /usr/local/bin
ln -s {path to Python}/Python-2.6.8/install/bin/pip
Flexgetのインストール
$pip install flexget
スペース不足エラー。。。環境変数TEMPを設定して再実行。(http://flexget.com/wiki/InstallWizard/BuffaloLinkstation)
隘路
- ez_setup.pyを実行すると、curl でエラー。.curlrcを作る。
$ echo insecure >> ~/.curlrc
- get-pip.pyを実行すると、bz2モジュールがないとのエラー。
bz2は、configureがないので、Makefileを編集してクロスコンパイルする。
# To assist in cross-compiling
CC=arm-none-linux-gnueabi-gcc
AR=arm-none-linux-gnueabi-ar
RANLIB=arm-none-linux-gnueabi-ranlib
LDFLAGS=-L$sysroot/usr/local/lib/ -L$sysroot/usr/lib/ -L$sysroot/lib/
make -f Makefile-libbz2_so
make clean
non-sharedを作成
make
クロスコンパイル環境用にインストール
make PREFIX=$sysroot/usr/local install
sharedをクロスコンパイル環境にコピー
cp -v bzip2-shared $sysroot/usr/local/bin/bzip2 cp -av libbz2.so* $sysroot/usr/local/libln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.sorm -v $sysroot/usr/local/bin/{bunzip2,bzcat} ln -sv bzip2 $sysroot/usr/local/bin/bunzip2 ln -sv bzip2 $sysroot/usr/local/bin/bzcat
http://cross-lfs.org/view/svn/alpha/final-system/bzip2.html
ls-ql用にパッケージを作成
sudo checkinstall --install=no make PREFIX=/usr/local install
- flexgetを実行すると、sqliteがないとエラー。
./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi --prefix=$sysroot/usr/local
make
make install
ls-ql用パッケージ作成。
make clean ; ./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi --prefix=$sysroot/usr/local ; make
su
PATH=$worktop/tools/bin:$PATH
checkinstall --install=no -A arm make install