
Раньше я мог запускать 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, действительно неловко.
- Проверьте, что как пользователь вы имеете доступ на чтение и запись ко (всем) файлам, которые вы пытаетесь собрать. Особенно если вы получаете исходники от третьих лиц (usbkey, web, ...), кто знает, как автор установил разрешения?
- Затем убедитесь, что у вас есть права на чтение и запись в папку, где
make
будут созданы объектные файлы. - Тогда будьте конкретны для нас. Какая ошибка у вас появляется? У вас есть логи, которыми вы можете поделиться?