LINUX.ORG.RU

История изменений

Исправление Gramozeka, (текущая версия) :

[quote]Там логи рисовались 20 минут, не думаю что здесь кто-то бы осмелился их все читать? Я выложил те строчки в которых видел ошибки.[/quote]

ты не размышляй, ты сделай сперва.))) а вообще, стоило бы почитать Makefile для начала. Это хреновина собирает для себя «рассово-правильный» gcc-7.2.0(а для этого сперва собирает binutils-2.29,gmp-6.1.2, mpc-1.0.3,mpfr-3.1.6 ), а значит и баги будут такими же бородатыми как и сам gcc. Если ты его собираешь как есть из командной строки, то при современных версиях(у меня к примеру это gmp-6.1.2,mpfr-4.0.2,mpc-1.1.0,isl-0.21.1,binutils-2.32,gcc-9.2.0,glibc-2.30) обязательно повылазят «глюки прогресса», т.е. что-то из заголовков просто выкинули или оптимизировали. Вот то что вылезло - пришлось в Makefile добавить строчку:

–without-isl \

было : [code]

define GCC/Compile $(call Common/Compile,GCC,
–target=$(TARGET)
–enable-languages=c
–disable-libssp
–disable-shared
–disable-libquadmath
–with-gmp=$(TOOLCHAIN_DIR)/inst
–with-mpfr=$(TOOLCHAIN_DIR)/inst
–with-mpc=$(TOOLCHAIN_DIR)/inst
–with-newlib,
$(MAKE) && $(MAKE) -j1 install
) endef

[/code]

стало :

[code]

define GCC/Compile $(call Common/Compile,GCC,
–target=$(TARGET)
–enable-languages=c
–disable-libssp
–disable-shared
–disable-libquadmath
–with-gmp=$(TOOLCHAIN_DIR)/inst
–with-mpfr=$(TOOLCHAIN_DIR)/inst
–with-mpc=$(TOOLCHAIN_DIR)/inst
–without-isl
–with-newlib,
$(MAKE) && $(MAKE) -j1 install
) endef

[/code]

после чего всё собралось без ошибок.

Что там у тебя на борту не понятно совершенно, но если хочешь найти ошибку и самостоятельно это собрать, то разобраться как это всё работает, тебе нужно, думаю я. Каждая из частей после сборки выдаёт коротенький лог самопроверки в виде :

[code]

make[6]: вход в каталог «open-ath9k-htc-firmware-master/toolchain/build/gmp-6.1.2/tests» PASS: t-bswap PASS: t-constants PASS: t-count_zeros PASS: t-hightomask PASS: t-modlinv PASS: t-popc PASS: t-parity PASS: t-sub

Testsuite summary for GNU MP 6.1.2

TOTAL: 8

PASS: 8

SKIP: 0

XFAIL: 0

FAIL: 0

XPASS: 0

ERROR: 0

============================================================================ … ….. Testsuite summary for GNU MP 6.1.2

TOTAL: 46

PASS: 46

SKIP: 0

XFAIL: 0

FAIL: 0

XPASS: 0

ERROR: 0

============================================================================ ….

[/code]

и в таком духе. Когда же соберётся сам gcc, то конечный выхлоп его стандартный, что-то типа такого:

[code]

…. ……

                    CFLAGS="-g -O2 ${flags}" \
                    CCASFLAGS=" ${flags}" \
                    FCFLAGS=" ${flags}" \
                    FFLAGS=" ${flags}" \
                    ADAFLAGS=" ${flags}" \
                    prefix="open-ath9k-htc-firmware-master/toolchain/inst" \
                    exec_prefix="open-ath9k-htc-firmware-master/toolchain/inst" \
                    GOCFLAGS="-O2 -g ${flags}" \
                    CXXFLAGS="-g -O2 ${flags}" \
                    LIBCFLAGS="-g -O2 ${flags}" \
                    LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \
                    LDFLAGS=" ${flags}" \
                    MULTIFLAGS="${flags}" \
                    DESTDIR="" \
                    INSTALL="/usr/bin/install -c" \
                    INSTALL_DATA="/usr/bin/install -c -m 644" \
                    INSTALL_PROGRAM="/usr/bin/install -c" \
                    INSTALL_SCRIPT="/usr/bin/install -c" \
                    install); then \
      true; \
    else \
      exit 1; \
    fi; \
  else true; \
  fi; \
fi; \

done;
fi make[4]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/xtensa-elf/libgcc» make[3]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/xtensa-elf/libgcc» make[2]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0» make[1]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0» touch open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/.built

[/code]

так вот если toolchain соберётся правильно, то и всё остальное соберётся правильно, но(!) это никак не касается раздела docs, если у тебя текстовые инструменты кривые или отсутствуют, то всякие маны и прочие писульки могут и не собраться, что никак не влияет на сборку самих бинарников, правильно собранный фирмварь это наличие в корневом каталоге(ака open-ath9k-htc-firmware-master/target_firmware/) это два файлика htc_7010.fw и htc_9271.fw . Что с ними делать я хрен его знает… удалил к чертям собачьим.))

Исходная версия Gramozeka, :

[quote]Там логи рисовались 20 минут, не думаю что здесь кто-то бы осмелился их все читать? Я выложил те строчки в которых видел ошибки.[/quote] ты не размышляй, ты сделай сперва.))) а вообще, стоило бы почитать Makefile для начала. Это хреновина собирает для себя «рассово-правильный» gcc-7.2.0(а для этого сперва собирает binutils-2.29,gmp-6.1.2, mpc-1.0.3,mpfr-3.1.6 ), а значит и баги будут такими же бородатыми как и сам gcc. Если ты его собираешь как есть из командной строки, то при современных версиях(у меня к примеру это gmp-6.1.2,mpfr-4.0.2,mpc-1.1.0,isl-0.21.1,binutils-2.32,gcc-9.2.0,glibc-2.30) обязательно повылазят «глюки прогресса», т.е. что-то из заголовков просто выкинули или оптимизировали. Вот то что вылезло - пришлось в Makefile добавить строчку:

–without-isl \

было → [code] define GCC/Compile $(call Common/Compile,GCC,
–target=$(TARGET)
–enable-languages=c
–disable-libssp
–disable-shared
–disable-libquadmath
–with-gmp=$(TOOLCHAIN_DIR)/inst
–with-mpfr=$(TOOLCHAIN_DIR)/inst
–with-mpc=$(TOOLCHAIN_DIR)/inst
–with-newlib,
$(MAKE) && $(MAKE) -j1 install
) endef [/code] стало → [code] define GCC/Compile $(call Common/Compile,GCC,
–target=$(TARGET)
–enable-languages=c
–disable-libssp
–disable-shared
–disable-libquadmath
–with-gmp=$(TOOLCHAIN_DIR)/inst
–with-mpfr=$(TOOLCHAIN_DIR)/inst
–with-mpc=$(TOOLCHAIN_DIR)/inst
–without-isl
–with-newlib,
$(MAKE) && $(MAKE) -j1 install
) endef

[/code]

после чего всё собралось без ошибок.

Что там у тебя на борту не понятно совершенно, но если хочешь найти ошибку и самостоятельно это собрать, то разобраться как это всё работает, тебе нужно, думаю я. Каждая из частей после сборки выдаёт коротенький лог самопроверки в виде :

[code] make[6]: вход в каталог «open-ath9k-htc-firmware-master/toolchain/build/gmp-6.1.2/tests» PASS: t-bswap PASS: t-constants PASS: t-count_zeros PASS: t-hightomask PASS: t-modlinv PASS: t-popc PASS: t-parity PASS: t-sub

Testsuite summary for GNU MP 6.1.2

TOTAL: 8

PASS: 8

SKIP: 0

XFAIL: 0

FAIL: 0

XPASS: 0

ERROR: 0

============================================================================ … ….. Testsuite summary for GNU MP 6.1.2

TOTAL: 46

PASS: 46

SKIP: 0

XFAIL: 0

FAIL: 0

XPASS: 0

ERROR: 0

============================================================================ …. [/code]

и в таком духе. Когда же соберётся сам gcc, то конечный выхлоп его стандартный, что-то типа такого: [code] …. ……

                    CFLAGS="-g -O2 ${flags}" \
                    CCASFLAGS=" ${flags}" \
                    FCFLAGS=" ${flags}" \
                    FFLAGS=" ${flags}" \
                    ADAFLAGS=" ${flags}" \
                    prefix="open-ath9k-htc-firmware-master/toolchain/inst" \
                    exec_prefix="open-ath9k-htc-firmware-master/toolchain/inst" \
                    GOCFLAGS="-O2 -g ${flags}" \
                    CXXFLAGS="-g -O2 ${flags}" \
                    LIBCFLAGS="-g -O2 ${flags}" \
                    LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \
                    LDFLAGS=" ${flags}" \
                    MULTIFLAGS="${flags}" \
                    DESTDIR="" \
                    INSTALL="/usr/bin/install -c" \
                    INSTALL_DATA="/usr/bin/install -c -m 644" \
                    INSTALL_PROGRAM="/usr/bin/install -c" \
                    INSTALL_SCRIPT="/usr/bin/install -c" \
                    install); then \
      true; \
    else \
      exit 1; \
    fi; \
  else true; \
  fi; \
fi; \

done;
fi make[4]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/xtensa-elf/libgcc» make[3]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/xtensa-elf/libgcc» make[2]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0» make[1]: выход из каталога «open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0» touch open-ath9k-htc-firmware-master/toolchain/build/gcc-7.2.0/.built [/code] так вот если toolchain соберётся правильно, то и всё остальное соберётся правильно, но(!) это никак не касается раздела docs, если у тебя текстовые инструменты кривые или отсутствуют, то всякие маны и прочие писульки могут и не собраться, что никак не влияет на сборку самих бинарников, правильно собранный фирмварь это наличие в корневом каталоге(ака open-ath9k-htc-firmware-master/target_firmware/) это два файлика htc_7010.fw и htc_9271.fw . Что с ними делать я хрен его знает… удалил к чертям собачьим.))