バ ー ス デ ー ら ぁ め ん https://mstdn.maud.io/media/lG7voztG4yyxmjXJNUY
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
よくあるのが、32-bitのバイナリだけどシステムに32-bitのlibcやld.so辺りがないとか
apt-get install libc6:i386 libstdc++6:i386
(lddして足りないライブラリを探す)
apt-get install (足りないライブラリ):i386
実行ファイルが見つからないと見せかけて実はld.soが見つからないエラー、弊研究室において2〜3回/年のペースで寄せられる質問
多分カーネルにこれexecしろって渡したらその実行ファイルがないときもld.soがないときもENOENTを返してるかなんかじゃないですかね、これ
多分bash側でexecがNOENT返したときにそのファイルの存在を確認するコードを書けば区別できるんですが、実際はld.so以外にもなんかあるかもしれない(詳しくはカーネル読まないとわからん、またarchやカーネルのバージョンによるかもしれない)のでまあ難しそう
ld.soの場所はarchとABI、libcの種類によって違うので、ld.soをstatするのも厳しく、厳しい(ただし実行ファイルのELFヘッダを見ればすべてわかる(でもそれELF依存になるしな))
もっというとディストリビューションとそのバージョンによってもld.soの場所が変わるので一般的な解法としてはELFヘッダを読むしかなく、コマンドの実行に失敗したときのオーバーヘッドを多少増やす結果になる
$ grep bugs /proc/cpuinfo
bugs : cpu_meltdown
bugs : cpu_meltdown
bugs : cpu_meltdown
bugs : cpu_meltdown
$ uname -a
Linux veg 4.14.13-gentoo #1 SMP Fri Jan 12 23:29:01 JST 2018 x86_64 Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz GenuineIntel GNU/Linux
$
ンヒィ~!!!
ZFS on Linuxしているマシンを構築したので、tainted kernelステッカーでも注文して貼るか→なくね?という経緯
tainted kernelステッカー、例えばCUDA用マシンやZFS on LinuxなNASに貼るという需要があると思うんですけど(???)
This account is not set to public on notestock.