yurius |
|
Темы:
82
Сообщения:
920
Участник с: 01 января 2018
|
XtsЭто уже понятно, только где и как? Хотя конечно можно и забить, и собирать на Дебиане, в конце концов уже через полгода аппаратов на 5-м андроиде станет исчезающе мало... |
alexandr05 |
|
Темы:
16
Сообщения:
108
Участник с: 16 октября 2011
|
Вы Makefile показать можете? Флаг компиляции -Werror заставляет компилятор воспринимать все предупреждения как ошибки. Попробуйте или убрать его вовсе, или заменить на -Wall. Это позволит видеть все предупреждения, но не прерывать компиляцию. |
yurius |
|
Темы:
82
Сообщения:
920
Участник с: 01 января 2018
|
alexandr05О каком Makefile речь, ведь их много? Если из корня андроид-исходников, то там почти ничего нет: ### DO NOT EDIT THIS FILE ### include build/core/main.mk ### DO NOT EDIT THIS FILE ### Вообще, был бы благодарен, если бы прозвучала наконец конкретика - где этот флаг "-Werror" смотреть (в системе или в исходниках), что с ним делать? Потому что grep только по андроид-исходникам выдал такое количество текста "-Werror", что голова кружится. |
vasek |
|
Темы:
47
Сообщения:
11853
Участник с: 17 февраля 2013
|
alexandr05Совершенно верно .... Прочитал и понял, что как всегда по невнимательности допустил промах - описался насчет флага -Werror=stringop-truncation - нужно пробовать -Wno-stringop-truncation, но из опыта и это помогает не всегда. UPD - Как же стал часто допускать промахи.
Ошибки не исчезают с опытом - они просто умнеют
|
alexandr05 |
|
Темы:
16
Сообщения:
108
Участник с: 16 октября 2011
|
К сожалению, я не могу конкретно указать на место где надо править. Для этого надо знать проект. Бегло просмотрев Ваши сообщения в теме, на гитхабе нашёл проект(надеюсь это он). В нём Makefile. В стоке № 18 удалите последний флаг и попробуйте собрать.
|
vasek |
|
Темы:
47
Сообщения:
11853
Участник с: 17 февраля 2013
|
alexandr05, если не трудно, проясни, почему нельзя попробовать конкретное отрицание -Wno-error=, если компилятор указывает явно варнинг, считающийся ошибкой UPD - обычно рекомендуют не убирать полностью -Werror
Ошибки не исчезают с опытом - они просто умнеют
|
yurius |
|
Темы:
82
Сообщения:
920
Участник с: 01 января 2018
|
alexandr05 Ну что сказать, уже получше, ошибок только одна. Взял я этот Makefile (он, правда, для исхов 8.1), скопировал из него текст, и вставил его в так сказать "основной" Makefile, находящийся в корне исходников (а куда ещё - мэйкфайлов в исходниках не менее 50 штук в самых разных директориях). Вот как выглядит сейчас Мэйкфайл:
А вот подобные флаги в BoardConfig.mk (тоже внёс на всякий случай, потому что непонятные флаги при компиляции TWRP просто игнорируются, так что не страшно, если они неверные): TARGET_GLOBAL_CFLAGS += -Wno-error=implicit-fallthrough -Wno-error=stringop-truncation TARGET_GLOBAL_CPPFLAGS += -Wno-error=implicit-fallthrough -Wno-error=stringop-truncation И, наконец, сама ошибка, которую выдал компилятор:
Кажется, мы немного приблизились к успеху ) |
vasek |
|
Темы:
47
Сообщения:
11853
Участник с: 17 февраля 2013
|
yuriusПогуглил и, насколько понял, использование strncpy() неэффективно и склонно к ошибкам. Встречаются варианты более правильного использования этой функции или замены ее на другую функцию. То есть более правильный вариант - подправить исходники в этой части. Но вот чтоб подправить нужно четко представлять эту кухню. Может кто из спецов и предложит вариант. UPD - но не понятно почему опять этот варнинг считается ошибкой - вроде ведь убрал? или не везде?
Ошибки не исчезают с опытом - они просто умнеют
|
yurius |
|
Темы:
82
Сообщения:
920
Участник с: 01 января 2018
|
vasekТак в том и дело, что непонятно, где "везде", в каких конкретно файлах надо убирать. Выше же сказал, что grep Werror и find Makefile выдают сотни результатов. Я до пенсии с этой комбинаторикой не справлюсь, надо точно знать, где отключить, а гадать можно до бесконечности. А может вообще где-то в системе в каких-то конфиг-файлах самого gcc8 отключать надо, а не (только) в исходниках - хрен же его знает. |
yurius |
|
Темы:
82
Сообщения:
920
Участник с: 01 января 2018
|
"Продолжение банкета". После всех преобразований с Мэйкфайлом применил таки данный выше совет vasek, и в файле ...system/core/mkbootimg/mkbootimg.c заменилvasek - сборка успешно прошла наконец ошибку
- однако, остановилась на другой ошибке:
- то есть теперь ругается на какой-то "strncat". На что теперь ЕГО менять? )) |