Problem med command substitution [LÖST]
Kategoriregler
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
Varning! Det som diskuteras här är inte alltid enkelt och det kan hända att vissa installationer/modifieringar kan göra ditt system oanvändbart. Inget för nybörjare. Gör alltid backup av känslig data innan du experimenterar.
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Problem med command substitution [LÖST]
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
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
Senast redigerad av 1 micke_nordin, redigerad totalt 8 gånger.

Re: Problem med command substitution
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?
Har du möjlighet att prova med ett annat skal, för att på så vis undanröja att det är bash's fel?
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
nej, jag har bara några få paket kompilerade i min chroot och bash är det enda skalet.

-
- Inlägg: 6191
- Blev medlem: 14 jan 2007, 19:31
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Stockholm
Re: Problem med command substitution
Vad står det på raderna strax ovanför detta?micke_nordin skrev:make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
Lars skrev:Vad står det på raderna strax ovanför detta?micke_nordin skrev:make[2]: *** [/sources/glibc-build/posix/globtest.out] Error 2
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
/Micke

- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
-
- Inlägg: 2157
- Blev medlem: 25 okt 2007, 14:00
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Luleå
Re: Problem med command substitution
Det måste man inte. Längst ner i varje tråd finns "Bevaka denna tråden" vilket fungerar mycket bra.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.
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
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
/Micke

- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Problem med command substitution
Dubbelkolla iv. Host System Requirementsmicke_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 $(...).
Jag tänker främst på /bin/sh should be a symbolic or hard link to bash.
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
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
/Micke

- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Problem med command substitution
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.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.
- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
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).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.
/Micke

- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution
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
/Micke

- micke_nordin
- Inlägg: 1539
- Blev medlem: 21 aug 2008, 17:03
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Kontakt:
Re: Problem med command substitution [LÖST]
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

/Micke
