Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 生成文件错误:127_Makefile_Automake_Makefile Project - Fatal编程技术网

Makefile 生成文件错误:127

Makefile 生成文件错误:127,makefile,automake,makefile-project,Makefile,Automake,Makefile Project,我用Makefile编译了源代码,我得到了Makefile错误: /bin/sh: line 8: : command not found make: *** [lib_build] Error 127 我的lib_构建目标如下: lib_build: @echo "--------------------------------------------------------------------"; @echo "VZW Compiling DM Agent 3rd p

我用Makefile编译了源代码,我得到了Makefile错误:

/bin/sh: line 8:  : command not found
make: *** [lib_build] Error 127
我的lib_构建目标如下:

lib_build:
    @echo "--------------------------------------------------------------------";
    @echo "VZW Compiling DM Agent 3rd party and native Libraries..." ;
    @echo "--------------------------------------------------------------------";
    mkdir -p $(VZW_LIB_DIR) ; \
    mkdir -p $(VZW_BIN_DIR) ; \
    mkdir -p $(VZW_SCR_DIR) ; \
    mkdir -p $(VZW_CFG_DIR) ; \
    mkdir -p $(VZW_OBJ_DIR) ; \
    mkdir -p $(VZW_LOG_DIR) ; \
    cd $(VZW_BASE_DIR)/lib/ ; \
    make all ; \
    cd $(VZW_SYNCML_DIR)/src/bld/linux ; \ 
    make all;
    cp -r $(VZW_SYNCML_DIR)/bin/linux/libsml.so $(VZW_LIB_DIR) ;
    cp -r $(VZW_SYNCML_DIR)/bin/linux/libxpt.so $(VZW_LIB_DIR) ;
    cp -r $(VZW_BASE_DIR)/3rd_party/iksemel-1.4/src/.libs/* $(VZW_LIB_DIR) ;
它工作得很好,然后我尝试修改上面源代码中的一些行,后来恢复了所有内容。然后出了点问题,我犯了错误。我不明白出了什么问题


还有一件事要补充。有没有办法知道这种问题发生在Makefile中的哪一行。如果没有办法,那么很难发现此类问题。

我建议重新构造命令。在编写规则时,它会忽略所有错误,因为shell就是这样工作的。至少在这个shell命令序列中预先添加了
set-e

再仔细调整一下,看看是否有语法错误,我发现了一个解决方案,即在Makefile中的一行后面有一个空格,即“/”


这很难发现,因为空格不可见。

源代码上方的
是什么意思?
?你确定缩进没问题吗?在生成文件的情况下,
制表符
空格
之间存在显著差异。@Sathish上面的源代码是指显示的生成文件代码。@Saurav我已经检查了生成文件中的缩进数百次。(制表符和空格)Make输出它执行的每个命令(如果没有被
@
符号抑制)。它最后打印的命令是什么?您能在shell中手动执行它吗?您的意思是我可以使用此命令找到问题所在的确切行吗?@Sarwan
set-e
会导致bash在出现第一个错误时停止执行进一步的命令。
cd $(VZW_SYNCML_DIR)/src/bld/linux ; \