1

我无法在 Amazon 标准 linux 实例上安装这个名为 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再次运行该命令。我得到了一长串是的(完整的日志在这里),然后是这个:

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 库吗?

4

1 回答 1

3

从错误来看,您的configure脚本似乎未设置为可执行。您可以使用ls -l configure. 您应该会看到一条以 . 开头的行-rwxr-xr-x。如果没有,您可以运行chmod +x configure以向其添加可执行权限。

如果该文件的权限不正确,最好检查分发中的其余文件。你是怎么得到文件的?从 Sourceforge 下载压缩包?从 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 之类的上传提取的文件的过程可能会导致这样的问题。

于 2012-10-16T17:19:41.470 回答