Sida 1 av 1
Problem med command substitution [LÖST]
Postat: 07 sep 2009, 20:16
av micke_nordin
Jag håller på att bygga ett eget system från scratch enligt
http://www.linuxfromscratch.org/lfs/view/development/
Allt verkar ha funkat hittils, men när jag nu har byggt en temporär toolchain och efter att jag har byggt glibc vissar testerna detta fel:
make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
Jag tror att det är det som leder till att jag får sådana här fel:
/usr/bin/tzselect: command substitution: line 174: syntax error near unexpected token `)'
det innebär att jag inte kan göra $( ... ) utan i stället måste använda ` ... ` vilket ju inte funkar så bra när skripten redan är färdigskrivna som ovan i tzselect.
Är det nån som vet var felet kan vara och hur jag rättar till det? Vid någon av mina googlingar hittade jag kommandot
set +o posix vilket inte verkar ha hjälpt.
Edit: Jag gissar att felet finns i bash? Att bygga den igen enlig samma instruktioner hjälper väl inte?
http://www.linuxfromscratch.org/lfs/vie ... /bash.html
/Micke
Re: Problem med command substitution
Postat: 07 sep 2009, 20:40
av dmz
Jag har ingen egentlig aning, men dumt nog så måste man svara på en tråd för att kunna bevaka den.
Har du möjlighet att prova med ett annat skal, för att på så vis undanröja att det är bash's fel?
Re: Problem med command substitution
Postat: 07 sep 2009, 20:42
av micke_nordin
nej, jag har bara några få paket kompilerade i min chroot och bash är det enda skalet.
Re: Problem med command substitution
Postat: 07 sep 2009, 20:48
av Lars
micke_nordin skrev:make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
Vad står det på raderna strax ovanför detta?
Re: Problem med command substitution
Postat: 07 sep 2009, 20:56
av micke_nordin
Lars skrev:micke_nordin skrev:make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
Vad står det på raderna strax ovanför detta?
Kod: Markera allt
root:/sources/glibc-build# grep -B5 Error glibc-check-log
gcc globtest.c -c -std=gnu99 -fgnu89-inline -O2 -O3 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -march=i486 -mtune=native -pipe -Wstrict-prototypes -mpreferred-stack-boundary=2 -I../include -I/sources/glibc-build/posix -I/sources/glibc-build -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DNOT_IN_libc=1 -o /sources/glibc-build/posix/globtest.o -MD -MP -MF /sources/glibc-build/posix/globtest.o.dt -MT /sources/glibc-build/posix/globtest.o
gcc -nostdlib -nostartfiles -o /sources/glibc-build/posix/globtest -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /sources/glibc-build/csu/crt1.o /sources/glibc-build/csu/crti.o `gcc --print-file-name=crtbegin.o` /sources/glibc-build/posix/globtest.o -Wl,-rpath-link=/sources/glibc-build:/sources/glibc-build/math:/sources/glibc-build/elf:/sources/glibc-build/dlfcn:/sources/glibc-build/nss:/sources/glibc-build/nis:/sources/glibc-build/rt:/sources/glibc-build/resolv:/sources/glibc-build/crypt:/sources/glibc-build/nptl /sources/glibc-build/libc.so.6 /sources/glibc-build/libc_nonshared.a -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed `gcc --print-file-name=crtend.o` /sources/glibc-build/csu/crtn.o
/bin/sh -e globtest.sh /sources/glibc-build/ /sources/glibc-build/elf/ \
ld-linux.so.2
globtest.sh: command substitution: line 32: syntax error near unexpected token `)'
make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
Jag får några andra fel också, men dessa specifika fel ska man visst inte behöva bry sig om.
/Micke
Re: Problem med command substitution
Postat: 07 sep 2009, 20:58
av micke_nordin
make install sade dock att glibc verkar vara ok.
Re: Problem med command substitution
Postat: 07 sep 2009, 20:59
av KiviE
dmz skrev:Jag har ingen egentlig aning, men dumt nog så måste man svara på en tråd för att kunna bevaka den.
Det måste man inte. Längst ner i varje tråd finns "Bevaka denna tråden" vilket fungerar mycket bra.
Re: Problem med command substitution
Postat: 08 sep 2009, 07:22
av micke_nordin
Jag har fortfarande inte kommit till rätta med det här problemet, jag fortsätter dock och hoppas att det skall rätta till sig nästa gång jag bygger bash igen (vilket jag gör ganska snart i listan av program att bygga om). Om nån kommer på vad som kan vara fel blir jag dock glad om jag får tips så snart som möjligt eftersom en del tester inte fungerar utan $(...).
/Micke
Re: Problem med command substitution
Postat: 08 sep 2009, 10:48
av Konservburk
micke_nordin skrev:Om nån kommer på vad som kan vara fel blir jag dock glad om jag får tips så snart som möjligt eftersom en del tester inte fungerar utan $(...).
Dubbelkolla
iv. Host System Requirements
Jag tänker främst på
/bin/sh should be a symbolic or hard link to bash.
Re: Problem med command substitution
Postat: 08 sep 2009, 13:55
av micke_nordin
Som host har jag haft ubuntu 9.04 live cd. Problemen har dock kommit efter att jag flyttat över till den temporära verktygskedjan jag byggt själv.
/Micke
Re: Problem med command substitution
Postat: 08 sep 2009, 14:09
av Konservburk
micke_nordin skrev:Som host har jag haft ubuntu 9.04 live cd. Problemen har dock kommit efter att jag flyttat över till den temporära verktygskedjan jag byggt själv.
Frågan är ifall du verkligen har lyckats bygga en fullt fungerande sådan när
/bin/sh inte är
bash? Om jag inte minns fel så använder live-cd:n
dash som
/bin/sh.
Re: Problem med command substitution
Postat: 08 sep 2009, 17:50
av micke_nordin
Konservburk skrev:Frågan är ifall du verkligen har lyckats bygga en fullt fungerande sådan när /bin/sh inte är bash? Om jag inte minns fel så använder live-cd:n dash som /bin/sh.
Det verkar som om du har rätt (om att det är dash och inte bash som ingår på livecdn) och att det inte går att använda dash till att bygga den ursprungliga verktygskedjan. Nu har jag emmellertid använt den nästan fungerande bashen till att bygga en ny verktygskedja och en ny bash. Den bashen verkar funka och klarar kommando substitutionen utan problem. Så nu håller jag på att bygga om glibc + allt annat med denna bash. Vi får hoppas att det funkar nu (det visar sig väl vid testerna snart).
/Micke
Re: Problem med command substitution
Postat: 08 sep 2009, 18:39
av micke_nordin
Nu verkar jag vara tillbaka i business, efter att ha kompilerat om glibc i den nya bashen och kört testerna får jag bara det förväntade felet: make[2]: [/sources/glibc-build/posix/annexc.out] Error 1 (ignored)
/Micke
Re: Problem med command substitution [LÖST]
Postat: 11 sep 2009, 21:25
av micke_nordin
Tänkte bara rapportera lite hur det går. Jag skriver detta från elinks och håller nu som bäst på att bygga xorg-drivers (den sista pusselbiten bland xorg-paketen) med målet att bygga gnome under helgen. Ännu så länge funkar bara det trådbundna nätverket, men jag tänker att det blir enklare att googla lösningen på det från firefox än från elinks

. Summa summarum, jag har hittills lyckats bygga ett fungerande linux-system och hoppas snart oxå ha ett grafiskt gränssnitt.
/Micke