我在亚马逊标准Linux实例上安装this library called librsync时遇到问题。
我试过了:
yum install librsync-devel
但我得到了No package librsync available
(我猜得够公平!)
我还按照安装说明进行了说明:
To build and test librsync from the extracted distribution do;
$ ./configure
$ make all check
我不是linux专家,我解压缩了库文件并运行了这些命令:
[ec2-user@ip-**-***-**-*** librsync]$ ./configure
-bash: ./configure: Permission denied
[ec2-user@ip-**-***-**-*** librsync]$ sudo ./configure
sudo: ./configure: command not found
[ec2-user@ip-**-***-**-*** librsync]$ sudo configure
sudo: configure: command not found
我更改了配置文件的权限,然后再次运行./configure
命令。我得到了一长串的肯定(full log here),然后是:
checking whether g++ accepts -g... no
checking dependency style of g++... none
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
我完全迷失了。 知道如何在EC2 linux实例上安装此librsync库吗?
答案 0 :(得分:3)
从错误中看,您的configure
脚本未设置为可执行文件。您可以查看ls -l configure
。您应该看到以-rwxr-xr-x
之类的内容开头的行。如果没有,您可以运行chmod +x configure
为其添加可执行权限。
如果该文件的权限不正确,最好检查分发中的其余文件。你是怎么得到这个档案的?从Sourceforge下载tarball?从Github下载ZIP?从Github退房?你是如何提取它的?如果您可以在问题中填写这些详细信息,以及ls -l
的完整输出,那么这可能有助于我们弄清楚发生了什么。
编辑添加:从配置日志看起来像cpp(C预处理器)正在寻找cc1plus,这是g ++的一部分。您可以使用yum install gcc-c++
进行安装(请记住以root身份运行或使用sudo
运行。)
另外,关于您的评论,我建议将.tar.gz
文件直接复制到Linux计算机,并使用tar xvzf myfile.tar.gz
解压缩,而不是在Windows计算机上解压缩并上传。在文件系统(权限位如何工作,区分大小写)方面存在足够的差异,即在Windows上提取文件并使用winscp等上传提取文件的过程可能会导致此类问题。