Arduino-1.8.0のavrdudeは、libtinfo.so.5への依存関係を壊しました。
$ ldd avrdude
linux-vdso.so.1 (0x00007ffc2507f000)
librt.so.1 => /lib64/librt.so.1 (0x00007fcb13f1c000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcb13d00000)
libm.so.6 => /lib64/libm.so.6 (0x00007fcb13a04000)
libtinfo.so.5 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007fcb1366b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcb14124000)
依存関係は、満たされる他のすべての依存関係と同じように、システムによって提供される必要があると思います。 Debianシステムでは、このファイルはlibtinfo5
パッケージに含まれています。
gentooでは、現在ncurses-6.x
がインストールされており、 avrdude-6.3
(Portageからインストール)が問題なくリンクされています(つまり、 libtinfo.so.6
)。
よくわかりませんが、プリコンパイルされたバイナリを配布する場合は、この場合静的リンクを使用しないでください(システム環境に依存しないようにするため)。
libtinfo.so.5はArchlinuxリポジトリにありません。 arduinoが独自のavrdudeバージョンを使用する必要がある場合は、正しいライブラリも含める必要があります。
@TheLoko ArchLinuxは、アップストリームソースからの独自のavrdudeを使用します。 ウィキを注意深く読んで、arduino-avr-coreをインストールできます。
@gagaraこの問題は以前のバージョンにすでにあったと思います。 ただし、arduinoのバイナリリリースでは、ライブラリを静的にパックする必要があるのは正しいことです。
https://github.com/arduino/Arduino/issues/5430を修正するために、jenkinsスレーブをUbuntu12.04からDebian7に移動した後、問題が再発しました。
libtinfo6
をパッケージ化するディストリビューションは通常、この種の問題を回避するために互換ライブラリを出荷しています( ncurses5-compat
などを検索してください)。
問題をhttps://github.com/arduino/avrdude-build-script/issues/4に移動します
最も参考になるコメント
libtinfo.so.5はArchlinuxリポジトリにありません。 arduinoが独自のavrdudeバージョンを使用する必要がある場合は、正しいライブラリも含める必要があります。