#ubuntu #gcc #pythonanywhere
#ubuntu #gcc #pythonanywhere
Вопрос:
Я пытаюсь собрать gcc-7.4.0
в PythonAnywhere. Я загрузил gcc-7.4.0
via wget
и успешно выполнил следующие команды.
~ $ mkdir gccbuild
~ $ cd gccbuild
~/gccbuild $ ../gcc-7.4.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-7.4.0 --enable-checking=release --enable-languages=c,c ,fortran
--disable-multilib --program-suffix=-7.4
~/gccbuild $ make -j 8
Теперь я пытаюсь запустить make install-strip
команду, но она выдает Permission denied
ошибку, такую как показано ниже.
make[1]: Entering directory '/home/sfmyazilim/gccbuild'
/bin/bash ../gcc-7.4.0/mkinstalldirs /usr/local/gcc-7.4.0 /usr/local/gcc-7.4.0
mkdir -p -- /usr/local/gcc-7.4.0 /usr/local/gcc-7.4.0
mkdir: cannot create directory ‘/usr/local/gcc-7.4.0’: Permission denied
mkdir: cannot create directory ‘/usr/local/gcc-7.4.0’: Permission denied
Makefile:2581: recipe for target 'installdirs' failed
make[1]: *** [installdirs] Error 1
make[1]: Leaving directory '/home/sfmyazilim/gccbuild'
Makefile:2491: recipe for target 'install-strip' failed
make: *** [install-strip] Error 2
Я не могу использовать sudo
, потому что PythonAnywhere этого не позволяет. Как я могу установить встроенный GCC с помощью make install-strip
команды без каких-либо ошибок?
Комментарии:
1. Вам нужно создать его в своем домашнем каталоге, а не в масштабах всей системы.
Ответ №1:
Когда вы запускаете configure
команду, вы можете установить каталог для установки с --prefix
помощью флага, поэтому вам нужно добавить что-то подобное --prefix=$HOME/.local
к этому, чтобы он устанавливался в подкаталог вашего домашнего каталога .local
, который является стандартным местом для пользовательских двоичных файлов, подобных этому. Итак, вы должны снова пройти процесс, настроить с помощью этого дополнительного параметра, создать двоичные файлы с make -j 8
помощью команды, а затем выполнить make install
шаг.