ラズパイZeroに最新curlをインストール(ラズパイZeroにAlexaをインストールできるか?その4)
この記事は「ラズパイZeroにAlexaをインストールできるか?」のサブ記事です。
「AIYをAlexa化」というカテゴリーを作ってそれに入れたので、これら関連の記事だけを見たい方はこのカテゴリーを選択してください。
はじめに
apt-getでインストールしたcurlでは、Alexa(avs-device-sdk)をビルド(make SampleApp)できなかった&中途半端なバージョンでは出来ても動作しなかったので、最新curlをビルド&インストールすることにしました。
最新curlをゲットしてのビルド&インストール
cd $HOME/sdk-folder/third-party/ git clone https://github.com/curl/curl.git cd curl cmake -DUSE_NGHTTP2=yes . make sudo make install
古いライブラリに参照されないようにする
デフォルトではprefixが/usr/localなので/usr/local/bin/curlにインストールされますが、実行時にはなぜかapt-getでインストールされたライブラリをリンクしようとしちゃいます。
$ ldd /usr/local/bin/curl /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so (0xb6ee8000) libcurl.so.4 => /lib/arm-linux-gnueabihf/libcurl.so.4 (0xb6de6000) ....
シェアードライブラリの参照順序を変更する方法がわからなかったので、シンボリックリンクの貼り直しで対処することにしました。
cd /lib/arm-linux-gnueabihf/ sudo ln -s /usr/local/lib/libcurl.so.4.8.0 . sudo rm libcurl.so sudo ln -s libcurl.so.4.8.0 libcurl.so sudo rm libcurl.so.4 sudo ln -s libcurl.so.4.8.0 libcurl.so.4
次のステップ
いよいよAlexa(avs-device-sdk)のビルドができるようになりました。