2013-06-04 40 views
2

在開放的太陽網格引擎(gridengine-GE2011.11)上使用qmake(v3.82)時出現問題我使用以下makefile代碼縮小了問題範圍:qmake使用管​​道命令導出失敗

使用
export FOO = $(shell echo bar | sed 's/bar/foobar/g') 

all: echo1 echo2 

echo1: 
    echo $(FOO) 
echo2: 
    echo $(FOO) 

以下命令:

我得到這樣的輸出:

echo foobar 
dynamic mode 
foobar 
qmake: *** remote_status: No child processes. Stop. 
qmake: *** Waiting for unfinished jobs.... 
qmake: *** remote_status: No child processes. Stop. 

它與out使用export
它可以在$(shell)命令中不使用管道工作
它使用FOO:= $(shell)(帶有':')
它使用-j 1(或沒有並行化)在qmake命令
它使用常規制作

這些因素在一起,搞砸了我的生成文件中罕見的情況。

有誰知道是什麼原因導致這種情況或知道修復?

回答

0

這似乎是一個在這種罕見的情況下發生的錯誤。最好的建議是避免使用':='來代替'=',不要使用shell表達式,不要使用$(shell),不要使用export或no -j標誌。這些都可以防止這個問題。