Необходимо выполнить команду «sudo make», иначе C не сможет создавать исполняемые файлы.

Необходимо выполнить команду «sudo make», иначе C не сможет создавать исполняемые файлы.

Раньше я мог запускать make как обычно, но теперь мне нужно запускать make как суперпользователь, иначе он даст сбой, сообщая, что компилятор c не может создавать исполняемые файлы. Почему это произошло?

решение1

Возможно, вы по ошибке выполнили команду sudo make, и теперь make не работает, так как для этого может потребоваться перезаписать файлы или выполнить запись в каталоги, которые были созданы с помощью sudo и, следовательно, недоступны для записи обычным пользователем.

решение2

makeМежду и есть разница make install. Make компилирует только ваши вещи, make install копирует исполняемые файлы в системе. Затем make install часто приходится выполнять как root ( sudo make install), чтобы получить доступ на запись в целевые каталоги (/bin, /sbin, /usr/bin ...). Утверждать, что makeсамо по себе не компилируется без привилегий root, действительно неловко.

  1. Проверьте, что как пользователь вы имеете доступ на чтение и запись ко (всем) файлам, которые вы пытаетесь собрать. Особенно если вы получаете исходники от третьих лиц (usbkey, web, ...), кто знает, как автор установил разрешения?
  2. Затем убедитесь, что у вас есть права на чтение и запись в папку, где makeбудут созданы объектные файлы.
  3. Тогда будьте конкретны для нас. Какая ошибка у вас появляется? У вас есть логи, которыми вы можете поделиться?

Связанный контент