Модераторы: ZeeLax, powerfox
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечь заголовочные файлы 
:(
    Опции темы
Majestio
Дата 21.6.2016, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 19.12.2010

Репутация: нет
Всего: нет



Здравствуйте!

Пытаюсь освоить построение кросс-компиляторов вручную. Хостовая система - FreeBSD 10.3. Одним из шагов - нужно извлечь линуксовые заголовочные файлы. По данному мануалу это делается так:

Код
$ fetch https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.6.2.tar.xz
$ tar xf linux-4.6.2.tar.xz
$ cd linux-4.6.2
$ gmake headers_install ARCH=i386 INSTALL_HDR_PATH=$HOME/Work/test/i686-linux

Если использую "ARCH=arm", или "ARCH=arm64", или "ARCH=mips", то все проходит гладко. Если же как в коде выше, то получаю ошибки.

Первый запуск:

Код
majestio@freebsd:~/Dev/src/linux-4.6.2% gmake ARCH=i386 INSTALL_HDR_PATH=$HOME/Work/test/i386-linux headers_install
  CHK     include/generated/uapi/linux/version.h
  UPD     include/generated/uapi/linux/version.h
  HOSTCC  scripts/basic/fixdep
  WRAP    arch/x86/include/generated/asm/clkdev.h
  WRAP    arch/x86/include/generated/asm/cputime.h
  WRAP    arch/x86/include/generated/asm/dma-contiguous.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mm-arch-hooks.h
  SYSTBL  arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
./arch/x86/entry/syscalls/syscalltbl.sh: ${entry:$...}: Bad substitution
arch/x86/entry/syscalls/Makefile:49: ошибка выполнения рецепта для цели «arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h»
gmake[1]: *** [arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h] Ошибка 2
arch/x86/Makefile:199: ошибка выполнения рецепта для цели «archheaders»
gmake: *** [archheaders] Ошибка 2

Последующие запуски:

Код
majestio@freebsd:~/Dev/src/linux-4.6.2% gmake ARCH=i386 INSTALL_HDR_PATH=$HOME/Work/test/i386-linux headers_install
  CHK     include/generated/uapi/linux/version.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h
  HOSTCC  arch/x86/tools/relocs_32.o
In file included from arch/x86/tools/relocs_32.c:1:0:
arch/x86/tools/relocs.h:13:22: fatal error: byteswap.h: No such file or directory
 #include <byteswap.h>
                      ^
compilation terminated.
scripts/Makefile.host:108: ошибка выполнения рецепта для цели «arch/x86/tools/relocs_32.o»
gmake[1]: *** [arch/x86/tools/relocs_32.o] Ошибка 1
arch/x86/Makefile:193: ошибка выполнения рецепта для цели «archscripts»
gmake: *** [archscripts] Ошибка 2

А кросскомпилятор для i686-pc-linux-gnu и x86_64-pc-linux-gnu под фрёй собрать хочется. Если есть мысли, прошу поделиться - как исправить ситуацию?
PM MAIL WWW   Вверх
leniviy
Дата 22.6.2016, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Очевидно твой /bin/sh не может выполнить скрипт ./arch/x86/entry/syscalls/syscalltbl.sh . Попробуй открыть этот файл и посмотри 2 вещи

- первая строка, например: #!/bin/sh
- найди кусок, содержащий: ${entry:$...}. Мне не понятно, что конкретно они хотели заменить в переменной $entry.

Попробуй установить другой шелл в качестве /bin/sh , например bash. Не знаю, как это делается во FreeBSD

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
pythonwin

В этом форуме предпочтительны вопросы на следующие темы:

  • Конкретные вопросы о конкретном ПО. В таких вопросах желательно привести точные данные о программе: версия программы, версия ОС, версия ядра, и проблему в форме: сделал Х, хотел получить Y, а получил Z.
  • Неконкретные вопросы о выборе ПО
  • Обзоры - как дополнение в ветку Обзоры


  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема »


 




[ Время генерации скрипта: 0.1162 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.