strings コマンド

2017年10月25日水曜日

子犬で使うアプリケーションを作成や公開されているパッケージを使おうとしてみると 時折こんなエラーメッセージが出ることがあります
不足の依存関係
libatomic.so.1 => not found
libc.so.6 (GLIBC_2.17) => not found
これはシステムにインストールされているlibc.so.6 (GLIBC) ライブラリが古く、動かそうとしているアプリケーションが要求するバージョンと合わないためのエラーが発生していることを意味しています

実際にシステムに組み込まれている libc.so.6 のバージョンを確認するには以下のコマンドを実行します
# strings /lib/libc.so.6 | grep GLIBC
GLIBC_2.0
GLIBC_2.1
GLIBC_2.1.1
GLIBC_2.1.2
GLIBC_2.1.3
GLIBC_2.2
GLIBC_2.2.1
GLIBC_2.2.2
GLIBC_2.2.3
GLIBC_2.2.4
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_PRIVATE
GNU C Library (Ubuntu EGLIBC 2.15-0ubuntu10.9) stable release version 2.15, by Roland McGrath et al.
この状況を回避するにはlibc.so.6を必要なバージョンが組み込まれた新しいものと入れ替える必要があります
libc.so.6 , libstdc++ は gcc に含まれるモジュールなので、gcc をビルドして、そこから取り出して既存のものと入れ替える
残念ですが 枯れたバージョンの子犬では良く体験することです

通常パピーではstringsコマンドが使えません
stringsコマンドはbinutils_2.22-6ubuntu1.4_i386.debにあります

precise系のパピーのパッケージマネージャーでダウンロードできない
precise ubuntuのパッケージが「old-releases.ubuntu.com」に移動されたのでその対策

/root/.packages/DISTRO_COMPAT_REPOS
PKG_DOCS_DISTRO_COMPAT="archive.ubuntu.com|http://archive.ubuntu.com/・・・・
archive.ubuntu.com → old-releases.ubuntu.com に変更
PKG_DOCS_DISTRO_COMPAT="old-releases.ubuntu.com|http://old-releases.ubuntu.com/・・・・

Copyright © 2010 休眠 | Free Blogger Templates by Splashy Templates | Layout by Atomic Website Templates