やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ラズパイ3にPythonコンパイル用ツールをインストールする2

苦労しまくり。

参考

前回まで

前回、opensslなど、コンパイルに必要なツールが足りていないことが発覚。

参考にしたPython学習環境を用意するはLinuxMint17.3での話だった。ラズパイ3とはツールのインストール状況が違うのだろう。こうなると、そもそも必要ツールがわからないので調査。

開発環境

  • Raspberry Pi 3 Model B
    • cat /etc/debian_version: 8.0
    • uname -a: Linux raspberrypi 4.4.26-v7+ #915 SMP Thu Oct 20 17:08:44 BST 2016 armv7l GNU/Linux

参考

コンパイル用ツール

こんなに沢山あるらしい。

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev

そういえば、tk-devがないと標準GUIが使えなかった気がする。一度インストールされると再インストールせねばならないはず。今気づいてよかった。

必須ソフトのインストール

メニュー設定Add/Remove Softwareにてインストール。

make, wget, curl はすでにコマンドが存在した。また、libbz2-dev, libreadline-dev, libsqlite3-dev の3つは前回インストールした。

UIの見方がよくわからなかったのでキャプチャと簡単なメモを残す。

状態 予想
チェックUI自体ない システム必須ライブラリ(インストール済み)
チェックあり インストール済み
チェックなし 未インストール

build-essential

f:id:ytyaru:20180127183116p:plain

インストール済みと思われる。チェックUI自体がない。OKボタン押下するとアプリが終了する。Applyボタン押下するとAuthenticationダイアログが表示される。

libssl-dev

f:id:ytyaru:20180127183131p:plain

チェック無し。OKボタン押下すると強制終了。Applyボタン押下するとAuthenticationダイアログが表示されて進む。

zlib1g-dev

f:id:ytyaru:20180127183144p:plain

インストール済みと思われる。チェックUI自体がない。Applyボタン押下してもAuthenticationダイアログが出ない。

libreadline-dev

f:id:ytyaru:20180127183155p:plain

チェック無し。チェックを付けてApplyボタン押下してもAuthenticationダイアログが表示されない。チェックは付いたのでインストールされたと思う。

llvm

f:id:ytyaru:20180127183211p:plain

チェック無し。チェックを付けてApplyボタン押下するとAuthenticationダイアログが表示されて進む。

libncurses5-dev

f:id:ytyaru:20180127183232p:plain

チェック無し。チェックを付けてApplyボタン押下してもAuthenticationダイアログが表示されない。チェックは付いたのでインストールされたと思う。

翌日、チェックがないことに気づく。このときApplyボタン押下するとAuthenticationダイアログが表示されて進んだ。なぜだ?

libncursesw5-dev

f:id:ytyaru:20180127183243p:plain

チェック無し。チェックを付けてApplyボタン押下してもAuthenticationダイアログが表示されない。チェックは付いたのでインストールされたと思う。

xz-utils

f:id:ytyaru:20180127183256p:plain

インストール済みと思われる。(チェックUI自体がない。Applyボタン押下してもAuthenticationダイアログが出ない)

tk-dev

f:id:ytyaru:20180127183304p:plain

チェック無し。チェックを付けてApplyボタン押下するとAuthenticationダイアログが表示されて進む。

インストール(3回目)

実行前にコンソール以外のアプリを終了しておく。メモリ不足でフリーズする恐れがある。

$ bash -l
$ pyenv -v
pyenv 1.2.1
$ pyenv install 3.6.4

なお、以下の件はそもそも/user/lib/openssl-1.0が存在していなかったので入力しない。

LDFLAGS="-L/usr/lib/openssl-1.0" \
CFLAGS="-I/usr/include/openssl-1.0" \
pyenv install -v 3.6.4

失敗。

$ pyenv install 3.6.4
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Installing Python-3.6.4...
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (Raspbian 8.0 using python-build 20160602)

Inspect or clean up the working tree at /tmp/python-build.20180127184112.3076
Results logged to /tmp/python-build.20180127184112.3076.log

Last 10 log lines:
        upgrade) ensurepip="--upgrade" ;; \
        install|*) ensurepip="" ;; \
    esac; \
     ./python -E -m ensurepip \
        $ensurepip --root=/ ; \
fi
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0

インストール(4回目)

LDFLAGS="-L/usr/lib/openssl-1.0" CFLAGS="-I/usr/include/openssl-1.0" pyenv install -v 3.6.4

やはり/user/lib/openssl-1.0が存在していないためエラー。

$ LDFLAGS="-L/usr/lib/openssl-1.0" CFLAGS="-I/usr/include/openssl-1.0" pyenv install -v 3.6.4
/tmp/python-build.20180127190303.18710 ~
Downloading Python-3.6.4.tar.xz...
-> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
/tmp/python-build.20180127190303.18710/Python-3.6.4 /tmp/python-build.20180127190303.18710 ~
Installing Python-3.6.4...
mkdir: ディレクトリ `/usr/lib/openssl-1.0' を作成できません: 許可がありません

BUILD FAILED (Raspbian 8.0 using python-build 20160602)

Inspect or clean up the working tree at /tmp/python-build.20180127190303.18710
Results logged to /tmp/python-build.20180127190303.18710.log

Last 10 log lines:
/tmp/python-build.20180127190303.18710 ~
/tmp/python-build.20180127190303.18710/Python-3.6.4 /tmp/python-build.20180127190303.18710 ~

調査

ラズパイ3だと状況が違う?

新たに浮上したライブラリはgit,gcc,openssl。このうちgit, opensslはすでにコマンドが存在した。念のため、makeも含めて確認してみた。

f:id:ytyaru:20180128083831p:plainf:id:ytyaru:20180128083834p:plainf:id:ytyaru:20180128083839p:plainf:id:ytyaru:20180128083845p:plain

  • openssl 1.0.1t-1-deb8u5
  • make 4.0-8.1
  • git-1:2.1.4-2.1+deb8u2
  • gcc-4:4.9.2-2

古いけど入ってる。問題なし。

OpenSSLの名前

openssl周りではまったときは - nabnabの日記

ライブラリの名前が違うっぽい。

  • libssl-dev
  • openssl-dev
  • openssl-devel

ディストリビューションごと? パッケージマネージャごと? とにかく同じOpenSSLでも名前が違うらしい。

ラズパイ3ではopenssl-dev

Add/Remove Softwareでインストールできていなかった!

念のため再度libssl-devを確認。すると入っていなかった。

f:id:ytyaru:20180128084801p:plain

入れたと思ったのに。念のため、他のもすべて確認。

libssl-dev、libreadline-dev、llvm、libncurses5-dev、libncursesw5-dev、tk-dev、がチェック付いてなかった。

なぜだ?すべてに対してApplyボタンを押下したあと、同様にOKボタンも押して回った。最後に✘ボタンでアプリ終了した。再びアプリ起動して確認すると、チェックがなかった。インストールされてない!

なぜかlibbz2-dev,libsqlite3-devは入っていた。

Add/Remove Softwareアプリではインストールできないツールがあるらしい。apt-getコマンドで入れてみる。

$ sudo apt-get install -y libssl-dev libreadline-dev llvm libncurses5-dev libncursesw5-dev tk-dev

失敗しまくり。

$ sudo apt-get install -y libssl-dev libreadline-dev llvm libncurses5-dev libncursesw5-dev tk-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  dc
これを削除するには 'apt-get autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  binfmt-support libffi-dev libfontconfig1-dev libice-dev libllvm3.5
  libpthread-stubs0-dev libreadline6-dev libsm-dev libssl-doc libtinfo-dev
  libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev
  libxft-dev libxrender-dev libxss-dev libxt-dev llvm-3.5 llvm-3.5-dev
  llvm-3.5-runtime llvm-runtime tcl tcl-dev tcl8.6 tcl8.6-dev tk tk8.6
  tk8.6-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev
  xorg-sgml-doctools xtrans-dev
提案パッケージ:
  libice-doc ncurses-doc readline-doc libsm-doc libxcb-doc libxext-doc
  libxt-doc llvm-3.5-doc tcl-doc tcl-tclreadline tcl8.6-doc tk-doc tk8.6-doc
以下のパッケージが新たにインストールされます:
  binfmt-support libffi-dev libfontconfig1-dev libice-dev libllvm3.5
  libncurses5-dev libncursesw5-dev libpthread-stubs0-dev libreadline-dev
  libreadline6-dev libsm-dev libssl-dev libssl-doc libtinfo-dev libx11-dev
  libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev
  libxrender-dev libxss-dev libxt-dev llvm llvm-3.5 llvm-3.5-dev
  llvm-3.5-runtime llvm-runtime tcl tcl-dev tcl8.6 tcl8.6-dev tk tk-dev tk8.6
  tk8.6-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev
  xorg-sgml-doctools xtrans-dev
アップグレード: 0 個、新規インストール: 45 個、削除: 0 個、保留: 0 個。
28.8 MB 中 20.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 130 MB のディスク容量が消費されます。
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libffi-dev armhf 3.1-2
  404  Not Found [IP: 93.93.128.193 80]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libtinfo-dev armhf 5.9+20140913-1
  404  Not Found [IP: 93.93.128.193 80]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libncurses5-dev armhf 5.9+20140913-1
  404  Not Found [IP: 93.93.128.193 80]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libncursesw5-dev armhf 5.9+20140913-1
  404  Not Found [IP: 93.93.128.193 80]
取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libpthread-stubs0-dev armhf 0.3-4 [4,042 B]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libsm-dev armhf 2:1.2.2-1 [33.5 kB]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-dev armhf 1.0.1t-1+deb8u5
  404  Not Found [IP: 93.93.128.193 80]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-doc all 1.0.1t-1+deb8u5
  404  Not Found [IP: 93.93.128.193 80]
取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxau-dev armhf 1:1.0.8-1 [23.0 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxdmcp-dev armhf 1:1.1.1-1 [40.8 kB]
取得:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main x11proto-input-dev all 2.3.1-1 [157 kB]
取得:6 http://mirrordirector.raspbian.org/raspbian/ jessie/main x11proto-kb-dev all 1.0.6-2 [269 kB]
取得:7 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxcb1-dev armhf 1.10-3 [78.1 kB]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libx11-dev armhf 2:1.6.2-3
  404  Not Found [IP: 93.93.128.193 80]
エラー http://mirrordirector.raspbian.org/raspbian/ jessie/main libx11-doc all 2:1.6.2-3
  404  Not Found [IP: 93.93.128.193 80]
取得:8 http://mirrordirector.raspbian.org/raspbian/ jessie/main x11proto-xext-dev all 7.3.0-1 [212 kB]
取得:9 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxext-dev armhf 2:1.3.3-1 [102 kB]
取得:10 http://mirrordirector.raspbian.org/raspbian/ jessie/main x11proto-render-dev all 2:0.11.1-2 [20.8 kB]
取得:11 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxrender-dev armhf 1:0.9.8-1 [38.8 kB]
取得:12 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxft-dev armhf 2.3.2-1 [59.1 kB]
取得:13 http://mirrordirector.raspbian.org/raspbian/ jessie/main x11proto-scrnsaver-dev all 1.2.2-1 [25.0 kB]
取得:14 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxss-dev armhf 1:1.2.2-1 [22.7 kB]
取得:15 http://mirrordirector.raspbian.org/raspbian/ jessie/main libxt-dev armhf 1:1.1.4-1 [447 kB]
取得:16 http://mirrordirector.raspbian.org/raspbian/ jessie/main llvm-3.5-runtime armhf 1:3.5-10+rpi1 [50.6 kB]
取得:17 http://mirrordirector.raspbian.org/raspbian/ jessie/main llvm-runtime armhf 1:3.5-25 [4,434 B]
取得:18 http://mirrordirector.raspbian.org/raspbian/ jessie/main llvm-3.5 armhf 1:3.5-10+rpi1 [995 kB]
取得:19 http://mirrordirector.raspbian.org/raspbian/ jessie/main llvm armhf 1:3.5-25 [6,174 B]
取得:20 http://mirrordirector.raspbian.org/raspbian/ jessie/main llvm-3.5-dev armhf 1:3.5-10+rpi1 [10.3 MB]
取得:21 http://mirrordirector.raspbian.org/raspbian/ jessie/main tcl8.6 armhf 8.6.2+dfsg-2 [122 kB]
取得:22 http://mirrordirector.raspbian.org/raspbian/ jessie/main tcl armhf 8.6.0+8+b1 [5,508 B]
取得:23 http://mirrordirector.raspbian.org/raspbian/ jessie/main tcl8.6-dev armhf 8.6.2+dfsg-2 [887 kB]
取得:24 http://mirrordirector.raspbian.org/raspbian/ jessie/main tcl-dev armhf 8.6.0+8+b1 [7,874 B]
取得:25 http://mirrordirector.raspbian.org/raspbian/ jessie/main tk8.6 armhf 8.6.2-1 [71.0 kB]
取得:26 http://mirrordirector.raspbian.org/raspbian/ jessie/main tk armhf 8.6.0+8+b1 [5,534 B]
取得:27 http://mirrordirector.raspbian.org/raspbian/ jessie/main tk8.6-dev armhf 8.6.2-1 [652 kB]
取得:28 http://mirrordirector.raspbian.org/raspbian/ jessie/main tk-dev armhf 8.6.0+8+b1 [5,312 B]
14.7 MB を 26秒 で取得しました (557 kB/s)                                      
E: http://mirrordirector.raspbian.org/raspbian/pool/main/libf/libffi/libffi-dev_3.1-2_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/n/ncurses/libtinfo-dev_5.9+20140913-1_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/n/ncurses/libncurses5-dev_5.9+20140913-1_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/n/ncurses/libncursesw5-dev_5.9+20140913-1_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/o/openssl/libssl-dev_1.0.1t-1+deb8u5_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/o/openssl/libssl-doc_1.0.1t-1+deb8u5_all.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/libx/libx11/libx11-dev_1.6.2-3_armhf.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: http://mirrordirector.raspbian.org/raspbian/pool/main/libx/libx11/libx11-doc_1.6.2-3_all.deb の取得に失敗しました  404  Not Found [IP: 93.93.128.193 80]

E: いくつかのアーカイブを取得できません。apt-get update を実行するか --fix-missing オプションを付けて試してみてください。
404  Not Found [IP: 93.93.128.193 80]

システムアップデート

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=176283

システムのアップデートをする必要があるらしい。

sudo apt-get update

嫌な予感しかしないが、仕方あるまい。

以外にも2分で完了。

$ sudo apt-get update
取得:1 http://mirrordirector.raspbian.org jessie InRelease [14.9 kB]
取得:2 http://archive.raspberrypi.org jessie InRelease [22.9 kB]   
取得:3 http://mirrordirector.raspbian.org jessie/main armhf Packages [9,536 kB]
取得:4 http://archive.raspberrypi.org jessie/main armhf Packages [171 kB]  
取得:5 http://archive.raspberrypi.org jessie/ui armhf Packages [58.9 kB]       
無視 http://archive.raspberrypi.org jessie/main Translation-ja_JP              
無視 http://archive.raspberrypi.org jessie/main Translation-ja                 
無視 http://archive.raspberrypi.org jessie/main Translation-en                 
無視 http://archive.raspberrypi.org jessie/ui Translation-ja_JP                
無視 http://archive.raspberrypi.org jessie/ui Translation-ja                   
無視 http://archive.raspberrypi.org jessie/ui Translation-en                   
取得:6 http://mirrordirector.raspbian.org jessie/contrib armhf Packages [43.3 kB]
取得:7 http://mirrordirector.raspbian.org jessie/non-free armhf Packages [84.2 kB]
取得:8 http://mirrordirector.raspbian.org jessie/rpi armhf Packages [1,356 B]  
無視 http://mirrordirector.raspbian.org jessie/contrib Translation-ja_JP       
無視 http://mirrordirector.raspbian.org jessie/contrib Translation-ja      
無視 http://mirrordirector.raspbian.org jessie/contrib Translation-en
無視 http://mirrordirector.raspbian.org jessie/main Translation-ja_JP
無視 http://mirrordirector.raspbian.org jessie/main Translation-ja
無視 http://mirrordirector.raspbian.org jessie/main Translation-en
無視 http://mirrordirector.raspbian.org jessie/non-free Translation-ja_JP
無視 http://mirrordirector.raspbian.org jessie/non-free Translation-ja
無視 http://mirrordirector.raspbian.org jessie/non-free Translation-en
無視 http://mirrordirector.raspbian.org jessie/rpi Translation-ja_JP
無視 http://mirrordirector.raspbian.org jessie/rpi Translation-ja
無視 http://mirrordirector.raspbian.org jessie/rpi Translation-en
9,933 kB を 53秒 で取得しました (186 kB/s)
パッケージリストを読み込んでいます... 完了

バージョン確認。

$ cat /etc/debian_version
8.0
$ uname -a
Linux raspberrypi 4.4.26-v7+ #915 SMP Thu Oct 20 17:08:44 BST 2016 armv7l GNU/Linux

インストールをもう一度

$ sudo apt-get install -y libssl-dev libreadline-dev llvm libncurses5-dev libncursesw5-dev tk-dev

成功したっぽい。

$ sudo apt-get install -y libssl-dev libreadline-dev llvm libncurses5-dev libncursesw5-dev tk-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  dc
これを削除するには 'apt-get autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  binfmt-support libffi-dev libffi6 libfontconfig1-dev libice-dev libllvm3.5
  libncurses5 libncursesw5 libpthread-stubs0-dev libreadline6-dev libsm-dev
  libssl-doc libssl1.0.0 libtinfo-dev libtinfo5 libx11-6 libx11-dev libx11-doc
  libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev libxrender-dev
  libxss-dev libxt-dev llvm-3.5 llvm-3.5-dev llvm-3.5-runtime llvm-runtime
  ncurses-bin tcl tcl-dev tcl8.6 tcl8.6-dev tk tk8.6 tk8.6-dev
  x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-render-dev
  x11proto-scrnsaver-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
提案パッケージ:
  libice-doc ncurses-doc readline-doc libsm-doc libxcb-doc libxext-doc
  libxt-doc llvm-3.5-doc tcl-doc tcl-tclreadline tcl8.6-doc tk-doc tk8.6-doc
以下のパッケージが新たにインストールされます:
  binfmt-support libffi-dev libfontconfig1-dev libice-dev libllvm3.5
  libncurses5-dev libncursesw5-dev libpthread-stubs0-dev libreadline-dev
  libreadline6-dev libsm-dev libssl-dev libssl-doc libtinfo-dev libx11-dev
  libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev
  libxrender-dev libxss-dev libxt-dev llvm llvm-3.5 llvm-3.5-dev
  llvm-3.5-runtime llvm-runtime tcl tcl-dev tcl8.6 tcl8.6-dev tk tk-dev tk8.6
  tk8.6-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev
  xorg-sgml-doctools xtrans-dev
以下のパッケージはアップグレードされます:
  libffi6 libncurses5 libncursesw5 libssl1.0.0 libtinfo5 libx11-6 ncurses-bin
アップグレード: 7 個、新規インストール: 45 個、削除: 0 個、保留: 265 個。
31.1 MB 中 8,627 kB のアーカイブを取得する必要があります。
この操作後に追加で 130 MB のディスク容量が消費されます。
取得:1 http://archive.raspberrypi.org/debian/ jessie/main x11proto-core-dev all 7.0.31-1 [728 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main ncurses-bin armhf 5.9+20140913-1+deb8u2 [342 kB]
取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libtinfo5 armhf 5.9+20140913-1+deb8u2 [271 kB]
取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main libncursesw5 armhf 5.9+20140913-1+deb8u2 [99.0 kB]
取得:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main libncurses5 armhf 5.9+20140913-1+deb8u2 [76.4 kB]
取得:6 http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl1.0.0 armhf 1.0.1t-1+deb8u7 [853 kB]
取得:7 http://mirrordirector.raspbian.org/raspbian/ jessie/main libffi6 armhf 3.1-2+deb8u1 [18.6 kB]
取得:8 http://mirrordirector.raspbian.org/raspbian/ jessie/main libx11-6 armhf 2:1.6.2-3+deb8u1 [664 kB]
取得:9 http://mirrordirector.raspbian.org/raspbian/ jessie/main libffi-dev armhf 3.1-2+deb8u1 [153 kB]
取得:10 http://mirrordirector.raspbian.org/raspbian/ jessie/main libtinfo-dev armhf 5.9+20140913-1+deb8u2 [66.2 kB]
取得:11 http://mirrordirector.raspbian.org/raspbian/ jessie/main libncurses5-dev armhf 5.9+20140913-1+deb8u2 [154 kB]
取得:12 http://mirrordirector.raspbian.org/raspbian/ jessie/main libncursesw5-dev armhf 5.9+20140913-1+deb8u2 [178 kB]
取得:13 http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-dev armhf 1.0.1t-1+deb8u7 [1,095 kB]
取得:14 http://mirrordirector.raspbian.org/raspbian/ jessie/main libssl-doc all 1.0.1t-1+deb8u7 [1,168 kB]
取得:15 http://mirrordirector.raspbian.org/raspbian/ jessie/main libx11-dev armhf 2:1.6.2-3+deb8u1 [735 kB]
取得:16 http://mirrordirector.raspbian.org/raspbian/ jessie/main libx11-doc all 2:1.6.2-3+deb8u1 [2,025 kB]
8,627 kB を 10秒 で取得しました (834 kB/s)                                     
changelog を読んでいます... 完了       
パッケージからテンプレートを展開しています: 100%
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 123516 個のファイルとディレクトリがインストールされています。)
.../ncurses-bin_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
ncurses-bin (5.9+20140913-1+deb8u2)(5.9+20140913-1) 上書き展開しています ...
man-db (2.7.0.2-5) のトリガを処理しています ...
ncurses-bin (5.9+20140913-1+deb8u2) を設定しています ...
(データベースを読み込んでいます ... 現在 123516 個のファイルとディレクトリがインストールされています。)
.../libtinfo5_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libtinfo5:armhf (5.9+20140913-1+deb8u2)(5.9+20140913-1) 上書き展開しています ...
libtinfo5:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 123516 個のファイルとディレクトリがインストールされています。)
.../libncursesw5_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libncursesw5:armhf (5.9+20140913-1+deb8u2)(5.9+20140913-1) 上書き展開しています ...
libncursesw5:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 123516 個のファイルとディレクトリがインストールされています。)
.../libncurses5_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libncurses5:armhf (5.9+20140913-1+deb8u2)(5.9+20140913-1) 上書き展開しています ...
libncurses5:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 123516 個のファイルとディレクトリがインストールされています。)
.../libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb を展開する準備をしています ...
libssl1.0.0:armhf (1.0.1t-1+deb8u7)(1.0.1t-1+deb8u5 に) 上書き展開しています ...
.../libffi6_3.1-2+deb8u1_armhf.deb を展開する準備をしています ...
libffi6:armhf (3.1-2+deb8u1)(3.1-2) 上書き展開しています ...
以前に未選択のパッケージ libllvm3.5:armhf を選択しています。
.../libllvm3.5_1%3a3.5-10+rpi1_armhf.deb を展開する準備をしています ...
libllvm3.5:armhf (1:3.5-10+rpi1) を展開しています...
.../libx11-6_2%3a1.6.2-3+deb8u1_armhf.deb を展開する準備をしています ...
libx11-6:armhf (2:1.6.2-3+deb8u1)(2:1.6.2-3) 上書き展開しています ...
以前に未選択のパッケージ binfmt-support を選択しています。
.../binfmt-support_2.1.5-1_armhf.deb を展開する準備をしています ...
binfmt-support (2.1.5-1) を展開しています...
以前に未選択のパッケージ libffi-dev:armhf を選択しています。
.../libffi-dev_3.1-2+deb8u1_armhf.deb を展開する準備をしています ...
libffi-dev:armhf (3.1-2+deb8u1) を展開しています...
以前に未選択のパッケージ libfontconfig1-dev:armhf を選択しています。
.../libfontconfig1-dev_2.11.0-6.3+deb8u1_armhf.deb を展開する準備をしています ...
libfontconfig1-dev:armhf (2.11.0-6.3+deb8u1) を展開しています...
以前に未選択のパッケージ xorg-sgml-doctools を選択しています。
.../xorg-sgml-doctools_1%3a1.11-1_all.deb を展開する準備をしています ...
xorg-sgml-doctools (1:1.11-1) を展開しています...
以前に未選択のパッケージ x11proto-core-dev を選択しています。
.../x11proto-core-dev_7.0.31-1_all.deb を展開する準備をしています ...
x11proto-core-dev (7.0.31-1) を展開しています...
以前に未選択のパッケージ libice-dev:armhf を選択しています。
.../libice-dev_2%3a1.0.9-1_armhf.deb を展開する準備をしています ...
libice-dev:armhf (2:1.0.9-1) を展開しています...
以前に未選択のパッケージ libtinfo-dev:armhf を選択しています。
.../libtinfo-dev_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libtinfo-dev:armhf (5.9+20140913-1+deb8u2) を展開しています...
以前に未選択のパッケージ libncurses5-dev:armhf を選択しています。
.../libncurses5-dev_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libncurses5-dev:armhf (5.9+20140913-1+deb8u2) を展開しています...
以前に未選択のパッケージ libncursesw5-dev:armhf を選択しています。
.../libncursesw5-dev_5.9+20140913-1+deb8u2_armhf.deb を展開する準備をしています ...
libncursesw5-dev:armhf (5.9+20140913-1+deb8u2) を展開しています...
以前に未選択のパッケージ libpthread-stubs0-dev:armhf を選択しています。
.../libpthread-stubs0-dev_0.3-4_armhf.deb を展開する準備をしています ...
libpthread-stubs0-dev:armhf (0.3-4) を展開しています...
以前に未選択のパッケージ libreadline6-dev:armhf を選択しています。
.../libreadline6-dev_6.3-8_armhf.deb を展開する準備をしています ...
libreadline6-dev:armhf (6.3-8) を展開しています...
以前に未選択のパッケージ libreadline-dev:armhf を選択しています。
.../libreadline-dev_6.3-8_armhf.deb を展開する準備をしています ...
libreadline-dev:armhf (6.3-8) を展開しています...
以前に未選択のパッケージ libsm-dev:armhf を選択しています。
.../libsm-dev_2%3a1.2.2-1_armhf.deb を展開する準備をしています ...
libsm-dev:armhf (2:1.2.2-1) を展開しています...
以前に未選択のパッケージ libssl-dev:armhf を選択しています。
.../libssl-dev_1.0.1t-1+deb8u7_armhf.deb を展開する準備をしています ...
libssl-dev:armhf (1.0.1t-1+deb8u7) を展開しています...
以前に未選択のパッケージ libssl-doc を選択しています。
.../libssl-doc_1.0.1t-1+deb8u7_all.deb を展開する準備をしています ...
libssl-doc (1.0.1t-1+deb8u7) を展開しています...
以前に未選択のパッケージ libxau-dev:armhf を選択しています。
.../libxau-dev_1%3a1.0.8-1_armhf.deb を展開する準備をしています ...
libxau-dev:armhf (1:1.0.8-1) を展開しています...
以前に未選択のパッケージ libxdmcp-dev:armhf を選択しています。
.../libxdmcp-dev_1%3a1.1.1-1_armhf.deb を展開する準備をしています ...
libxdmcp-dev:armhf (1:1.1.1-1) を展開しています...
以前に未選択のパッケージ x11proto-input-dev を選択しています。
.../x11proto-input-dev_2.3.1-1_all.deb を展開する準備をしています ...
x11proto-input-dev (2.3.1-1) を展開しています...
以前に未選択のパッケージ x11proto-kb-dev を選択しています。
.../x11proto-kb-dev_1.0.6-2_all.deb を展開する準備をしています ...
x11proto-kb-dev (1.0.6-2) を展開しています...
以前に未選択のパッケージ xtrans-dev を選択しています。
.../xtrans-dev_1.3.5-1_all.deb を展開する準備をしています ...
xtrans-dev (1.3.5-1) を展開しています...
以前に未選択のパッケージ libxcb1-dev:armhf を選択しています。
.../libxcb1-dev_1.10-3_armhf.deb を展開する準備をしています ...
libxcb1-dev:armhf (1.10-3) を展開しています...
以前に未選択のパッケージ libx11-dev:armhf を選択しています。
.../libx11-dev_2%3a1.6.2-3+deb8u1_armhf.deb を展開する準備をしています ...
libx11-dev:armhf (2:1.6.2-3+deb8u1) を展開しています...
以前に未選択のパッケージ libx11-doc を選択しています。
.../libx11-doc_2%3a1.6.2-3+deb8u1_all.deb を展開する準備をしています ...
libx11-doc (2:1.6.2-3+deb8u1) を展開しています...
以前に未選択のパッケージ x11proto-xext-dev を選択しています。
.../x11proto-xext-dev_7.3.0-1_all.deb を展開する準備をしています ...
x11proto-xext-dev (7.3.0-1) を展開しています...
以前に未選択のパッケージ libxext-dev:armhf を選択しています。
.../libxext-dev_2%3a1.3.3-1_armhf.deb を展開する準備をしています ...
libxext-dev:armhf (2:1.3.3-1) を展開しています...
以前に未選択のパッケージ x11proto-render-dev を選択しています。
.../x11proto-render-dev_2%3a0.11.1-2_all.deb を展開する準備をしています ...
x11proto-render-dev (2:0.11.1-2) を展開しています...
以前に未選択のパッケージ libxrender-dev:armhf を選択しています。
.../libxrender-dev_1%3a0.9.8-1_armhf.deb を展開する準備をしています ...
libxrender-dev:armhf (1:0.9.8-1) を展開しています...
以前に未選択のパッケージ libxft-dev を選択しています。
.../libxft-dev_2.3.2-1_armhf.deb を展開する準備をしています ...
libxft-dev (2.3.2-1) を展開しています...
以前に未選択のパッケージ x11proto-scrnsaver-dev を選択しています。
.../x11proto-scrnsaver-dev_1.2.2-1_all.deb を展開する準備をしています ...
x11proto-scrnsaver-dev (1.2.2-1) を展開しています...
以前に未選択のパッケージ libxss-dev:armhf を選択しています。
.../libxss-dev_1%3a1.2.2-1_armhf.deb を展開する準備をしています ...
libxss-dev:armhf (1:1.2.2-1) を展開しています...
以前に未選択のパッケージ libxt-dev:armhf を選択しています。
.../libxt-dev_1%3a1.1.4-1_armhf.deb を展開する準備をしています ...
libxt-dev:armhf (1:1.1.4-1) を展開しています...
以前に未選択のパッケージ llvm-3.5-runtime を選択しています。
.../llvm-3.5-runtime_1%3a3.5-10+rpi1_armhf.deb を展開する準備をしています ...
llvm-3.5-runtime (1:3.5-10+rpi1) を展開しています...
以前に未選択のパッケージ llvm-runtime を選択しています。
.../llvm-runtime_1%3a3.5-25_armhf.deb を展開する準備をしています ...
llvm-runtime (1:3.5-25) を展開しています...
以前に未選択のパッケージ llvm-3.5 を選択しています。
.../llvm-3.5_1%3a3.5-10+rpi1_armhf.deb を展開する準備をしています ...
llvm-3.5 (1:3.5-10+rpi1) を展開しています...
以前に未選択のパッケージ llvm を選択しています。
.../llvm_1%3a3.5-25_armhf.deb を展開する準備をしています ...
llvm (1:3.5-25) を展開しています...
以前に未選択のパッケージ llvm-3.5-dev を選択しています。
.../llvm-3.5-dev_1%3a3.5-10+rpi1_armhf.deb を展開する準備をしています ...
llvm-3.5-dev (1:3.5-10+rpi1) を展開しています...
以前に未選択のパッケージ tcl8.6 を選択しています。
.../tcl8.6_8.6.2+dfsg-2_armhf.deb を展開する準備をしています ...
tcl8.6 (8.6.2+dfsg-2) を展開しています...
以前に未選択のパッケージ tcl を選択しています。
.../tcl_8.6.0+8+b1_armhf.deb を展開する準備をしています ...
tcl (8.6.0+8+b1) を展開しています...
以前に未選択のパッケージ tcl8.6-dev:armhf を選択しています。
.../tcl8.6-dev_8.6.2+dfsg-2_armhf.deb を展開する準備をしています ...
tcl8.6-dev:armhf (8.6.2+dfsg-2) を展開しています...
以前に未選択のパッケージ tcl-dev:armhf を選択しています。
.../tcl-dev_8.6.0+8+b1_armhf.deb を展開する準備をしています ...
tcl-dev:armhf (8.6.0+8+b1) を展開しています...
以前に未選択のパッケージ tk8.6 を選択しています。
.../tk8.6_8.6.2-1_armhf.deb を展開する準備をしています ...
tk8.6 (8.6.2-1) を展開しています...
以前に未選択のパッケージ tk を選択しています。
.../tk_8.6.0+8+b1_armhf.deb を展開する準備をしています ...
tk (8.6.0+8+b1) を展開しています...
以前に未選択のパッケージ tk8.6-dev:armhf を選択しています。
.../tk8.6-dev_8.6.2-1_armhf.deb を展開する準備をしています ...
tk8.6-dev:armhf (8.6.2-1) を展開しています...
以前に未選択のパッケージ tk-dev:armhf を選択しています。
.../tk-dev_8.6.0+8+b1_armhf.deb を展開する準備をしています ...
tk-dev:armhf (8.6.0+8+b1) を展開しています...
man-db (2.7.0.2-5) のトリガを処理しています ...
systemd (215-17+deb8u5) のトリガを処理しています ...
install-info (5.2.0.dfsg.1-6) のトリガを処理しています ...
libssl1.0.0:armhf (1.0.1t-1+deb8u7) を設定しています ...
libffi6:armhf (3.1-2+deb8u1) を設定しています ...
libllvm3.5:armhf (1:3.5-10+rpi1) を設定しています ...
libx11-6:armhf (2:1.6.2-3+deb8u1) を設定しています ...
binfmt-support (2.1.5-1) を設定しています ...
libffi-dev:armhf (3.1-2+deb8u1) を設定しています ...
libfontconfig1-dev:armhf (2.11.0-6.3+deb8u1) を設定しています ...
xorg-sgml-doctools (1:1.11-1) を設定しています ...
x11proto-core-dev (7.0.31-1) を設定しています ...
libice-dev:armhf (2:1.0.9-1) を設定しています ...
libtinfo-dev:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libncurses5-dev:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libncursesw5-dev:armhf (5.9+20140913-1+deb8u2) を設定しています ...
libpthread-stubs0-dev:armhf (0.3-4) を設定しています ...
libreadline6-dev:armhf (6.3-8) を設定しています ...
libreadline-dev:armhf (6.3-8) を設定しています ...
libsm-dev:armhf (2:1.2.2-1) を設定しています ...
libssl-dev:armhf (1.0.1t-1+deb8u7) を設定しています ...
libssl-doc (1.0.1t-1+deb8u7) を設定しています ...
libxau-dev:armhf (1:1.0.8-1) を設定しています ...
libxdmcp-dev:armhf (1:1.1.1-1) を設定しています ...
x11proto-input-dev (2.3.1-1) を設定しています ...
x11proto-kb-dev (1.0.6-2) を設定しています ...
xtrans-dev (1.3.5-1) を設定しています ...
libxcb1-dev:armhf (1.10-3) を設定しています ...
libx11-dev:armhf (2:1.6.2-3+deb8u1) を設定しています ...
libx11-doc (2:1.6.2-3+deb8u1) を設定しています ...
x11proto-xext-dev (7.3.0-1) を設定しています ...
libxext-dev:armhf (2:1.3.3-1) を設定しています ...
x11proto-render-dev (2:0.11.1-2) を設定しています ...
libxrender-dev:armhf (1:0.9.8-1) を設定しています ...
libxft-dev (2.3.2-1) を設定しています ...
x11proto-scrnsaver-dev (1.2.2-1) を設定しています ...
libxss-dev:armhf (1:1.2.2-1) を設定しています ...
libxt-dev:armhf (1:1.1.4-1) を設定しています ...
llvm-3.5-runtime (1:3.5-10+rpi1) を設定しています ...
llvm-runtime (1:3.5-25) を設定しています ...
llvm-3.5 (1:3.5-10+rpi1) を設定しています ...
llvm (1:3.5-25) を設定しています ...
llvm-3.5-dev (1:3.5-10+rpi1) を設定しています ...
tcl8.6 (8.6.2+dfsg-2) を設定しています ...
tcl (8.6.0+8+b1) を設定しています ...
tcl8.6-dev:armhf (8.6.2+dfsg-2) を設定しています ...
tcl-dev:armhf (8.6.0+8+b1) を設定しています ...
tk8.6 (8.6.2-1) を設定しています ...
tk (8.6.0+8+b1) を設定しています ...
tk8.6-dev:armhf (8.6.2-1) を設定しています ...
tk-dev:armhf (8.6.0+8+b1) を設定しています ...
libc-bin (2.19-18+deb8u6) のトリガを処理しています ...
systemd (215-17+deb8u5) のトリガを処理しています ...

ついでにパッケージの更新もする。

成功したっぽい。

$ sudo apt-get upgrade

1時間かっかった。

放置していたら以下の画面で止まっていた。

ca-certificates (20141019+deb8u2) stable; urgency=medium

  Update Mozilla certificate authority bundle to version 2.9.
    The following certificate authorities were added (+):
    + "Certplus Root CA G1"
    + "Certplus Root CA G2"
    + "Certum Trusted Network CA 2"
    + "Hellenic Academic and Research Institutions ECC RootCA 2015"
    + "Hellenic Academic and Research Institutions RootCA 2015"
    + "ISRG Root X1"
    + "OpenTrust Root CA G1"
    + "OpenTrust Root CA G2"
    + "OpenTrust Root CA G3"
    + "SZAFIR ROOT CA2"
    The following certificate authorities were removed (-):
    - "CA Disig"
    - "NetLock Business (Class B) Root"
    - "NetLock Express (Class C) Root"
    - "NetLock Notary (Class A) Root"
    - "NetLock Qualified (Class QA) Root"
    - "Sonera Class 1 Root CA"
    - "Staat der Nederlanden Root CA"
    - "Verisign Class 1 Public Primary Certification Authority - G2"
:

:が最後の行にあることから、viが起動しているのかもしれない。qを押下すると進んだ。

apt-getの使い方

apt-getのupdateupgradeの違いがわからなくなる。使い方は以下などを参照。

apt-getによるパッケージのアップデートについて – 業務プログラムの実践学習

本来の手順

本来、順序としては以下が正しいと思われる。

  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. Pythonコンパイルツール一式インストール
  4. pyenvインストール
  5. pyenvによるPythonインストール

Pythonコンパイルツール一式

OSごとに異なる模様。

今まで見てきたサイトで入手すべきと言われていたツールすべてをまとめてみた。

$ sudo apt-get install -y gcc make wget curl git openssl build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev