
Früher konnte ich make wie gewohnt ausführen, aber jetzt muss ich make als Superuser ausführen, sonst schlägt es fehl und es wird angezeigt, dass der C-Compiler keine ausführbaren Dateien erstellen kann. Warum ist das passiert?
Antwort1
Möglicherweise haben Sie einmal versehentlich „sudo make“ ausgeführt und jetzt funktioniert „make“ nicht mehr, da möglicherweise Dateien neu geschrieben werden müssen oder in Verzeichnisse geschrieben werden muss, die unter „sudo“ erstellt wurden und daher für den normalen Benutzer nicht beschreibbar sind.
Antwort2
Es gibt einen Unterschied zwischen make
und make install
. Make kompiliert nur Ihre Sachen, make install kopiert die ausführbaren Dateien im System. Dann muss make install oft als root ( sudo make install
) ausgeführt werden, um Schreibzugriff auf die Zielverzeichnisse (/bin, /sbin, /usr/bin ...) zu erhalten. Zu behaupten, dass make
die Kompilierung ohne Root-Berechtigung fehlschlägt, ist in der Tat umständlich.
- Überprüfen Sie, ob Sie als Benutzer Lese- und Schreibzugriff auf (alle) Dateien haben, die Sie erstellen möchten. Wer weiß, wie die Berechtigungen vom Autor festgelegt wurden, insbesondere wenn Sie die Quellen von Drittanbietern (USB-Stick, Web usw.) beziehen?
- Stellen Sie dann sicher, dass Sie Lese- und Schreibzugriff auf den Ordner haben, in dem
make
die Objektdateien erstellt werden. - Dann seien Sie konkret. Welcher Fehler tritt bei Ihnen auf? Können Sie uns Protokolle mitteilen?