Linux 2.6.35のARMシステムでprelinkを実行しています。私はGlibc 2.12.2を使用しています。ライブラリとアプリケーションの実行ファイルをあらかじめリンクしたいと思います。しかし、glibcに直接依存するものはリンクできないようです。 prelinkのは/lib
上で実行しようとすると、それにエラーアウト:Prelink error:レイアウトエラー:データのセクションサイズが小さすぎる
Could not write /lib/libc-2.12.2.so: Layout error: section size too small for data
は私がこの問題を解決するか、おそらく/lib
に存在するものを除いて、すべてをprelinkをprelinkのを説得するためにそこに方法は何ですか?私は/etc/prelink.conf
のブラックリスト機能を認識していますが、そのディレクトリにある依存関係を見つけることができないため、prelinkはエラーになります。
編集:
ここでは私のprelink.confは、私は、フリースケールi.MX51により、プラットフォームの午前
~ # cat /etc/prelink.conf -h /usr/local/Qt-4.7.4/lib -h /usr/lib -h /lib -h /usr/local/dbus/lib -h /usr/local/sqlite/lib -h /usr/local/ncurses/lib -h /usr/local/expat/lib -h /usr/local/ssl/lib
です。これはARM Cortex-8です。開発キットに付属しているGCC/G ++バージョンですべてをコンパイルしたので、ELFバイナリは32ビットと仮定します。
編集:
私はのを-lする-hフラグを変更し、リストの先頭にシステムLIBSを移動しました。私はまだ同じエラーが発生します。
私は装置上でプレリンクを実行していますが、私のクロスビルディングマシンでは実行していません。
LD_LIBRARY_PATHに/ libに含まれているとは/ usr/libに
しようとしました実行しているprelinkのよう: prelinkの-a prelinkの-amR
と同じ結果に両方の方法を得ました。
私はgcc 4.4.6クロスコンパイラを実行しています。 私はld 1.12.1 ldを実行しています。
avaliableである、あなたは[ように専門家を見つけることが可能性が高くなります]あなた自身のプログラムを構築しているときは特にそうです。だから私は移行のためにこの質問にフラグを立てています(再投稿しないでください)。 – Gilles
いいえ、問題ありません。この質問は実際にコードを書くことを伴わないので、私はSOモッズがここにそれを移したいと思った。私はそこにチャンスがあったと思ったが、ルールによってプレーしたいと思った。助けてくれてありがとう。 –