Installationsfehler bei Binutils 2.29, wenn versucht wird, eine Linux-Distribution mithilfe der Anweisungen „Linux From Scratch“ zu erstellen

532
Nathanael Carper

Ich versuche, eine Linux-Distribution mit Linux From Scratch (LFS) Version 8.1 zu erstellen . Ich baue es mit ElementaryOS (das auf Ubuntu basiert), das ich in VirtualBox auf meinem Mac installiert habe. Ich habe ein bisschen Erfahrung mit Linux, daher habe ich eine Vorstellung davon, was ich mache.

Alles lief gut, bis ich zu Abschnitt 5.4 des Buches kam. Dieser Abschnitt enthält Anweisungen zum Kompilieren und Installieren von Binutils 2.29 (das Buch hat mich angewiesen, Version 2.29 zu verwenden, da neuere Versionen noch nicht für Linux From Scratch getestet wurden ). Sobald ich diesen Teil des Buches erreicht hatte, schien nichts richtig zu gehen. Folgendes habe ich getan:

Nach dem Buch bereitete ich mich darauf vor, es mit diesem Befehl zu kompilieren:

./configure --prefix=/tools  --with-sysroot=$LFS  --with-lib-path=/tools/lib  --target=$LFS_TGT  --disable-nls  --disable-werror 

Nachdem ich das gemacht hatte, kompilierte ich es mit make. Da ich an einer 64-Bit-Maschine und einem 64-Bit-System arbeite, habe ich dies nach dem Kompilieren wie angewiesen ausgeführt:

case $(uname -m) in x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;; esac 

Dann habe ich ausgeführt make installund hier habe ich Probleme bekommen. Terminal hat mir folgendes gegeben:

make[1]: Entering directory '/media/nathanael/f2f5c607-926f-4931-ba6e-4e4fd6f08eee/build' /bin/bash ./mkinstalldirs /tools /tools mkdir -p -- /tools /tools mkdir: cannot create directory ‘/tools’: File exists mkdir: cannot create directory ‘/tools’: File exists Makefile:2466: recipe for target 'installdirs' failed make[1]: *** [installdirs] Error 1 make[1]: Leaving directory '/media/nathanael/f2f5c607-926f-4931-ba6e-4e4fd6f08eee/build Makefile:2224: recipe for target 'install' failed make: *** [install] Error 2 

Ich hatte schon einige Probleme, bevor ich an diesen Punkt kam, zum Glück gelang es mir, sie zu reparieren, aber dieses eine verwirrt mich. Irgendwelche Vorschläge, was ich tun soll?

Ich bin an einer Stelle vom Buch abgewichen. Das Buch ließ mich einen unprivilegierten Benutzer erstellen, lfsden ich beim Kompilieren verwenden sollte (auf diese Weise wären die Chancen, das System versehentlich zu ruinieren, gering). Aber ich hatte Probleme beim Kompilieren lfs. Ich habe verschiedene Dinge ausprobiert, um es zum Laufen zu bringen, aber ich habe festgestellt, dass das Kompilieren als Administrator am besten funktioniert. Hoffe, das macht auf lange Sicht keine Probleme.

Jede Hilfe wäre sehr dankbar.

3
Haben Sie "sudo make install" anstelle von "make install" versucht? JakeGould vor 6 Jahren 0
@ JakeGould Ja, ich habe es getan, und ich habe den gleichen Fehler erhalten. Nathanael Carper vor 6 Jahren 1
Ihre Frage lautet also "Binutils 2.29", aber wenn ich mir die Anweisungen anschaue, heißt es "Binutils 2.29.1". [Der Unterschied hier scheint nicht direkt mit dem, was Sie sehen, verbunden zu sein] (https://fossies.org/ diffs / binutils / 2.29_vs_2.29.1 / ChangeLog-diff.html), aber was weiß ich. JakeGould vor 6 Jahren 0

1 Antwort auf die Frage

-1
szymszl

Das Build-Verzeichnis scheint unübersichtlich zu sein.

Versuchen Sie zu laufen make clean.

Willkommen bei Superuser: Obwohl dies die Frage möglicherweise nicht beantworten kann, wäre es eine bessere Antwort, wenn Sie detailliertere Erläuterungen und leicht verständliche Anweisungen geben könnten. Ja, Ihre Antwort kann diesem Benutzer eine Antwort geben. Zukünftige Leser verstehen jedoch möglicherweise nicht so viel, dass die Antwort nützlich ist. Trotzdem vielen Dank für die Antwort. Bitte nehmen Sie sich ein paar Minuten und lesen Sie: - http://superuser.com/help .Answering: http://superuser.com/help/how-to-answer. Willkommen bei Superuser und antworten Sie weiter. Vielen Dank mic84 vor 6 Jahren 0
Wenn ich "make clean" starte, muss ich es erneut kompilieren? Wenn ich mich recht erinnere, wird "make clean" das Verzeichnis in Ordnung bringen, aber ich müsste das Paket erneut kompilieren. Ich werde es versuchen. Nathanael Carper vor 6 Jahren 0