ubuntu LibraryのPATH

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
gammodler1

ubuntu LibraryのPATH

#1

投稿記事 by gammodler1 » 8年前

petalinuxというやや特殊な処理系のbuildに苦労しています。ubuntu16.04内に構築します。

これをBuildするに先立ちManualで20個ほどのLibraryを事前にInstallするよう求められています。petalinuxは64Bit環境で32Bitコードを出力する目的のものなので32Bit Libraryの不足は致命的です。
buildの最終段階で無効なimage.elfというメッセージがでてError終了となります。
これはLibraryの不足が原因であると指摘されました。しかし何が不足なのかを表示してくれないので大変苦労しています。

質問1.
必要なLibraryはapt-get insatall hoge
でInstallしたつもりなのですが、package毎に格納されるDirectoryが違うようです。
Library名:
tofrodos, iproute, gawk, gcc, git-core, make, net-tools, ncurses-dev, libncurses5-dev
, tftpd, zlib1g-dev, libssl-dev, flex, bison, lib32z1, lib32ncurses5, lib32bz2-1.0, lib32stdc++6, libselinux1
です。lib32bz2-1.0以外はInstallできました。
一方
PATH=/usr/local/sbin; /usr/local/bin; /usr/sbin; /usr/bin; /sbin; /bin; /usr/games; /usr/local/gamesと設定されています。
apt-get installによりこの中のどれかに自動的に格納されPATHのケアは不要と考えていたのですが、必ずしもそうではないようです。Libraryをファイルと見立て検索したところ、
/usr/share/lintian/overides/lib32z1
/usr/share/lintian/overides/libc6-i386
のような例が見つかりました。PATHの追加が必要なのは明らかなのですが、そのほかのものは独立したファイルになっていないようです。このようなLibraryのPATHはどのようにして特定するのでしょう?。またファイルとしてみつかっても格納場所がイコール参照場所なのかわかりません。

質問2
lib32bz2-1.0が見つからない問題ですが海外でこの問題に対処し成功した人のコメントを見ると
sudo apt-get install lib32bz2-1.0が成功した例もあるようです。そこでubuntuの海外サーバに手当たり次第アクセスしてみたのですが結果はNGでした。
ib32bz2-1.0が見つからない問題は本件以外にもいろいろあるようです。対象により代替するPackageは異なるのかもしれませんが、
http://askubuntu.com/questions/637113/u ... b32bz2-1-0
に libbz2-1.0:i386で代替可というコメントがありました。そこで
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libbz2-1.0:i386
としたのですが、これは妥当でしょうか?
現在のところ結果が悪いので判断できません。

素人のレベルをご容赦ください。コメントいただければ幸いです。

“C言語何でも質問掲示板” へ戻る