#78 closed defect (fixed)
Defective bash in the temporary system
Reported by: | ken | Owned by: | Joe Ciccone |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | BOOK | Version: | CLFS Sysroot 1.0.0 |
Keywords: | Cc: |
Description
If you 'su' to user clfs (or whomever) to build the temporary system, bash is defective. This mostly passes unnoticed, but when you run the glibc testsuite you will see
scripts/check-c++-types.sh: line 38: syntax error near unexpected token `(' scripts/check-c++-types.sh: line 38: ` $cxx -S -xc++ -o - -D_GNU_SOURCE <(cat <<EOF' make[1]: *** [/building/glibc-build/c++-types-check.out] Error 2
We seem to have now traced this to a failed test in bash's configure:
checking whether /dev/fd is available... absent
This test returns 'standard' if the builder is logged in, or is root, but 'absent' if the user has used 'su' to become the user who will build the clfs system.
Change History (11)
comment:2 by , 18 years ago
Using
echo "bash_cv_dev_fd=standard" >>config.cache
works for me. Not yet sure if this is the best fix, the problem seems to be related to cross-compiling, rather than directly to the /dev/fd test in configure (e.g. lfs shows 'absent' in the build, but doesn't have the problem).
comment:3 by , 18 years ago
I prefer to go with Go Moko's further analysis and use
echo "bash_cv_sys_named_pipes=yes" >>config.cache
The /dev/fd stuff is, of itself, harmless enough, it is the absence of named pipes (which cannot be tested when cross-compiling) that causes PROCESS_SUBSTITUTION to be undefined.
Tested on x86_64-64, 'grep foo <(ls)' works, and no problems with c++-types-check in the glibc tests.
comment:4 by , 18 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 18 years ago
Type: | task → defect |
---|
comment:7 by , 18 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Version: | unstable → 2.0.0 |
Whoops, reopening for CLFS-2.
comment:10 by , 17 years ago
Hi, I am new member and new to clfs,too. I want to build my own arm-toolchain. And I nearly understand what I must do. But unfortunately,i got an error when i wanted to start like below: cd export CLFS_HOST = "$ (echo $ MACHTYPE | \ sed" s / $ (echo $ MACHTYPE | cut-d--f2) / cross / ")" bash: syntax error near unexpected token `('
I run echo "bash_cv_dev_fd=standard" >>config.cache,but nothing has changed. Any suggestions? Thanks.
comment:11 by , 17 years ago
This ticket has been closed for a long time. The error your refering to is a typo/. You have spaces where you shouldn't have spaces and don't have spaces when you should have spaces. Check the command in the book against yours again.