[linuxfromscratch-installatiefase] segmentation fault bash

Pagina: 1
Acties:

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
Ik heb zojuist Glibc-2.3.1 geinstalleerd, volgens het linuxfromscratch-cvs boek (ik heb veel andere pakketen uit de 4.0 versie geinstalleerd, en sommige pakketen heb ik zelfs de nieuwste gepakt, die dus nog niet in de cvs zitten).

Ik heb exact gehandeld zoals hier beschreven. Bij de stap exec /static/bin/bash --login (tot nu toe was Glibc niet geinstalleerd, en zei bash dus constant "I have no name!", om daarvanaf te komen log je dus opnieuw in met bash) gaat het fout, ik kreeg een segmentation fault:
code:
1
2
I have no name!:/static/bin# bash
Segmentation fault

T vreemde vind ik dat deze bash gewoon gewerkt heeft (de shell die je ziet is dezelfde bash), hij is static gelinkt, maar als ik glibc installeer geeft ie opeens dit?

Ik ben nog enigzins beginner met linux (vandaar dat ik gekozen heb voor linuxfromscratch, heb er al veel van geleerd), en ik weet niet zo goed wat ik nu moet doen... Heeft iemand een idee?

P.S. ja ik heb de faq gelezen over segmentation faults, maar kan me eigenlijk niet voorstellen dat ik kapot geheugen heb, heb verder totaal geen problemen met linux of windows.
edit:

mmm, is een segfault eigenlijk hetzelfde als een segmentation fault?

[ Voor 5% gewijzigd door smokalot op 25-04-2003 14:13 ]

It sounds like it could be either bad hardware or software


Verwijderd

Segfault en segmentation fault zijn hetzelfde. Je zegt dat bash statisch gelinkt is, maar je verhaal doet me anders vermoeden. Wat geeft "ldd /bin/bash"? Als daar iets komt te staan, dan gok ik toch echt dat je binary incompatibility hebt. Dan moet je dus opnieuw compileren (bash).

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
ldd, met wat ik er ook achter zet geeft ook een segmentation fault.

voor de duidelijkheid, ik werk nu dus onder een chroot omgeving. Ik heb bash gecompiled volgens het boekje, dus dat is met static-link enabled.

Ehm, binary-incompatibility?
betekent dat dat deze twee versies gewoon niet met elkaar overweg kunnen? welke bash moet ik dan hebben?

of is het gewoon op te lossen als ik bash opnieuw compile?

It sounds like it could be either bad hardware or software


Verwijderd

Is onderstaande wel correct??

code:
1
2
I have no name!:/static/bin# bash
Segmentation fault


Volgens de documentatie moet je, na install van glibc-2.3.1, opnieuw inloggen met:

exec /static/bin/bash --login

om de nieuwe libnss_* files te 'activeren' en om van de 'I have no name!' melding af te komen.

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
Verwijderd schreef op 25 April 2003 @ 15:08:
Is onderstaande wel correct??

code:
1
2
I have no name!:/static/bin# bash
Segmentation fault


Volgens de documentatie moet je, na install van glibc-2.3.1, opnieuw inloggen met:

exec /static/bin/bash --login

om de nieuwe libnss_* files te 'activeren' en om van de 'I have no name!' melding af te komen.
segmentation fault, alleen wordt ik dan ook nog eens uit mn chroot gegooid (waar ik dus niet meer in terug mag :()

It sounds like it could be either bad hardware or software


Verwijderd

Vreemd.

Het enige wat ik, uit eigen ervaring, nog kan opgooien is 't volgende: Je hebt tijdens de voorbereidingfase een van je progjes niet static gecompiled. Ik kan je verzekeren dat dat erg leuke (_NOT_) resultaten geeft.

Heb toen zelf besloten om opnieuw te beginnen en alle uitgevoerde handelingen letterlijk te copy en pasten in een eigen textfile (ook erg handig voor later, vooral als je met BLFS verder gaat).

Het zou eventueel ook nog een known error kunnen zijn, kijk effe op de mailinglisten van LFS, misschien staat er iets.

  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
Verwijderd schreef op 25 april 2003 @ 15:22:
Vreemd.

Het enige wat ik, uit eigen ervaring, nog kan opgooien is 't volgende: Je hebt tijdens de voorbereidingfase een van je progjes niet static gecompiled. Ik kan je verzekeren dat dat erg leuke (_NOT_) resultaten geeft.

Heb toen zelf besloten om opnieuw te beginnen en alle uitgevoerde handelingen letterlijk te copy en pasten in een eigen textfile (ook erg handig voor later, vooral als je met BLFS verder gaat).

Het zou eventueel ook nog een known error kunnen zijn, kijk effe op de mailinglisten van LFS, misschien staat er iets.
mmm, ik heb zo'n beetje alles gecopy-paste uit dat boek, zou erg stom zijn als ik t vergeten zou zijn...

enne, wat heb je eraan om alles wat je doet op te slaan in een textbestandje? je kunt toch ook gewoon alles loggen?

It sounds like it could be either bad hardware or software


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

de patch komt er aan...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/sh
# file     : st.bin-correct.sh
# task     : sed the offending LD_LIBRARY_PATH from static bins

user=` id -un `
if [ "${user}" != "root" ]; then
        echo "you must be root to run $0"
        exit 1
fi

. static.cfg
do_define

#[ ! -d ${stprefix}/compat ] && mkdir ${stprefix}/compat
#cp /lib/libc-2.2.5.so ${stprefix}/compat/libc.so.6
#cp /lib/libnss_files-2.2.5.so ${prefix}/compat/libnss_files.so.2
#cd ${stprefix}/compat && strip --strip-debug *


cd ${stbindir}
for file in ` ls * `; do
        is_prog=` ldd "$file" | grep 'not a dynamic executable' 2>/dev/null `
        has_libpath=` strings "$file" | grep 'LD_LIBRARY_PATH' 2>/dev/null `
        if [ ! -L $file ]; then
                if [ "$is_prog" ]; then
                        if [ "$has_libpath" ]; then
                                cp ${file} ${file}.ori
                                sed -e 's/LD_LIBRARY_PATH/LD_LIBERRY_PATH/g'   \
                                        ${file}.ori >${file} && rm -f ${file}.or
i       \
                                        && echo "--> done: $file"
                        fi
                fi
        fi
done

cd ${stsbindir}
for file in ` ls * `; do
        is_prog=` ldd "$file" | grep 'not a dynamic executable' 2>/dev/null `
        has_libpath=` strings "$file" | grep 'LD_LIBRARY_PATH' 2>/dev/null `
        if [ ! -L $file ]; then
                if [ "$is_prog" ]; then
                        if [ "$has_libpath" ]; then
                                cp ${file} ${file}.ori
                                sed -e 's/LD_LIBRARY_PATH/LD_LIBERRY_PATH/g'   \
                                        ${file}.ori >${file} && rm -f ${file}.or
i       \
                                        && echo "--> done: $file"
                        fi
                fi
        fi
done

un_define

# vim: ts=4


komt door het feit dat je met de oude glibc hebt gecompiled en de nieuwe glibc gaat gebruiken.

[ Voor 109% gewijzigd door Skinkie op 25-04-2003 15:31 ]

Steun Elkaar, Kopieer Nederlands Waar!


Verwijderd

Eerst je originele vraag:

http://hints.linuxfromscratch.org/hints/static-pwd.txt

Kijk effe naar bovenstaande, misschien van toepassing.

V.w.b. het copieren naar een eigen bestand:

- Fouten in de originele documentatie zijn gecorrigeerd in m'n eigen bestand,
- Hints uit diverse hintfiles zijn erin verwerkt,
- Eigen toevoegingen van software niet (of nauwelijks) besproken in LFS toegevoegd,
- Ik heb meer dan 1 machine staan en er zijn aardig wat systeem specifieke items, deze zijn allemaal in m'n eigen textbestand opgenomen.

Uiteindelijk wil ik m'n eigen documentatie gaan gebruiken om een soort auto-install voor m'n eigen netwerk op te zetten.

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Verwijderd schreef op 25 april 2003 @ 15:31:
Eerst je originele vraag:
Uiteindelijk wil ik m'n eigen documentatie gaan gebruiken om een soort auto-install voor m'n eigen netwerk op te zetten.
voor het lfs gedeelte heb ik een eigen ALFS gemaakt omdat de alfs die beschikbaar was geen CVS dingen ondersteunde. ik heb alsware een programlist met download locaties die hij gaat afwerken en zich vervolgens gaat installeren. Zitten nog twee foutjes in (gzip en ping). gzip moet je eigenlijk al uitpakken voordat je naar de chroot omgeving gaat :/

Steun Elkaar, Kopieer Nederlands Waar!


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 15:52
Klasiek en fout, je bent waarschijnlijk de glibc-2.3.1-libnss.patch vergeten terwijl je vanaf een glibc 2.2.x host compiled.
De nss libs worden zelfs bij statisch compilen dynamisch meegelinked en zijn niet compatible. deze patch doet dit probleem voorkomen.

Dit had je overigens eenvoudig op archives.linuxfromscratch.org kunnen vinden.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 15:52
Verwijderd schreef op 25 April 2003 @ 15:31:
Eerst je originele vraag:

http://hints.linuxfromscratch.org/hints/static-pwd.txt

Kijk effe naar bovenstaande, misschien van toepassing.
Aaah, mijn hint :D

Deze hint is slechts een alternatieve manier van het probleem voorkomen. keuze is boek volgen met patch, of patch niet gebruiken en via de in de hint beschreven manier werken.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • smokalot
  • Registratie: Juni 2001
  • Laatst online: 15-01 22:00

smokalot

titel onder

Topicstarter
RonaldH schreef op 26 april 2003 @ 15:10:
Klasiek en fout, je bent waarschijnlijk de glibc-2.3.1-libnss.patch vergeten terwijl je vanaf een glibc 2.2.x host compiled.
De nss libs worden zelfs bij statisch compilen dynamisch meegelinked en zijn niet compatible. deze patch doet dit probleem voorkomen.

Dit had je overigens eenvoudig op archives.linuxfromscratch.org kunnen vinden.
Ik heb de patch expres niet gebruikt, omdat hij bedoeld was voor oude versies van Glibc, en ik ben er vanuit gegaan dat de Glibc van mn mandrake 9.0 nieuwer was dan deze. Stom dat ik er zelf niet aan gedacht heb...

Probleem met zoeken was dat de enige melding die ik kreeg een segmentation fault was, en volgens mij kan dat overal aan liggen... Magoed, als ik Glibc nu MET patch compile moet t dus lukken?

It sounds like it could be either bad hardware or software


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

smokalot schreef op 26 April 2003 @ 20:25:
[...]

Ik heb de patch expres niet gebruikt, omdat hij bedoeld was voor oude versies van Glibc, en ik ben er vanuit gegaan dat de Glibc van mn mandrake 9.0 nieuwer was dan deze. Stom dat ik er zelf niet aan gedacht heb...

Probleem met zoeken was dat de enige melding die ik kreeg een segmentation fault was, en volgens mij kan dat overal aan liggen... Magoed, als ik Glibc nu MET patch compile moet t dus lukken?
Als je die LIBARY door LIBERRY vervangt werkt het nu al...

Steun Elkaar, Kopieer Nederlands Waar!

Pagina: 1