2014-09-09 3 views
0

Я скомпилировал исходный код с Makefile, я получил Makefile Ошибка:Makefile ошибка: 127

/bin/sh: line 8: : command not found 
make: *** [lib_build] Error 127 

Моя цель lib_build как показано ниже:

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 возникает такая проблема. Если нет способа, то очень сложно определить такие проблемы.

+0

Что означает «над исходным кодом»? – Sathish

+0

Вы уверены, что ** отступы ** в порядке? Существует значительная разница между 'tab' и' space' в случае makefile. –

+0

@Sathish выше исходного кода означает код makefile, который показан. – Sarwan

ответ

0

Я бы предложил реструктурировать команды. Поскольку правило написано, оно игнорирует все ошибки, потому что это то, как работает оболочка. По крайней мере, добавьте set -e к этой последовательности команд оболочки.

+0

Вы имеете в виду, что я могу использовать эту команду, чтобы найти точную строку, где проблема? – Sarwan

+0

@Sarwan 'set -e' заставляет bash прекратить выполнение дополнительных команд при первой ошибке. –

0

Намного больше ума, чтобы найти, если какая-либо синтаксическая ошибка существует, я нашел решение, что было пространство после строки в Makefile, т.е. после «/»

cd $(VZW_SYNCML_DIR)/src/bld/linux ; \ 

Это было очень трудно определить, поскольку пробелы не видны.

Смежные вопросы