Т.к. не нашел в интернете ни одного нормального и внятного решения этого вопроса...
Навернаяка есть люди, которые сталкивались с ошибкой компиляции WINE, когда компилятор ругается на файлы типа ppl.l (flex) и/или ppy.y (bison) и на функции, которые по идее должные находится в этих файлах...
После прочтения массы форумов где молодые Линуксойды задавала вопросы об этой ошибке, а маги-кулхацкеры валили молодых тупыми вопросами \"А flex у тя какой версии? А компилятор? А питон... Нужна максимально полная информация... и т.д.\" и всякими предложениями типа \"Забей, качай откомпилированные пакеты! коммадой yum install wine\"
Так вот, что нужно сделать при появлении ошибки типа:
Код:
ppl.l:172:21: error: ppy.tab.h: No such file or directory
ppl.l:238: error: expected declaration specifiers or ‘...’ before ‘YYSTYPE’
ppl.l: In function ‘ppy_lex’:
ppl.l:317: error: ‘tINCLUDE’ undeclared (first use in this function)
ppl.l:317: error: (Each undeclared identifier is reported only once
ppl.l:317: error: for each function it appears in.)
ppl.l:319: error: ‘tERROR’ undeclared (first use in this function)
ppl.l:320: error: ‘tWARNING’ undeclared (first use in this function)
ppl.l:321: error: ‘tPRAGMA’ undeclared (first use in this function)
ppl.l:322: error: ‘tPPIDENT’ undeclared (first use in this function)
ppl.l:323: error: ‘tUNDEF’ undeclared (first use in this function)
ppl.l:324: error: ‘tIFDEF’ undeclared (first use in this function)
ppl.l:325: error: ‘tIFNDEF’ undeclared (first use in this function)
ppl.l:326: error: ‘tIF’ undeclared (first use in this function)
ppl.l:327: error: ‘tELIF’ undeclared (first use in this function)
ppl.l:328: error: ‘tELSE’ undeclared (first use in this function)
ppl.l:329: error: ‘tENDIF’ undeclared (first use in this function)
ppl.l:330: error: ‘tLINE’ undeclared (first use in this function)
ppl.l:331: error: ‘tGCCLINE’ undeclared (first use in this function)
ppl.l:333: error: ‘tNL’ undeclared (first use in this function)
ppl.l:341: error: ‘ppy_lval’ undeclared (first use in this function)
ppl.l:341: warning: passing argument 3 of ‘make_number’ makes integer from pointer without a cast
ppl.l:341: error: too many arguments to function ‘make_number’
ppl.l:364: warning: passing argument 3 of ‘make_number’ makes integer from pointer without a cast
ppl.l:364: error: too many arguments to function ‘make_number’
ppl.l:366: warning: passing argument 3 of ‘make_number’ makes integer from pointer without a cast
ppl.l:366: error: too many arguments to function ‘make_number’
ppl.l:367: warning: passing argument 3 of ‘make_number’ makes integer from pointer without a cast
ppl.l:367: error: too many arguments to function ‘make_number’
ppl.l:369: error: ‘tDEFINED’ undeclared (first use in this function)
ppl.l:370: error: ‘tLSHIFT’ undeclared (first use in this function)
ppl.l:371: error: ‘tRSHIFT’ undeclared (first use in this function)
ppl.l:372: error: ‘tLOGAND’ undeclared (first use in this function)
ppl.l:373: error: ‘tLOGOR’ undeclared (first use in this function)
ppl.l:374: error: ‘tEQ’ undeclared (first use in this function)
ppl.l:375: error: ‘tNE’ undeclared (first use in this function)
ppl.l:376: error: ‘tLTE’ undeclared (first use in this function)
ppl.l:377: error: ‘tGTE’ undeclared (first use in this function)
ppl.l:390: error: ‘tIDENT’ undeclared (first use in this function)
ppl.l:421: error: ‘tLITERAL’ undeclared (first use in this function)
ppl.l:430: error: ‘tMACRO’ undeclared (first use in this function)
ppl.l:431: error: ‘tDEFINE’ undeclared (first use in this function)
ppl.l:450: error: ‘tMACROEND’ undeclared (first use in this function)
ppl.l:454: error: ‘tELIPSIS’ undeclared (first use in this function)
ppl.l:463: error: ‘tCONCAT’ undeclared (first use in this function)
ppl.l:464: error: ‘tSTRINGIZE’ undeclared (first use in this function)
ppl.l:560: error: ‘tDQSTRING’ undeclared (first use in this function)
ppl.l:578: error: ‘tSQSTRING’ undeclared (first use in this function)
ppl.l:588: error: ‘tIQSTRING’ undeclared (first use in this function)
ppl.l:640: error: ‘tRCINCLUDE’ undeclared (first use in this function)
ppl.l:685: error: ‘tRCINCLUDEPATH’ undeclared (first use in this function)
ppl.l: At top level:
ppl.l:788: error: expected declaration specifiers or ‘...’ before ‘YYSTYPE’
ppl.l: In function ‘make_number’:
ppl.l:831: error: ‘val’ undeclared (first use in this function)
ppl.l:832: error: ‘tULONGLONG’ undeclared (first use in this function)
ppl.l:837: error: ‘tSLONGLONG’ undeclared (first use in this function)
ppl.l:846: error: ‘tULONG’ undeclared (first use in this function)
ppl.l:851: error: ‘tSLONG’ undeclared (first use in this function)
ppl.l:856: error: ‘tUINT’ undeclared (first use in this function)
ppl.l:861: error: ‘tSINT’ undeclared (first use in this function)
make[2]: *** [ppl.yy.o] Error 1
make[2]: Leaving directory `/linux/REPO/Debian/unstable/w/wine/1.1.0/wine-1.1.0/libs/wpp\'
make[1]: *** [wpp] Error 2
make[1]: Leaving directory `/linux/REPO/Debian/unstable/w/wine/1.1.0/wine-1.1.0/libs\'
make: *** [libs] Error 2Как и всегда в Линуксе, ответ оказался тупым и простым до безобразия...
А вот в чем тема:
Наверняка те, кто только и умеет ставить пакеты... При ошибке типа:
\"bison Not Found\"
Начинали сразу устанавливать все пакеты в которых есть слово bison (кст, для кул-хацкеров, bison - это грамматический разборщик (парсер) - она создает С-программу, предназначенную для разбора грамматики) и двигались так сказать \"вниз-по-списку\", не заметив, что происходит Conflicts и/или Replaces некоторых пакетов, находящихся в начале списка... ###Я так тоже поступил и пришлось залазить в исходники...
Так вот, ДЕЛАТЬ этого не надо... Надо внимательно прочесть весь список доступных пакетов и выбрать ТОЛЬКО bison (который НЕ!!! bison++ - тож самое только С++, естественно происходят коды возврата \"1\" или \"2\" и вы видите в выводе терминала код написанный выше)
д.к.х. flex - может написать программу на языке С, которая будет искать заданные образцы текста в текстовых файлах и выполнять определенные действия, заданные программистом.
Не плохо бы еще установить пакет wpp...