Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#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:1 Changed 13 years ago by ken

This probably applies to both 1.0 and 2.0 - I'm testing a fix at the moment.

comment:2 Changed 13 years ago by ken

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 Changed 13 years ago by ken

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 Changed 13 years ago by ken

Owner: changed from clfs-commits@… to ken
Status: newassigned

comment:5 Changed 13 years ago by ken

Type: taskdefect

comment:6 Changed 13 years ago by ken

Resolution: fixed
Status: assignedclosed

Done in r2293

comment:7 Changed 13 years ago by ken

Resolution: fixed
Status: closedreopened
Version: unstable2.0.0

Whoops, reopening for CLFS-2.

comment:8 Changed 13 years ago by ken

Owner: changed from ken to Joe Ciccone
Status: reopenednew

For Joe, re CLFS-2.

comment:9 Changed 13 years ago by Joe Ciccone

Resolution: fixed
Status: newclosed

Fixed in r2315

comment:10 Changed 12 years ago by selma

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 Changed 12 years ago by Joe Ciccone

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.

Note: See TracTickets for help on using tickets.