Ошибка конфигурации glibc: отсутствует yacc / bison - PullRequest
0 голосов
/ 12 декабря 2018

Я следую инструкциям LFS , но с изюминкой: я только следую частям Раздела 5 - Построение временной системы в той степени, в которой я могу построить свой собственный GCC, причина в том, чтоэто рабочая машина, и у меня нет привилегий root.Все шло нормально, пока я не столкнулся с ошибкой при настройке glibc:

configure: error:
*** These critical programs are missing or too old: as GNU ld make bison compiler
*** Check the INSTALL file for required versions.

После некоторого расследования выясняется, что я не выполняю это условие, которое требуется для LFS:

/usr/bin/yacc is a symbolic link to bison or a small script that executes bison.

Оказывается, что такого файла нет в /usr/bin/yacc (хотя bison существует).Однако, поскольку у меня нет привилегий root на работе, я не могу создать символическую ссылку там.Есть ли обходной путь здесь?

1 Ответ

0 голосов
/ 23 декабря 2018

Текущие версии glibc нужны для сборки программы bison (а не yacc).Вы можете скачать исходный текст бизона и построить его следующим образом:

wget https://ftp.gnu.org/gnu/bison/bison-3.2.tar.gz
tar xf bison-3.2.tar.gz
cd bison-3.2
./configure --prefix=$HOME/install
make
make install

Затем вы можете поместить каталог $HOME/install/bin в путь поиска команд:

PATH=$HOME/install/bin:$PATH

На этом этапе glibcСценарий configure должен взять эту версию Bison.

В старых версиях glibc (до 2.27) файлы, созданные с помощью Bison, поставляются как часть источников, так что Bison является необязательным.Очевидно, что инструкции, которые вы выполняете, не были обновлены, чтобы отразить новое требование для зубров.

...