Malloc/e2fsck
-
Hallo Forum,
ich möchte e2fsck installieren. Nach der Anleitung habe ich zuerst das "configure", dann "make" und dann "make check" gemacht.
Bei "make check" kommt eine Fehlermeldung. Wenn ich nach dieser im Inet suche erhalte ich nur 5 Treffer die jeweils mir nur den Source von e2fsck zeigen. Demanch ist dieser Fehler noch nie bei jemanden aufgetreten?
Hier der Source mit der Fehlermeldung:
/* Do bigarray test */ bigarray = malloc(1 << 29); if (!bigarray) { fprintf(stderr, "Failed to allocate scratch memory!\n"); exit(1); }
Wenn ich es richtig sehe wird dort versucht ein halbes GB Speicher zu allokieren. Eigentlich wird doch nur gesagt das ab jetzt ein 500 MB Block unter dieser Addresse ansprechbar ist? Es wird aber nicht angelegt. Korrekt?
Mein System ist ein Pentium 1 mit 32 MB Ram. Swap ist um die 100 MB.
Viele Dank
Peter
PS: Ich habe mittlerweile das vorkompilierte e2fsck dank Rüdiger installiert. Mich interessiert nur noch der Fehler an sich.
-
Hallo!
ich möchte e2fsck installieren.
Wenn ich Programme installiere, die im Quellcode vorliegen, führe ich
configure
make
und als root
make install
aus. Was das target
make check
genau macht, kann ich nicht sagen. Aber ich denke nicht, dass make check die Programmdatei installiert.
Poste doch mal genau das, was make als Fehlermeldung ausgibt. Die Fehlermeldungen sehen in der Regel anders aus als die, die du gepostet hast.Gruß
Michael
-
make check führt in der Regel Tests aus, die die Entwickler der Software schreiben, um sie zu testen. Es ist nicht notwendig 'make check' auszuführen, um ein Programm zu installieren.
-
So wie ich die Anleitung gelesen habe soll man "make check" vor "make install" machen um das Kompilierte zu testen. Und da ist dieser Fehler gekommen.
Aus der Installationsanleitung:
-
Compile the programs
make -
Check to make sure the installation built correctly:
make check -
Install the programs
Run `make install'
http://sourceforge.net/projects/e2fsprogs/
Mich interessiert jetzt nur noch der Fehler an sich. Wie sowas passieren kann? Hat es vielleicht doch etwas mir der RAM/SWAP Größe zu tun? Oder wird unter Linux der gesamte Speicher angelegt und mit Nullen beschrieben?
-
-
Das hat etwas mit der RAM Größe zu tun. 1 << 29 entspricht 512MB und dein System kann ja höchstens Speicher für 132MB liefern. Also wird der Kernel bzw die libc malloc einen Fehler zurück geben lassen und das ist was der Test bemängelt.
-
Linux_Revisited schrieb:
So wie ich die Anleitung gelesen habe soll man "make check" vor "make install" machen um das Kompilierte zu testen. Und da ist dieser Fehler gekommen.
muss man nicht, das ist optional.
-
@Rüdiger: Vielen Dank für die Aufklärung
@supertux: Ein Check bei einer so wichtigen OS Komponente sollte schon sein. Dieser 512 MB Mrmory Test nicht.
-
naja, der Test kann ja schon einen Sinn haben, wenn die Viele Daten im Speicher cachen (siehe man: mmap)