Так что я следую за Linux с нуля книга и я в главе 5.17 Бизон-3.0.4.
Книга инструктирует нас сделать make check
после make
проверить результат скомпилированного пакета Bison.
Первоначально я получил следующую ошибку:
make[3]: Entering directory `/sources/bison-3.0'
LEX examples/calc++/calc++-scanner.cc
CXX
examples/calc++/examples_calc___calc__-calc++-scanner.o
g++: error: ./examples/calc++/calc++-scanner.cc: No such file or directory
g++: fatal error: no input files
compilation terminated.
make[3]: ***
[examples/calc++/examples_calc___calc__-calc++-scanner.o] Error 1
make[3]: Leaving directory `/sources/bison-3.0'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/sources/bison-3.0'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/sources/bison-3.0'
make: *** [check] Error 2
Но получил решение о этот сайт. Который сказал мне сделать следующее перед выдачей make check
:
cp Makefile Makefile.bak
sed -i '/calc++/d' Makefile
make check
Это решило проблему, и все проверки получили зеленый ok
кроме следующих трех FAILED
проверки:
430: Variants lalr1.cc parse.assert api.token.constructor FAILED (c++.at:374)
431: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} FAILED (c++.at:375)
432: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} %locations FAILED (c++.at:376)
Я пытался найти в Google, но ничего не получил.
Есть идеи?
Это распространенная ошибка. Как указано в Глава 4.6. О наборе тестов:
Опыт показывает, что мало что можно получить от бега
наборы тестов в главе 5. Нельзя избежать того факта, что
хост-система всегда оказывает некоторое влияние на тесты в том, что
глава, часто вызывающая необъяснимые сбои. Потому что инструменты построены
в главе 5 являются временными и в конечном итоге отбрасываются, мы не
рекомендую запустить наборы тестов в главе 5 для среднего читателя.
Инструкции по запуску этих наборов тестов предоставляются для
Преимущество тестеров и разработчиков, но они являются строго необязательными.
Решение простое — не запускайте тесты для пакетов, скомпилированных в главе 5. Они потерпят неудачу, и это ничего не значит. Тесты важны в главе 6, когда вы строите свою реальную систему.
Других решений пока нет …