Проблема с мухой CFGERR

Я пытаюсь использовать flymake на emacs 22.3.1 на openSuse 11, но я получил эту ошибку:

Making completion list...
file /home/ruggero/makefily/prova.cpp, init=flymake-simple-make-init
flymake is running: nil
file /home/ruggero/makefily/prova.cpp, init=flymake-simple-make-init [3 times]
found buildfile at ~/makefily/
create-temp-inplace: file=/home/ruggero/makefily/prova.cpp temp=/home/ruggero/makefily/prova_flymake.cpp
saved buffer prova.cpp in file /home/ruggero/makefily/prova_flymake.cpp
started process 8920, command=(make -s -C ./ CHK_SOURCES=prova_flymake.cpp SYNTAX_CHECK_MODE=1 check-syntax), dir=~/makefily/
received 117 byte(s) of output from process 8920
file /home/ruggero/makefily/prova.cpp, init=flymake-simple-make-init
parsed '[1;31mprova_flymake.cpp:[0m[1;31m1:[0m[1;31m1: error: unterminated comment[0m', no line-err-info
parsed 'make: *** [check-syntax] Error 1', no line-err-info
file /home/ruggero/makefily/prova.cpp, init=flymake-simple-make-init
process 8920 exited with code 2
cleaning up using flymake-simple-cleanup
deleted file /home/ruggero/makefily/prova_flymake.cpp
prova.cpp: 0 error(s), 0 warning(s) in 0.10 second(s)
switched OFF Flymake mode for buffer prova.cpp due to fatal status CFGERR, warning Configuration error has occured while running (make -s -C ./ CHK_SOURCES=prova_flymake.cpp SYNTAX_CHECK_MODE=1 check-syntax)

ошибка появляется, только если есть синтаксическая ошибка в коде C++

мой make-файл выглядит нормально:

check-syntax:
    g++ -o nul -S $(CHK_SOURCES)

prova:
    g++ -o prova prova.cpp

Я также пытался очистить мой.emacs

2 ответа

Решение

решаемая

makefly несовместим с color-gcc

Решение

check-syntax:
    /usr/bin/g++ -o nul -S $(CHK_SOURCES)

prova:
    g++ -o prova prova.cpp

Я думаю, что ваша марка не работает должным образом внутри Flymake.

Процесс завершается с кодом ошибки 2, который, я думаю, не совпадает с состоянием выхода, которое вы получаете, когда запускаете make вне emacs.

CFGERR в flymake означает, что процесс make не прошел успешно. Не то, чтобы произошла ошибка компиляции, но процесс не запустился, неожиданно завершился или не завершился как обычно.

может ты сможешь flymake-log-level чтобы получить больше диагностики для этого неудачного процесса. Также: я не знаю о flymake для C++, но может существовать буфер, который захватывает весь вывод процесса. Если это так, проверьте содержимое буфера, что может показать вам более подробную информацию о сбое.

У меня была проблема CFGERR, например, когда инструмент make не был на пути, который был активен в процессе emacs. Исправление пути (или его полное указание в команде компиляции) позволило избежать ловушки CFGERR. Подобная ошибка может возникнуть, если ваш gcc не находится на пути, который используется в emacs.

Удачи.

Другие вопросы по тегам