我正在关注
http://www.linuxfromscratch.org/blfs/view/svn/general/pcre.html
安装pcrc(OS:CentOS 6.6)。
我对此行感到困惑
ln -sfv ../../lib/$(readlink /usr/lib/libpcre.so) /usr/lib/libpcre.so
我知道它正在创建一个软链接但不确定为什么它需要readlink以及为什么 它是../../lib而不是/ lib?
希望很清楚。任何帮助表示赞赏。
答案 0 :(得分:0)
小心。
这些是通用指令,它们假定非CentOS / fedora发行版。在CentOS / fedora中,/ lib是/ usr / lib的符号链接(/ lib64是/ usr / lib64的符号链接)。因此,说明不会起作用。
在其他发行版上,/ lib和/ usr / lib是不同的目录。该命令正在尝试从/ usr / lib创建一个符号链接到/ lib,这样:
/usr/lib/libpcre.so - > /lib/libpcre.so
并且,/ lib / libcpre.so是真正的文件。
在CentOS / fedora上,这将创建一个符号链接循环:
/usr/lib/libpcre.so - > /usr/lib/libpcre.so
除非你有特殊的理由不这样做,否则只需要安装pcre"让发行版安装处理它。您可能还需要开发包:" yum install pcre-devel"
另请注意,这些说明适用于32位系统。如果你的是64位,那么我们就是在讨论/ lib64和/ usr / lib64。如果你的系统是64位,但你想创建32位应用程序,那么你需要安装pcre.i686"
IMO,在说明中,使用"&&"是"变得可爱"并且让我对它们不信任(例如./configure-blah&& make)在技术上是正确的,但通常最好将它们作为单独的步骤来执行:
- ./configure-blah
- 检查错误
- 制作
- 检查错误
它的相对(使用../ ..)的原因是你可以安装在/ usr / local或其他(例如/ usr / local / lib和/ usr / local / usr / lib) )