ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион, Тион-Про, Тион-Про v2, Сириус => Тема начата: kvazar от 27 Июня, 2014, 13:32:47

Название: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 13:32:47
Пытаюсь собрать КФС используя 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 битной архитектуры меня не интересует. Помогите пожалуйста разобраться
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 14:20:56
Как собирали? Взяли файл local/tion/tion.config ?
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 15:06:01
Ubuntu 12.04

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

1. cp local/tion/tion.config .config
2. make BOARD=tion
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 16:52:20
Да. И перенастроил его через menuconfig
https://yadi.sk/d/xKf2XIuVV6tUM (https://yadi.sk/d/xKf2XIuVV6tUM)
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 16:56:12
А зачем отключили BR2_LARGEFILE?
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 17:06:18
Если честно, его конфигурировал человек работавший до меня, но у него он вроде как рабочий, поэтому было сказано использовать его.
Я так понимаю что это поддержка больших файлов, зачем она нужна в рамках этой сборки?
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 17:15:03
logrotate собирается с включённым BR2_LARGEFILE. Вам придётся сделать всё заново, чтобы была пересобрана uClibc. В каталог с новым BR скопируйте каталог dl из текущего или сделайте на него ссылку.
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 17:51:46
Я включил BR2_LARGEFILE, но получил ровно ту же самую ошибку
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 17:57:25
> Вам придётся сделать всё заново, чтобы была пересобрана uClibc.
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 18:03:04
Забыл добавить - И сделал всё заново.
Один вопрос при сборке он берёт конфигурацию из local/tion/tion.config ?
В любом случае я скачал заново buildroot, скопировал в него конфигурацию, включил через menuconfig BR2_LARGEFILE и пустил на сборку, в итоге та же ошибка
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 27 Июня, 2014, 18:12:49
> Один вопрос при сборке он берёт конфигурацию из local/tion/tion.config

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

Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 27 Июня, 2014, 18:25:36
Полностью удалил buildroot. Оставил только файлы /local/tion/tion.config и .config
C помощью команды git clone скачал новый buildroot.
Скопировал в него файлы конфигурации.
Через menuconfig включил поддержку больших файлов, сохранил изменения в .config
Сделал make BOARD=tion
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 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"
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 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

Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 29 Июня, 2014, 22:58:56
> По той причине, что версия 2.30

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

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

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

> scripts/unifdef.c:209:25: ошибка: несовместимые типы для «getline»
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: kvazar от 29 Июня, 2014, 23:45:49
В том то и дело, таких проблем ранее не возникало. И вообще кроме ошибок того, что что-то в системе не установлено больше никаких ошибок не было вообще, никаких проблем не приходилось решать, всё так сказать получилось с первого раза(не считая необходимости доустанавливать пакеты приложений).

И ещё возможно это имеет отношение к делу. При использовании git clone http://zao-zeo.ru/media/files/linux/buildroot-2009.08.
Появляются вот такие ошибки
error: inflate: data stream error (incorrect header check)
error: inflate: data stream error (incorrect header check)
error: inflate: data stream error (incorrect header check)
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 29 Июня, 2014, 23:58:08
Я сомневаюсь, что у вас получится собрать с заголовочными файлами 2.6.26 не понижая версии библиотек и/или компилятора.

По поводу
> error: inflate: data stream error (incorrect header check)
я уже отвечал, что файлы целы
http://www.zao-zeo.ru/forum/index.php?topic=797.0
Название: Re: Сборка КФС для arm 920t через biuldroot 2009.08
Отправлено: asv от 30 Июня, 2014, 14:08:40
Скопируйте файл scripts/unifdef.c из более нового ядра в
toolchain_build_arm/linux-2.6.26.8/scripts/unifdef.c