Это работает только в bash
bash$ paste <(cut -f1 file) <(cut -f2- file |
sed -r '1b; # if title line then skip to end
s#\t#\n#g # seperate line to multi-line
s#.*[^0].*#1#Mg # apply multi-line operation
s#\n#\t#g' ) # turn to one line
a b c
A 1 1 0
B 0 1 1
C 1 1 1
D 1 0 1
Связанные вами страницы предназначены для создания временной цепочки инструментов, которая затем используется для построения окончательной системы в главе 6 LFS. GCC в главе 6 скомпилирован без каких-либо исправлений. Патчи во временной цепочке инструментов предназначены только для того, чтобы позволить дальнейшую компиляцию пакетов независимо от того, какие инструменты использует хост-система.
(C) LFS изо всех сил пытается построить систему Linux с минимальными связями с машиной сборки. В результате некоторые шаги могут показаться ненужными, избыточными или надуманными. Вот (подмножество) процесса CLFS, который отвечает на основной вопрос:
/ tools
/ tools
, который является символической ссылкой на $ CLFS / tools
, где $ CLFS - корень целевой файловой системы. / tools
в том же месте, что и ваша машина сборки. Это позволяет инструментам, созданным (как родным) ранее, получить доступ к динамическому компоновщику. Теперь вы снова создадите glibc, но на этот раз он войдет в стандартный / usr
(вместо / tools / usr
) Корень вопроса был связан с путь динамического компоновщика и тот факт, что он отображается относительно машины сборки.Ответ в основном заключается в том, что OP (я) не думал о том, что существует символическая ссылка между / tools и $ {CLFS} / tools
, и что патч был применен, чтобы сделать / tools корневым путем к компоновщик.
У меня нет ответа на вопрос STANDARD_STARTFILE_PREFIX_X
.