Linux From Scratch:版本检查期间未找到 libgmp.la、libmpfr.la 和 libmpc.la

Linux From Scratch:版本检查期间未找到 libgmp.la、libmpfr.la 和 libmpc.la

我正在尝试在我的 Linux Mint 主机上构建一个 Linux From Scratch 系统。但是,当我运行 version-check.sh 文件时,它返回我的系统缺少libgmp.lalibmpfr.lalibmpc.la,即使我有libgmp10lipmpc3libmpfr4。这是版本检查的输出:

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。使用make checkgmp 导致 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.lalibmpfr.la和。libmpc.la然而,上述过程的结果表明这些包确实存在于系统上,因此可以继续前进。

答案3

Creek 对你的问题的评论中给出了答案:LF​​S 书(我引用的是 7.6)对于你提到的三个库(libgmp.la、libmpfr.la 和 libmpc.la)有这样的说法:

“此脚本识别的文件应该全部存在或全部不存在,但不仅仅是一两个存在。”

也就是说,根据您的输出,您无需对这些库执行任何其他操作。也就是说,我还没有完成 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

相关内容