Страницы

Поиск по вопросам

вторник, 20 ноября 2018 г.

GCC: internal compiler error

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Вот ошибка которую мне выдал компилятор:
internal compiler error: Segmentation fault int delete_struct(ProgramLang * structList, int num) Please submit a full bug report, with preprocessed source if appropriate. See for instructions.
Я в первые сталкивуюсь с такого рода ошибками и не знаю что делать. Может кто-нибудь объяснить, что это за ошибка и как исправлять подобные ошибки?
Команда для компиляции, которую я использовал:
g++ -Wall -W -std=c++11 -o Kursach_2 main.cpp Database_functions.cpp ioStruct_functions.cpp ioFile_functions.cpp
Ссылка на github: https://github.com/JokerSamStrew/Kursach_2term (код очень сырой и кривой)


Ответ

Это сообщение означает, что вы столкнулись с ошибкой в компиляторе. Такое бывает — ничего страшного.
Будет здорово, если вы поможете авторам исправить её. Для этого установите разрабатываемую версию компилятора (пакет gcc-snapshot в Debian / Ubuntu) и проверьте, воспроизводится ли эта ошибка снова (пакет ставит GCC в каталог /usr/lib/gcc-snapshot).
/usr/lib/gcc-snapshot/bin/g++ -Wall -W -std=c++11 -o Kursach_2 main.cpp Database_functions.cpp ioStruct_functions.cpp ioFile_functions.cpp
Если ошибка не повторяется, обновите версию компилятора. В противном случае, пожалуйста, заполните отчёт об ошибке в баг-трекере GCC. Обязательно укажите используемую версию компилятора (достаточно вывода gcc -v). Очень вероятно, здешние товарищи помогут вам, если с английским не очень.
Более подробную инструкию, как сообщить об ошибке, смотрите в файле /usr/share/doc/gcc/README.Bugs

Исследовал вашу ситуацию. Поведение GCC подтверждаю. В последней сборке компилятора (от 2016-04-14) ошибка не воспроизводится.
В вашем случае компилятор падает из-за предкомпилированного заголовка Database_functions.hpp.gch. Иногда такое может быть, если он создавался с другими флагами нежели использующиеся при текущей компиляции. Для решения проблемы просто удалите этот файл.
N.B.: компилятор производит такой заголовок для ускорения компиляции, если в качестве входного файла передать .hpp

Комментариев нет:

Отправить комментарий