2014-02-12 126 views
0

在安装xutils-dev以获取makedepend到我的Linux Mint 12安装之后,我尝试编译c程序并通过在Makefile(目录结构在此处找到的目录结构http://svn.clinrisk.co.uk/opensource/qrisk2/)上执行“make”命令来生成exectuables。不过,我收到以下消息:makedepend无法重命名makefile

makedepend: error: cannot rename Makefile to Makefile.bak 

我只看到过与cygwin有关的问题,而我没有使用它。这是我安装的makedepend的问题吗?或者是重命名我可以重写的内容?

非常感谢

回答

1

这可能是目录上的文件权限问题。 确保您拥有该目录的写入权限。

作为一般规则,运行make作为拥有源代码树中的文件的相同用户。 拥有者通常对所有文件和目录拥有写入权限。其他用户通常不会,而且这是应该的。

我检出了QRISK2,它遵循这种模式。

+0

嗨,谢谢你的回复。我已经运行“sudo make”,没有任何区别,“chmod -R 777”提供完全权限,但仍然没有区别。 – brucezepplin

+0

我告诉过你不要这样做! 'make'命令适合我。你是否以拥有该目录的用户身份运行它? ('ls -ld .'和'whoami'是否返回相同的用户名?)网络共享文件还是NTFS分区文件? – reinierpost

+0

ls -ld返回“drwxrwxrwx 1 root root 4096 2014-02-12 12.52”和whoami返回“arron” – brucezepplin

0

自您makedepend得到一个错误信息,似乎它已安装。从错误消息中很难判断是什么阻止了它重命名该文件。如果已经有Makefile.bak,可能会拒绝这样做,也可能是由于权限问题或其他一系列问题。

找出makedepend想要做什么以及为什么失败的一种方法是在strace下运行它。有关strace的介绍,请参阅http://chadfowler.com/blog/2014/01/26/the-magic-of-strace/

+0

感谢您的回复。像su一样运行并没有帮助,并且目录中没有现有的Makefile.bak。我会尽力去做。 – brucezepplin