
私はLinux MintホストにLinux From Scratchシステムを構築しようとしています。ただし、version-check.shファイルを実行すると、およびがあるがシステムに、およびlibgmp.la
がないlibmpfr.la
というメッセージが返されます。バージョン確認の結果は次のとおりです。libmpc.la
libgmp10
lipmpc3
libmpfr4
bash, version 4.2.45(1)-release
/bin/sh -> /bin/dash
Binutils: (GNU Binutils for Ubuntu) 2.23.52.20130913
bison (GNU Bison) 2.7.12-4996
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2, Version 1.0.6, 6-Sept-2010.
Coreutils: 8.20
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
g++ (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
(Ubuntu EGLIBC 2.17-93ubuntu4) 2.17
grep (GNU grep) 2.14
gzip 1.6
Linux version 3.11.0-12-generic (buildd@komainu) (gcc version 4.8.1
(Ubuntu/Linaro 4.8.1-10ubuntu7) ) #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013
m4 (GNU M4) 1.4.16
GNU Make 3.81
GNU patch 2.7.1
Perl version='5.14.2';
sed (GNU sed) 4.2.2
tar (GNU tar) 1.26
xz (XZ Utils) 5.1.0alpha
g++ compilation OK
libgmp.la: not found
libmpfr.la: not found
libmpc.la: not found
メモ:私はこの本のバージョン7.5に従い、32ビットLinux Mintホスト(カーネル3.11.0-12)を使用しています。
答え1
また、私のシステムにLFSシステムを構築してみました。 Ubuntu 14.04を使用しています。バージョン確認中も同じメッセージが出ました。続けて第5章を読んで、gccのインストール中にエラーでmakeが失敗しました。オンラインヘルプとメーリングリストを確認しながら、図書館がどこにあるのか、つまりどこで見つけたのかを指摘する/usr/lib
必要があることがわかりました。スタックオーバーフローの質問。
検索してみると、/usr/lib
これらのライブラリが存在しないことがわかりました。そこでmpfr、gmp、mpcをダウンロードしてインストールしました。以下のリンクをクリックしてください。良い製造慣行、MPFRそしてドップラー。
メモ:ビルドとインストールに従ってください。指示するmpcとmpfrのgmpが提供されています。 gmpを使用すると、make check
テストは1回失敗しました。 LFSではこれが問題ではないと予想されます。 gmp make check 1の例はテストに失敗しました。ここ。
答え2
これにより、インストールされたパッケージを含むファイルが作成されます。
dpkg --get-selections > package_list
cat package_list | grep ^gcc
-> OK!
cat package_list | grep gmp
-> libgmp10:amd64
cat package_list | grep mpfr
-> libmpfr4:amd64
cat package_list | grep mpc
-> libmpc3:amd64
locate libgmp10
-> /var/lib/dpkg/info/libgmp10:amd64.list
locate libmpfr4
-> /var/lib/dpkg/info/libmpfr4:amd64.list
locate libmpc3
-> /var/lib/dpkg/info/libmpc3:amd64.list
cat /var/lib/dpkg/info/libgmp10\:amd64.list
-> /usr/lib/x86_64-linux-gnu/libgmp.so.10.2.0
-> /usr/lib/x86_64-linux-gnu/libgmp.so.10
cat /var/lib/dpkg/info/libmpfr4\:amd64.list
-> /usr/lib/x86_64-linux-gnu/libmpfr.so.4.1.2
-> /usr/lib/x86_64-linux-gnu/libmpfr.so.4
cat /var/lib/dpkg/info/libmpc3\:amd64.list
-> /usr/lib/x86_64-linux-gnu/libmpc.so.3.0.0
-> /usr/lib/x86_64-linux-gnu/libmpc.so.3
この要件により、64ビットアーキテクチャとDebianベースのオペレーティングシステムで使用されている場合libgmp.la
とlibmpfr.la
。libmpc.la
しかし、上記のプロセスの結果は、これらのパッケージが実際にシステムに存在することを示しているため、前進する可能性があります。
答え3
あなたの質問に対するクリークの答えはコメントに記載されています。 LFSブック(7.6を引用しています)には、あなたが言及した3つのライブラリ(libgmp.la、libmpfr.la、libmpc.la)について次のように記載されています。
「このスクリプトで識別されたファイルはすべて存在するか、すべて存在してはいけませんが、1つまたは2つしか存在しないでください。」
つまり、出力によると、これらのライブラリを使用して他の操作を実行する必要はありません。つまり、まだLFSのインストールを完了していません。私の答えは本に出てきた答えと同じくらい良いです。私も元々同じ問題があったのでここまで来ました。
答え4
次のライブラリをダウンロードし、解凍、コンパイル、インストールします。
- libgmp.la
- libmpfr.la
- libmpc.la
これを行う一般的な手順は次のとおりです。
tar -xvf lib.name
cd lib.name
./configure --prefix=/usr
sudo make
sudo make install
bash library-check.sh