Я устанавливаю Cygwin и GNU C компилятор с помощью учебника Как установить последнюю версию GCC на Windows
Я выполнил следующие шаги
- Установить Cygwin
- Установите необходимые пакеты Cygwin
Третий этап - «Скачать, собрать и установить последнюю версию GCC».
Я застрял, когда запускаю команду make -j4
со следующей ошибкой в Cygwin Terminal
.
$ make -j4 make[1]: Entering directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Configuring in ./intl Configuring in ./libiberty Configuring in ./lto-plugin /bin/sh: /home/Prasanna: No such file or directory Makefile:7416: recipe for target 'configure-libiberty' failed make[1]: *** [configure-libiberty] Error 1 make[1]: *** Waiting for unfinished jobs.... Configuring in ./fixincludes /bin/sh: /home/Prasanna: No such file or directory Makefile:5330: recipe for target 'configure-intl' failed make[1]: *** [configure-intl] Error 1 /bin/sh: /home/Prasanna: No such file or directory Makefile:9308: recipe for target 'configure-lto-plugin' failed make[1]: *** [configure-lto-plugin] Error 1 /bin/sh: /home/Prasanna: No such file or directory Makefile:3470: recipe for target 'configure-fixincludes' failed make[1]: *** [configure-fixincludes] Error 1 make[1]: Leaving directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879: recipe for target 'all' failed make: *** [all] Error 2
Я также думаю, где это пошло не так. В моем пути к домашней директории '/home/Prasanna Rajaram/
между моим именем и фамилией есть пробел. Я не знаю, как Windows 10 создала такое имя папки в каталоге C:\Users
.
Как я могу преодолеть эту проблему? Я не хочу переименовывать каталог пользователя одним словом (например, PrasannaRajaram
), так как это может повлиять на другие программы, которые могут использовать этот путь.
Существует также мысль, что этот путь может применяться только для Cygwin, так как он начинается с /home
Как я могу сделать эту работу?
Edit-1 После следующих шагов из ответа ниже
mkdir /home/prasanna mkpasswd -c > /etc/passwd sed -i -e "s/Prasanna Rajaram/prasanna/g" /etc/passwd
Вывод на Cygwin теперь выглядит так:
$ make -j4 make[1]: Entering directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Configuring in ./lto-plugin Configuring in ./intl Configuring in ./fixincludes /home/Prasanna: /home/Prasanna: is a directory Makefile:9308: recipe for target 'configure-lto-plugin' failed make[1]: *** [configure-lto-plugin] Error 1 make[1]: *** Waiting for unfinished jobs.... Configuring in ./libiberty /home/Prasanna: /home/Prasanna: is a directory Makefile:5330: recipe for target 'configure-intl' failed make[1]: *** [configure-intl] Error 1 /home/Prasanna: /home/Prasanna: is a directory Makefile:3470: recipe for target 'configure-fixincludes' failed make[1]: *** [configure-fixincludes] Error 1 /home/Prasanna: /home/Prasanna: is a directory Makefile:7416: recipe for target 'configure-libiberty' failed make[1]: *** [configure-libiberty] Error 1 make[1]: Leaving directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879: recipe for target 'all' failed make: *** [all] Error 2