История изменений
Исправление 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 . Что с ними делать я хрен его знает… удалил к чертям собачьим.))