การติดตั้ง Cygwin หยุดในขั้นตอนการทำ


0

ฉันกำลังติดตั้งคอมไพเลอร์ Cygwin และ GNU C ด้วยความช่วยเหลือของบทช่วยสอน วิธีการติดตั้ง GCC ล่าสุดบน Windows

ฉันทำตามขั้นตอนต่อไปนี้เรียบร้อยแล้ว

  1. ติดตั้ง Cygwin
  2. ติดตั้งแพคเกจ Cygwin ที่จำเป็น

ขั้นตอนที่ 3 คือ "ดาวน์โหลดสร้างและติดตั้ง 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

ฉันจะทำงานนี้ได้อย่างไร

แก้ไข-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

คำตอบ:


2

https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-passwdinfo

ในระยะสั้น:

mkdir /home/prasanna
mkpasswd -c > /etc/passwd
sed -i -e "s/Prasanna Rajaram/prasanna/g" /etc/passwd

ปิด Cygwin Terminal ทั้งหมดแล้วเริ่มต้นใหม่

คำเตือน: การสร้าง gcc สำหรับผู้เชี่ยวชาญ; ฉันขอแนะนำให้คุณเริ่มต้นด้วยโครงการที่ง่ายกว่ามาก

อัปเดตจากความคิดเห็น

  1. เมื่อขั้นตอนข้างต้นเสร็จสมบูรณ์แล้วให้ย้าย build-gcc-6.1.0 และ gcc-6.1.0 โฟลเดอร์ไปยัง /home/prasanna โฟลเดอร์

  2. เรียกใช้ make -j4 และตอนนี้ (จาก /home/prasanna โฟลเดอร์) มันควรจะทำงานโดยไม่มีปัญหาใด ๆ


ฉันทำตามขั้นตอนที่คุณแนะนำเสร็จแล้ว มันทำให้ฉันมีข้อผิดพลาดชุดเดียวกัน
Prasanna

1
อันนี้ /bin/sh: /home/Prasanna: No such file or directory ?
matzeri

เป็นข้อผิดพลาดแรกในบันทึกของคุณ ยังคงมีหรือไม่
matzeri

ฉันจะโพสต์ภาพหน้าจอใหม่เป็น แก้ไข . คำตอบคือ มันไปแล้ว ตอนนี้ ฉันไม่ได้สังเกต ขอบคุณสำหรับการชี้ให้เห็น ดูเหมือนว่าทิศทางที่ถูกต้อง!
Prasanna

1
คุณยังคงใช้ไดเรกทอรีผิด "/ home / Prasanna Rajaram / build-gcc-6.1.0" พร้อมช่องว่างด้านใน ย้ายรหัสไปที่อื่นแล้วรีสตาร์ทรวมถึงขั้นตอนการกำหนดค่า
matzeri
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.