2011-05-14 67 views
1

我試圖用make安裝包去,但它返回如下:化妝找不到文件

[email protected]:~/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

[email protected]:~/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 
+1

那麼'GOROOT'中有什麼? – 2011-05-14 19:05:00

+2

@mu太短:我猜它被分配爲'GOROOT =:/ path',即':='被誤輸入爲'=:' – ninjalj 2011-05-14 19:12:10

+0

哦,'GOROOT'被分配到了Makefile之外?然後我的下一個猜測是'出口GOROOT = $ EMPTY_VAR:$ GOROOT' – ninjalj 2011-05-14 19:17:01

回答

6

在此錯誤消息:

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

我有點用冒號表示驚訝。

我們需要看看在Makefile中設置了什麼GOROOT,這並不容易。我不太瞭解構建包,但從命令行嘗試:

echo $GOROOT 

並報告打印內容。

然後嘗試更改Makefile。在它的開始,添加:

foobar: 
    echo $(GOROOT) 

其中回聲線必須與標籤,沒有空格的縮進,並告訴我們,生產什麼。

+0

檢查編輯後 – danwoods 2011-05-14 19:03:05

+0

謝謝。這導致我回答。我並不真正瞭解.bashrc,並在目錄前添加了冒號,認爲這是正確的語法。刪除.bashrc中的冒號解決了這個問題。 – danwoods 2011-05-14 19:20:11