Makefile 和符号链接
我在 makefile 方面遇到了一个奇怪的问题。我只是想在 makefile 中设置一个符号链接,但在一台机器上收到错误消息 (Linux 2.6.18-238.12.1.el5)
make: execvp: ln: Too many levels of symbolic links
它在我的 MacBook 上运行得很好。如果我在 shell 中执行相同的命令,它也可以正常工作。可能会出什么问题?是否有任何对 ln 很重要的环境变量?
I'm experiencing a strange problem with a makefile. I simply want to set a symbolic link in the makefile but get an error message on one machine (Linux 2.6.18-238.12.1.el5)
make: execvp: ln: Too many levels of symbolic links
It works perfectly fine on my MacBook. It also works fine if I execute the same command in the shell. What could go wrong? Are there any environment variables important for ln
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为错误消息中的 execvp 是关键。我相信它是说在尝试定位 ln 命令本身时有太多级别的符号链接。
示例:
使用此 Makefile 运行“make”会出现以下错误:
那么,您的 Makefile 到底是如何调用
ln
的呢?你的PATH
等中有什么?[更新]
我敢打赌 Makefile 搞乱了你的 PATH。这是一个重现您的确切错误消息的 Makefile:
The
execvp
in the error message is the key, I think. I believe it is saying there are too many levels of symbolic links while trying to locate the ln command itself.Example:
Running "make" with this Makefile errors out with:
So, how is your Makefile invoking
ln
, exactly? What is in yourPATH
etc.?[update]
I bet the Makefile is messing up your PATH. Here is a Makefile that reproduces your exact error message: