2013-03-14 2 views
1

В проекте, использующем SFML, я пытаюсь скомпилировать часть своего товарища по команде через make. Все отлично справляется с его ubuntu, но все пошло не так на мой дебиан./usr/local/include/SFML premission denied

Я положил все включает в себя необходимости в libsfml на странице/USR/местные/включить/папку и все .so в libsfml на/USR/местные/Библиотека/

ls -l /usr/local/include : drw-rwSrw- 7 root User size date SFML

I не знаю, является ли капитал S ключом к проблеме, я никогда не видел его раньше. О sudo Сделать все отлично. Но мне не нужно быть root для компиляции такого проекта.

Любые советы?

Вот выход ошибки:

LibrarySFML.hpp:14:29: error: /usr/local/include/SFML/Graphics.hpp: Permission denied 
LibrarySFML.hpp:15:27: error: /usr/local/include/SFML/System.hpp: Permission denied 
LibrarySFML.hpp:16:27: error: /usr/local/include/SFML/Window.hpp: Permission denied 

LibrarySFML.hpp линия 14-15-16:

#include <SFML/Graphics.hpp> 
#include <SFML/System.hpp> 
#include <SFML/Window.hpp> 

ответ

0

Столица S действительно указывает на проблему. Из информационной страницы Coreutils LS:

Если набор-идентификатор пользователя или установленный идентификатор группы бит установлен, но , соответствующая исполняемый бит не установлено.

Это означает, что бит setgid установлен в каталоге (который заставляет наследовать владельца группы и не интересен здесь), но исполняемый бит не является. Для каталогов - это возможность поиска файлов в каталоге. Только root может видеть файлы в этом каталоге, и только после этого root может игнорировать это. Кто-то установил режим каталога в режим, который должен использоваться только для файлов.

chmod 2775 /usr/local/include/SFML 

должен исправить проблему. (Или 755, если вы хотите использовать более традиционные разрешения только для root, Debian уходит от использования группы staff.)