[Solved]Track down build problems and errors

Hey Guys,

Im try to build a firmware but it gave me Errors.

to track down the errors i read in the documentation to use this command:

make V=s 2>&1 | tee build.log | grep -i '[^_-"a-z]error[^_-.a-z]'

but when i try to execute this command it gives me this error:

grep: Das Ende des angegebenen Intervalls ist nicht gültig

Is the documentation not Up to Date or what could be wrong?

The second line start symbol "^" in middle of the line?

Edit: sorry. it has a second meaning, apparently.

Matches the empty string at the beginning of a line; also represents the characters not in the range of a list.

One possibility is that single quote mark " there.
I am not sure what you try to match with that regex.

I use a bit different logic in my scripts:

make V=s 2>&1 | tee logs/build.log | grep -i -E "^make.*(error|[12345]...Entering dir)"

That shows more interactively the progress during the make.

Edit:
note that you need to have the "logs" directory if you use that exact line.
I use this in .config to enable package logs in any case:

CONFIG_DEVEL=y
CONFIG_BUILD_LOG=y

Nice!! try this right now.

Maybe the Documentation should be updated or simply add this string/command as another solution if the first one in the documentation don't works.

I also found out that the command of the documentation only works when placing the symbol "-" in front of every other symbol after the "[" otherwise grep gives a error because the "-" symbol means range.
But the range

_-"

is invalid.

so the correct command should be:

make V=s 2>&1 | tee build.log | grep -i '[-^_"a-z]error[-^_.a-z]'

and not

make V=s 2>&1 | tee build.log | grep -i '[^_-"a-z]error[^_-.a-z]'

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.