Opened 18 years ago

Closed 18 years ago

Last modified 17 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 by ken, 18 years ago

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

comment:2 by ken, 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 ken, 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 ken, 18 years ago

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

comment:5 by ken, 18 years ago

Type: taskdefect

comment:6 by ken, 18 years ago

Resolution: fixed
Status: assignedclosed

Done in r2293

comment:7 by ken, 18 years ago

Resolution: fixed
Status: closedreopened
Version: unstable2.0.0

Whoops, reopening for CLFS-2.

comment:8 by ken, 18 years ago

Owner: changed from ken to Joe Ciccone
Status: reopenednew

For Joe, re CLFS-2.

comment:9 by Joe Ciccone, 18 years ago

Resolution: fixed
Status: newclosed

Fixed in r2315

comment:10 by selma, 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 Joe Ciccone, 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.

Note: See TracTickets for help on using tickets.