อัปเดต GCC เป็นรุ่น 6.3 [ปิด]


10

ฉันต้องการใช้คุณสมบัติบางอย่างของ C ++ ที่มีเฉพาะในภาษารุ่นที่ใหม่กว่าเท่านั้น ปัญหาคือ Ubuntu 15.04 (Vivid Vervet) ติดตั้ง 4.9.2 และดูผลลัพธ์ที่ฉันได้รับจากapt-get gcc install :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]

มันบอกว่ามันเป็นรุ่นล่าสุดแล้ว ฉันไม่เข้าใจว่าทำไม ...


1
Ubuntu 15.04 ไม่ได้รับการสนับสนุนอีกต่อไปบางทีคุณควรย้ายไปใช้เวอร์ชันที่ใหม่กว่า อูบุนตูเวอร์ชันเก่ามักจะไม่มีแพ็คเกจล่าสุดคุณต้องอัพเกรดการกระจายหรือติดตั้งแพ็คเกจจาก ppa หรือสร้างจากแหล่งที่มา
Raziman TV

คำตอบ:


10

ตัวเลือกเดียวที่มีอยู่คือการสร้างจากแหล่งที่มาเนื่องจากคุณใช้รุ่น Vivid (15.04) ซึ่งถึง EOL (End Of Life)

  1. ดาวน์โหลดซอร์สโค้ดและสิ่งที่จำเป็นต้องมี:

    wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
    tar jxvf gcc-6.3.0.tar.bz2
    cd gcc-6.3.0
    ./contrib/download_prerequisites
    
  2. รวบรวมแหล่งที่มา (หมายเหตุ: คำสั่งนี้จะแตกต่างกันไปขึ้นอยู่กับตำแหน่งที่คุณบันทึกไฟล์เก็บถาวร. bz2) ในตอนแรกคุณยังสามารถแก้ไขตัวเลือกสำหรับbuildคำสั่งได้ ในกรณีนี้เราจะใช้ตัวเลือกพื้นฐานมาก:

    cd ~
    mkdir gcc-build && cd gcc-build
    ../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0
    

    หมายเหตุ : ตรวจสอบให้แน่ใจว่าคุณได้อ่านเอกสารเพื่อดูตัวเลือกที่ใช้ได้

  3. ตอนนี้เราพร้อมที่จะสร้าง gcc แล้ว

    • เรียกใช้makeคำสั่งเพื่อสร้าง gcc ขั้นตอนนี้จะใช้เวลานานกว่าจะเสร็จสมบูรณ์

      make
      
    • เมื่อขั้นตอนข้างต้นเสร็จแล้วคุณสามารถติดตั้งสร้าง GCC ด้วย:

      sudo make install
      

      เมื่อกระบวนการนี้เสร็จสิ้นให้รันคำสั่งgcc --versionเพื่อตรวจสอบว่าการติดตั้งเสร็จสมบูรณ์


ตัวเลือก "-v" ทำหน้าที่อะไร? ฉันไม่พบมันในgcc.gnu.org/install/configure.html
Fabrício Santana


ไปที่โฟลเดอร์ใดที่ติดตั้ง g ++ 6.3 เมื่อทำตามขั้นตอนเหล่านี้ ไป~/gcc-6.3.0ยัง~/gcc-buildหรือไปยังโฟลเดอร์อื่น ๆ ? ไม่ควรมีโฟลเดอร์ใด ๆ ที่สร้างขึ้นถูกลบหลังจากเรียกใช้คำสั่งเหล่านี้หรือยังจำเป็นต้องใช้ทั้งหมดหรือไม่
HelloGoodbye

1
tar xzvf gcc-6.3.0.tar.bz2เพียงพิมพ์gzip: stdin: not in gzip format; tar: Child returned status 1; tar: Error is not recoverable: exiting nowดังนั้นฉันจะแตกไฟล์ด้วยตัวจัดการไฟล์เก็บถาวร
HelloGoodbye

เมื่อฉันเรียก../gcc-6.3.0/configure -v --prefix=$HOME/gcc-6.3.0ฉันได้รับ/usr/bin/ld: cannot find crt1.o: No such file or directory, /usr/bin/ld: cannot find crti.o: No such file or directory, /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc, /usr/bin/ld: cannot find -lgccและข้อผิดพลาดที่คล้ายกัน
HelloGoodbye

4

Ubuntu 15.04 หมดอายุการใช้งานและไม่ได้รับการสนับสนุนซึ่งหมายความว่าจะไม่มีการอัปเดตหรือแก้ไขเพิ่มเติม(ความปลอดภัยข้อบกพร่องหรือคุณสมบัติ)อีกต่อไป

คุณควรอัปเดตหรือติดตั้งใหม่กับ Ubuntu รุ่นที่ใหม่กว่า

ฉันจะแนะนำให้ไปกับ 16.10 (สนับสนุน 9 เดือน)ซึ่งมีสาขา gcc 6.x แล้วใน repos อย่างเป็นทางการ

แต่คุณยังสามารถไปกับ 16.04 LTS (สนับสนุน 5 ปี)และเพิ่มppa ที่ไม่น่าเชื่อถือ / ไม่รับประกันเพื่อรับ gcc รุ่นล่าสุดเช่นนี้

โดยส่วนตัวแล้วฉันจะเลือกใช้ 16.10 และอัปเดตจากช่องทางอย่างเป็นทางการไปเป็นซอฟต์แวร์ / อูบุนตูรุ่นต่อมาโดยไม่ต้องเพิ่มppa ใด ๆ (ส่วนใหญ่)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.