I encountered this error when compiling glibc. The apparent cause is that
bash can not deal with brackets correctly. So even a simple command like echo
$(ls) will fail with the same error (command substitution).
The most suspicious cause is that when compile bash in section 5.15.1, I use
byacc for walk around when the compiler complained the absence of yacc. Bash
uses yacc grammer rules and only GNU bison will generate the correct parsing
code for the bash build. So I un-installed byacc and installed bison. Then
-
Make a soft link at
/usr/bin/yaccto bison -
Recompile all the package after 5.10 (tcl) and before 5.15 (include 5.15)
-
Test if problem solved using echo
$(ls)command -
If yes, then using
/tools/bin/bash --login +hto lunch the new bash
Also see: