Sie müssen "sudo make" ausführen, sonst kann C keine ausführbaren Dateien erstellen

Sie müssen "sudo make" ausführen, sonst kann C keine ausführbaren Dateien erstellen

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 makeund 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 makedie Kompilierung ohne Root-Berechtigung fehlschlägt, ist in der Tat umständlich.

  1. Ü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?
  2. Stellen Sie dann sicher, dass Sie Lese- und Schreibzugriff auf den Ordner haben, in dem makedie Objektdateien erstellt werden.
  3. Dann seien Sie konkret. Welcher Fehler tritt bei Ihnen auf? Können Sie uns Protokolle mitteilen?

verwandte Informationen