linux - make 找不到文件

标签 linux makefile

我尝试使用 make 安装 go 软件包,但它返回以下内容:

dan@dan-netbook:~/GoMySQL$ make  
Makefile:1: :/home/dan/.go/go/src/Make.inc: No such file or directory  
Makefile:17: :/home/dan/.go/go/src/Make.pkg: No such file or directory  
make: *** No rule to make target `:/home/dan/.go/go/src/Make.pkg'.  Stop.  

但是如果我运行ls,丢失的文件就会出现:

dan@dan-netbook:~/GoMySQL$ ls /home/dan/.go/go/src/  
all.bash       env.bash  make.bash  Make.common  quietgcc.bash   
all-qemu.bash  lib9      Make.ccmd  Make.inc     run.bash  
clean.bash     libbio    Make.clib  Make.pkg     sudo.bash  
cmd            libmach   Make.cmd   pkg          version.bash  

这是为什么?

编辑: Makefile 是:

include $(GOROOT)/src/Make.inc  

TARG=mysql  
GOFILES=mysql.go\  
   types.go\  
   const.go\  
   error.go\  
   password.go\  
   reader.go\  
   writer.go\  
   packet.go\  
   convert.go\  
   handler.go\  
   result.go\  
   statement.go  

 include $(GOROOT)/src/Make.pkg   

最佳答案

在此错误消息中:

 Makefile:1: :/home/dan/.go/go/src/Make.inc: No such file or directory  
             ^

我对指示的冒号感到有点惊讶。

我们需要看看Makefile中GOROOT设置了什么,这不太容易。我对构建 go 包不太了解,但是从命令行尝试:

echo $GOROOT

并报告打印的内容。

然后尝试更改 Makefile。在其开头添加:

foobar:
    echo $(GOROOT)

其中回显行必须使用制表符缩进,而不是空格,并告诉我们会产生什么结果。

关于linux - make 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004080/

相关文章:

访问使用 OpenCV 的 C++ 共享库的 Java 程序

c - 对已链接的函数的 undefined reference

c - GCC 多个函数定义链接器错误

php - 在 ubuntu 中通过 php 脚本发送邮件

linux - 将整个 gdb 输出日志保存在文件中

android - CM7 for Milestone - 在 kernel.org 停机维护时从源代码构建

c++ - 如何避免在 Windows 和 Linux 中使用不同名称的目标进行重建?

makefile - 如何修改隐式GNUMake规则来编译文件?

linux - makefile 中的条件检查

c++ - 为 ARM 交叉编译 ActiveMQ