ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Сборка КФС для arm 920t через biuldroot 2009.08  (Прочитано 10182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9

Пытаюсь собрать КФС используя buildroot-2009.08 Использую ubuntu 12.04 x32 При сборке получаю вот такую ошибку #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.

Вот вывод консоли:

/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/bin/arm-linux-uclibcgnueabi-gcc -Os -pipe -Os  -I/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include -I/home/v4x32/buildroot-2009.08/build_arm/staging_dir/include --sysroot=/home/v4x32/buildroot-2009.08/build_arm/staging_dir/ -isysroot /home/v4x32/buildroot-2009.08/build_arm/staging_dir -mtune=arm920t -march=armv4t -mabi=aapcs-linux -msoft-float -Wall -D_GNU_SOURCE -DLinux -DVERSION=\"3.7.7\"  -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -c -o logrotate.o logrotate.c
In file included from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/sys/cdefs.h:25,
                 from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/sys/queue.h:36,
                 from logrotate.c:1:
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/features.h:416:4: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:72,
                 from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/popt.h:12,
                 from logrotate.c:7:
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/bits/uClibc_stdio.h:61:2: error: #error Sorry... uClibc was built without large file support!
In file included from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/popt.h:12,
                 from logrotate.c:7:
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:87: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos64_t'
In file included from /home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/popt.h:12,
                 from logrotate.c:7:
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:714: error: expected declaration specifiers or '...' before 'fpos_t'
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:716: error: expected ';', ',' or ')' before '*' token
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:728: error: expected declaration specifiers or '...' before 'fpos64_t'
/home/v4x32/buildroot-2009.08/build_arm/staging_dir/usr/include/stdio.h:729: error: expected ';', ',' or ')' before '*' token
make[1]: *** [logrotate.o] Ошибка 1
make[1]: Выход из каталога `/home/v4x32/buildroot-2009.08/build_arm/logrotate-3.7.7'
make: *** [/home/v4x32/buildroot-2009.08/build_arm/logrotate-3.7.7/logrotate] Ошибка 2


Я в использовании линукса совсем зелёный, поэтому не имею ни малейшего представления как заставить его работать. Сразу скажу, что поддержка 64 битной архитектуры меня не интересует. Помогите пожалуйста разобраться
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #1 : 27 Июнь, 2014, 14:20:56 »

Как собирали? Взяли файл local/tion/tion.config ?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #2 : 27 Июнь, 2014, 15:06:01 »

Ubuntu 12.04

Собралось с tion.config, там уже включен logrotate:

1. cp local/tion/tion.config .config
2. make BOARD=tion
Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #3 : 27 Июнь, 2014, 16:52:20 »

Да. И перенастроил его через menuconfig
https://yadi.sk/d/xKf2XIuVV6tUM
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #4 : 27 Июнь, 2014, 16:56:12 »

А зачем отключили BR2_LARGEFILE?
Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #5 : 27 Июнь, 2014, 17:06:18 »

Если честно, его конфигурировал человек работавший до меня, но у него он вроде как рабочий, поэтому было сказано использовать его.
Я так понимаю что это поддержка больших файлов, зачем она нужна в рамках этой сборки?
« Последнее редактирование: 27 Июнь, 2014, 17:15:57 от kvazar »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #6 : 27 Июнь, 2014, 17:15:03 »

logrotate собирается с включённым BR2_LARGEFILE. Вам придётся сделать всё заново, чтобы была пересобрана uClibc. В каталог с новым BR скопируйте каталог dl из текущего или сделайте на него ссылку.
Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #7 : 27 Июнь, 2014, 17:51:46 »

Я включил BR2_LARGEFILE, но получил ровно ту же самую ошибку
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #8 : 27 Июнь, 2014, 17:57:25 »

> Вам придётся сделать всё заново, чтобы была пересобрана uClibc.
Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #9 : 27 Июнь, 2014, 18:03:04 »

Забыл добавить - И сделал всё заново.
Один вопрос при сборке он берёт конфигурацию из local/tion/tion.config ?
В любом случае я скачал заново buildroot, скопировал в него конфигурацию, включил через menuconfig BR2_LARGEFILE и пустил на сборку, в итоге та же ошибка
« Последнее редактирование: 27 Июнь, 2014, 18:09:45 от kvazar »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #10 : 27 Июнь, 2014, 18:12:49 »

> Один вопрос при сборке он берёт конфигурацию из local/tion/tion.config

Если указывать BOARD=tion. Но .config тоже нужен, поэтому проще если .config и local/BOARD/BOARD.config  одинаковые.
Я уже писал, что проверил на Ubuntu с tion.config. Как именно всё сделали заново?

Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #11 : 27 Июнь, 2014, 18:25:36 »

Полностью удалил buildroot. Оставил только файлы /local/tion/tion.config и .config
C помощью команды git clone скачал новый buildroot.
Скопировал в него файлы конфигурации.
Через menuconfig включил поддержку больших файлов, сохранил изменения в .config
Сделал make BOARD=tion
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #12 : 27 Июнь, 2014, 19:41:46 »

Ошибка другая, в вашей конфигурации включены заголовочные файлы из ядра 2.6.26, в tion.config они от 2.6.30

# BR2_KERNEL_HEADERS_2_6_26 is not set
BR2_KERNEL_HEADERS_2_6_30=y
BR2_DEFAULT_KERNEL_HEADERS="2.6.30.5"
Записан

kvazar

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #13 : 29 Июнь, 2014, 22:36:47 »

Мне необходима версия 2.26
По той причине, что версия 2.30 собиралась с таким же конфигурационным файлом и не работала на устройстве тион про2
Вообще уже был прецедент успешной сборки с таким конфигурационным файлом, который я выложил, но понадобилось собрать снова с теми же параметрами, но на другой машине(разница между ними - первый линукс x64 текущий x86).
А прошлый раз всех описанных ранее проблем не возникало.
Тем неменее, я заменил файл tion.config файлом .config и попытался собрать ядро и он мне выдал вот такую ошибку

*** Using kernel-headers generated from kernel source
rm -rf /home/v4x32/buildroot-2009.08/toolchain_build_arm/linux
[ -d /home/v4x32/buildroot-2009.08/toolchain_build_arm ] || /usr/bin/install -d /home/v4x32/buildroot-2009.08/toolchain_build_arm
bzcat /home/v4x32/buildroot-2009.08/dl/linux-2.6.26.8.tar.bz2 | tar -C /home/v4x32/buildroot-2009.08/toolchain_build_arm   -xf -
touch /home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8/.unpacked
toolchain/patch-kernel.sh /home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8 toolchain/kernel-headers \
      linux-2.6.26.8-\*.patch{,.gz,.bz2}
touch /home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8/.patched
(cd /home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8; \
    /usr/bin/make -j1 ARCH=arm \
      HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
      HOSTCXX="/usr/bin/g++" \
      INSTALL_HDR_PATH=/home/v4x32/buildroot-2009.08/toolchain_build_arm/linux headers_install; \
   )
make[1]: Вход в каталог `/home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8'
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/unifdef
scripts/unifdef.c:209:25: ошибка: несовместимые типы для «getline»
/usr/include/stdio.h:675:20: замечание: здесь была предыдущая декларация «getline»
make[2]: *** [scripts/unifdef] Ошибка 1
make[1]: *** [headers_install] Ошибка 2
make[1]: Выход из каталога `/home/v4x32/buildroot-2009.08/toolchain_build_arm/linux-2.6.26.8'
make: *** [/home/v4x32/buildroot-2009.08/toolchain_build_arm/linux/.configured] Ошибка 2

Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка КФС для arm 920t через biuldroot 2009.08
« Ответ #14 : 29 Июнь, 2014, 22:58:56 »

> По той причине, что версия 2.30

Это только заголовочные файлы ядра для сборки библиотек и компилятора, на плате поставляется ядро 2.6.20.

> Мне необходима версия 2.26
> Вообще уже был прецедент успешной сборки с таким конфигурационным файлом

Тогда вы уже должны знать, как решить следующую проблему:

> scripts/unifdef.c:209:25: ошибка: несовместимые типы для «getline»
Записан