我正在編譯一個MinGW系統的Xindy。 dmake
總是死於一個錯誤,我已經縮小到Makefile中的幾行。嘗試在此運行的dmake:dmake中的shell命令添加了'/ S'
SHELL = /bin/sh
some-target:
target=`echo info-recursive | sed s/-recursive//`;
如果您使用的是常規的Windows CMD,而不是MinGW的殼,你必須改變位置的SHELL變量指向的東西,如「C:/ MinGW的/ MSYS/1.0/sh.exe」。無論如何,上述失敗與:
CreateProcess failed (2).
dmake: Error executing 'bin/sh /S /c "target=`echo info-recursive | sed s/-recursive//`;"': No such file or directory
dmake: Error code -1, while making 'some-target'
Sed和sh安裝,他們工作正常。當我嘗試通過自身運行指定的命令由錯誤信息輸出,我得到這個:
$ /bin/sh /S /c "target=`echo info-recursive | sed s/-recursive//`;"
/bin/sh: /S: No such file or directory
如此看來,dmake的(或其它)被添加「/ S/C」,到shell參數,bash認爲它是一個文件名,然後在找不到它時失敗。
有沒有人有這方面的經驗或知道我可以解決這個問題?
通常,'bash'或'sh'選項必須以' - '開頭,所以'/ bin/sh -S -c「...」''預計會。我根本不瞭解MinGW,所以我不能說誰是錯。 – chepner
'/'而不是' - '不會讓我感到驚訝,因爲很多Windows程序都這麼做(儘管我不贊同) –
是的,我沒有任何實踐經驗可以說「dmake是調用/ bin/sh錯誤「,雖然這將是我的第一個猜測。 – chepner