LINUX.ORG.RU

Сборка под Athlon 64 (продолжение)


0

0

Люди, помогите с таким вопросом:
Прочитал LFS документацию до момента раздела 5.1 (binutils).

Там черным по белому написано, что

" Важно

Перед дальнейшей работой вы должны знать название вашей платформы, которое также называется target triplet. В некоторых случаях target triplet может быть, к примеру: i686-pc-linux-gnu. Простейшим способом определения вашего target triplet является запуск скрипта config.guess который содержится во многих пакетах. Распакуйте тарбол с исходниками Binutils, запустите скрипт: ./config.guess и запомните вывод.

Вам также необходимо знать имя динамичаского компоновщика для вашей платформы, его также называют динимическим загрузчиком (не спутайте его со стандартным компоновщиком ld который является частью Binutils). Динамический компоновщик является частью Glibc и служит для поиска и загрузки библиотек, в которых нуждается программа, подготовки программы к запуску и ее запуска. Как правило, динамический компоновщик называется ld-linux.so.2. На некоторых не очень распространенных платформах он называется ld.so.1, а на некоторых 64-битных платформах - по другому. Вы можете определить имя динамического компоновщика для вашей платформы, заглянув в директорию /lib вашей основной системы. Безошибочным способом проверки случайной библиотеки на вашей основной системе является запуск: readelf -l <name of binary> | grep interpreter и просмотр вывода. Ссылка, описывающая все платвормы, находится в файле shlib-versions в корне дерева исходников Glibc."


А как сменить хост под другую платформу так и не нашел.

На вызов ./config.guess, вылетает "i686-pci-linux-gnu"

Камень Athlon 64 3200+

anonymous
Ответ на: комментарий от Deleted

shlib-versions -bash: shlib-versions: command not found

/home/stuff/amd64/source/d/binutils/binutils-2.15.92.0.2# locate shlib-versions нет такого

Где можно почитать про это?

anonymous
()
Ответ на: комментарий от Deleted

>Называй хоть "x86_64-pci-linux-gnu"

Дык я и спрашиваю "Как?"

anonymous
()
Ответ на: комментарий от kao

>ЗЫ у меня вылетал gcc на стадии сборки основной системы

После сборки binutils способом на том ресурсе, получаем:

binutils-2.15.92.0.2]$ ./config.guess

i686-pc-linux-gnu

Ключи его методом были вогнаны при сборке binutils.

а gcc как-ра и ругается на это таргет то остается прежний.

ESTAF ★★★
()
Ответ на: комментарий от ESTAF

хотя нет.
....
checking host system type... x86_64-slackware-linux-gnu
checking target system type... x86_64-slackware-linux-gnu
checking build system type... x86_64-slackware-linux-gnu
checking for a BSD compatible install... /usr/bin/ginstall -c
/tmp/cchvtSf9.s: Assembler messages:
/tmp/cchvtSf9.s:7: Error: suffix or operands invalid for `push'
*** The command 'gcc -o conftest -O2 conftest.c' failed.

Просит вогнать переменные. Какие, надо понять

ESTAF ★★★
()
Ответ на: комментарий от ESTAF

/tmp/ccRfCFDN.s: Assembler messages:
/tmp/ccRfCFDN.s:33: Error: `completed.1(%rip)' is not a valid base/index expression
/tmp/ccRfCFDN.s:34: Error: bad register name `%rbp'
/tmp/ccRfCFDN.s:35: Error: bad register name `%rsp'
/tmp/ccRfCFDN.s:40: Error: bad register name `%rax'
/tmp/ccRfCFDN.s:41: Error: bad register name `%rax'
/tmp/ccRfCFDN.s:42: Error: bad register name `%rdx'
/tmp/ccRfCFDN.s:44: Error: `p.0(%rip)' is not a valid base/index expression
/tmp/ccRfCFDN.s:45: Error: bad register name `%rax)'
/tmp/ccRfCFDN.s:46: Error: bad register name `%rdx'
/tmp/ccRfCFDN.s:48: Error: `completed.1(%rip)' is not a valid base/index expression
/tmp/ccRfCFDN.s:60: Error: bad register name `%rbp'
/tmp/ccRfCFDN.s:61: Error: `__JCR_LIST__(%rip)' is not a valid base/index expression
/tmp/ccRfCFDN.s:62: Error: bad register name `%rsp'
/tmp/ccRfCFDN.s:65: Error: bad register name `%rax'
make[1]: *** [crtbegin.o] Ошибка 1
make[1]: Leaving directory `/gcc-dac95de900b8dd1cc748be3c38eb8b08/gcc.build.lnx/gcc'
make: *** [install-gcc] Ошибка 2

ESTAF ★★★
()
Ответ на: комментарий от ESTAF

http://home.ix.netcom.com/~ejohns/glfs-amd64/toolchain.html

"tar xjvf linux-2.4.23.tar.bz2
cd linux-2.4.23
make mrproper
yes "" | make config
make include/linux/version.h
mkdir -p /opt/x86-64/x86_64-unknown-linux/include
cp -r include/linux/ include/asm-x86_64/ /opt/x86-64/x86_64-unknown-linux/include
ln -s asm-x86_64 /opt/x86-64/x86_64-unknown-linux/include/asm
cd ..
rm -rf linux-2.4.23
unset CFLAGS"

как понимать строчку "ln -s asm-x86_64 /opt/x86-64/x86_64-unknown-linux/include/asm"

в корню исходников ядра не лижит такой папки.
Я могу только сделать "ln -s include/asm-x86_64 /opt/x86-64/x86_64-unknown-linux/include/asm"

Или я что путаю?

anonymous
()
Ответ на: комментарий от anonymous

Остается гадать. Коли автор предложил снести мсходники, значит явно нужно делать ссылку из другого места. Скорее всего это будет так:
"cd /opt/x86-64/x86_64-unknown-linux/include/
ln -s asm-x86_64 asm"

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.