--- Em dom, 6/1/13, Bruce Dubbs escreveu: > De: Bruce Dubbs > Assunto: Re: [lfs-support] can't compile gcc pass 1 > Para: "LFS Support List" > Data: Domingo, 6 de Janeiro de 2013, 1:09 > Fernando de Oliveira wrote: > > > I like this. Output from > > > > $ cat /etc/lfs-release > > SVN-20120311 > > Here is another version. I can't say I really like > it. The original is > 40 lines and this is 73. All this because users either > don't have > enough experience to understand what's there now or because > a user > (generally experienced) just skips it. > > After all, the book says: > > /bin/sh should be a symbolic or hard link to bash > /usr/bin/yacc should be a link to bison or small script that > executes bison > /usr/bin/awk should be a link to gawk > > We then print out all the current values on the system. > > How much hand holding do we need to do?
I agree with you. However, I think that there must be a way to reduce user problems, and as usual in life, a price has to be paid for that. So, I am dropping the word "like", and also, I do not "dislike" this script. 1. I have run the previous posted script, then the new one, and logged both. A "diff" showed no difference in the outputs. 2. A "diff" was between the scripts, not their output, gave (just pasting the lines that could have some interest, although it is not really an important point): <paste> $ diff -Naur ../../lfs/version-check-lfs-support{,-2}.sh | less ... SH=`readlink -f /bin/sh` echo "/bin/sh -> $SH" -[ "$SH" == "/bin/bash" ] || die "/bin/sh is not a symlink to bash" +[ "$SH" == "/bin/bash" ] || die "/bin/sh is not a symlink to bash" ... </paste> There is an extra space in the new one, just after "==". []s, Fernando > #!/bin/bash > # Simple script to list version numbers of critical > development tools > > function die > { > rm -f dummy.c dummy > echo "Error: $1" > exit 1 > } > > function executable > { > EXE=$(which $1 2>/dev/null) > [ -x "$EXE" ] || die "$1 not found" > } > > export LC_ALL=C > bash --version | head -n1 | cut -d" " -f2-4 > > SH=`readlink -f /bin/sh` > echo "/bin/sh -> $SH" > [ "$SH" == "/bin/bash" ] || die "/bin/sh is not a > symlink to bash" > > executable ld > echo -n "Binutils: "; ld --version | head -n1 | cut -d" " > -f3- > > executable bison; bison --version | head -n1 > > if [ -e /usr/bin/yacc ]; > then echo "/usr/bin/yacc -> `readlink > -f /usr/bin/yacc`"; > else die "yacc not found"; fi > > executable bzip2 > bzip2 --version 2>&1 < /dev/null | head -n1 | cut > -d" " -f1,6- > > executable chown > echo -n "Coreutils: "; chown --version | head -n1 | cut > -d")" -f2 > > executable diff; diff --version | head -n1 > executable find; find --version | head -n1 > executable gawk; gawk --version | head -n1 > > AWK=`readlink -f /usr/bin/awk` > awk=/usr/bin/awk > echo "$awk -> $AWK" > [ "$AWK" == "/usr/bin/gawk" ] || die "$awk is not a > symlink to gawk" > > executable gcc; gcc --version | head -n1 > > echo 'main(){}' > dummy.c && gcc -o dummy > dummy.c > if [ -x dummy ] > then > echo "gcc compilation OK" > rm -f dummy.c dummy > else > die "gcc compilation failed" > fi > > executable ldd; ldd --version | head -n1 > | cut -d" " -f2- # glibc > executable grep; grep --version | > head -n1 > executable gzip; gzip --version | > head -n1 > > cat /proc/version; > executable m4; m4 --version | > head -n1 > executable make; make --version | > head -n1 > executable patch; patch --version | head -n1 > executable perl; echo Perl `perl > -V:version` > executable sed; sed --version | head > -n1 > executable tar; tar --version | head > -n1 > executable makeinfo; echo "Texinfo: `makeinfo --version | > head -n1`" > executable xz; xz --version | > head -n1 > > echo -e "\n\n*** Review all versions for currency!" -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page