วิธีการติดตั้ง gcc-4.8


94

ฉันตรวจสอบเวอร์ชัน gcc บนระบบของฉัน

ขณะนี้อยู่ที่ 4.6.3 ฉันอ่านว่า gcc-4.8 หมดแล้ว

ฉันลองคำสั่งต่อไปนี้โดยไม่ประสบความสำเร็จ:

sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)

ไม่มีใครรู้วิธีการติดตั้งแพคเกจนี้ใน 12.04?


คำตอบของ @ maggotbrain ใช้ได้สำหรับฉันแม้ว่าฉันต้องเพิ่ม: sudo apt-get install gcc-multilib เนื่องจากฉันพบปัญหานี้: superuser.com/questions/432202/make-fails-compiling-gcc
skillman

2
หมายเหตุผู้ใช้ Google ในอนาคต: หากคุณได้รับข้อความแสดงข้อผิดพลาดเช่นการอ้างอิงที่ไม่ได้กำหนดให้กับ `lexer_line 'เป็นเพราะเครื่องมือที่ขาดหายไป: bison และ flex sudo apt-get install bison sudo apt-get install flex ดังที่อธิบายไว้ที่นี่: http: // stackoverflow com / คำถาม / 4262531 / problems-building-gcc-4-6
virtualPN

คำตอบ:


119

ตอนนี้ GCC-4.8 พร้อมใช้งานสำหรับ 12.04 แม่นยำแล้วหรือยัง

อัพเดท : ณ 2013/06/05 มีในปัจจุบันคือการเปิดตัวของ GCC 4.8.1 สำหรับ 12.04 (แม่นยำ) ที่มีอยู่ในhttps://launchpad.net/~ubuntu-toolchain-r/+archive/test

คำตอบสั้น ๆ คือ: gcc-4.8ปัจจุบันมีให้บริการสำหรับ 12.04 (แม่นยำ) ผ่าน toolchain PPA หรือรวบรวมแหล่งที่มา (ดูรายละเอียดด้านล่าง)

ประกาศการเปิดตัว

การประกาศการเปิดตัว gcc-4.8นั้นเกิดขึ้นในวันที่ 22 มีนาคมดังนั้นคุณอาจจะไม่เห็นสิ่งนี้ในที่เก็บอย่างเป็นทางการ

อย่างไรก็ตามดูเหมือนว่า Launchpad จะมี PPA สำหรับการทดสอบtoolchainที่รวม gcc-4.8 ไว้ที่นี่: https://launchpad.net/~ubuntu-toolchain-r/+archive/test

ตามรายการการเปลี่ยนแปลงและแพคเกจมี debs สำหรับ i386, amd64, arm และ powerpc และถูกสร้างขึ้นเทียบกับ raring 13.04

gcc รุ่นล่าสุดที่มีอยู่สำหรับ 12.04 คือ 4.8.1 และมีอยู่ใน toolchain PPA

การเพิ่ม toolchain / test PPA:

หากต้องการเพิ่ม PPA ลงในระบบของคุณให้เปิดเทอร์มินัล ( Ctrl+ Alt+ t) และเรียกใช้คำสั่งต่อไปนี้:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

คุณจะได้รับแจ้งให้ติดตั้งแพ็คเกจที่แนะนำจำนวนหนึ่ง แนะนำแพ็คเกจเหล่านี้ แต่เป็นทางเลือกสำหรับการติดตั้ง gcc-4.8

ฟีเจอร์ C ++ นั้นมีใน gcc-4.8 ที่ไม่มีใน gcc-4.7.2?

  • ตามGNU.ORG , gcc-4.7 สนับสนุนคุณสมบัติของC ++ 11 จำนวนหนึ่ง
  • ตั้งแต่รีลีส gcc-4.8 นั้น gcc-4.7 ไม่รองรับคุณสมบัติ 8 จาก 64 ตัว (ดูที่C ++ 0x / C ++ 11 รองรับใน GCC )

  • คุณสมบัติเหล่านี้คือ:

    Language Features
    - Rvalue references for *this
    - Generalized attributes
    - Alignment support
    - Inheriting constructors
    Concurreny
    - Bidirectional Fences
    - Memory model
    - Abandoning a process and at_quick_exit
    - Thread-local storage 
    
  • สำหรับรายชื่อเต็มของการเปลี่ยนแปลงใน GCC-4.8, ดูChangelist

ฉันต้องการคุณสมบัติ gcc เหล่านี้ใน 12.04 แม่นยำแล้วตอนนี้ ฉันจะรับมันได้อย่างไร

อาคาร GCC-4.8 จากแหล่งที่มา:

หากคุณต้องการ GCC-4.8 บน 12.04 ตอนนี้ตัวเลือกเดียวของคุณคือการสร้างมันขึ้นมาจากแหล่งที่มา

โปรดอ่านคำถามที่พบบ่อยเกี่ยวกับการติดตั้งGCCก่อนการติดตั้ง

คุณสามารถดาวน์โหลด GCC-4.8 จากหนึ่งใน gnu.org ของเว็บไซต์กระจกหรือโดยตรงจากพวกเขาSVN เซิร์ฟเวอร์

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

  1. ดาวน์โหลดซอร์สโค้ด

    • สร้างไดเรกทอรีสร้าง ( mkdir gcc-build && cd gcc-build)
    • ดาวน์โหลดแฟ้มแหล่งที่มา: wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2(ปรับคำสั่งนี้จะใช้ที่เหมาะสมเว็บไซต์กระจก
    • Unzip ไฟล์ ( tar -xvjf <file name>)
  2. ติดตั้งไลบรารีเพิ่มเติม ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. รวบรวมแหล่งที่มา: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. เรียกใช้make(การดำเนินการนี้จะใช้เวลาสักครู่ทำกาแฟหรืออบคุกกี้ ;-))
  5. ติดตั้งรหัส: sudo make install

เมื่อกระบวนการนี้เสร็จสิ้นให้รันคำสั่งgcc --versionเพื่อตรวจสอบว่าการติดตั้งเสร็จสมบูรณ์ คุณควรเห็นบางสิ่งที่คล้ายกับผลลัพธ์ต่อไปนี้:

maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

สิ่งที่สำคัญที่สุด: ขอบคุณทุกคนที่ให้การติดตั้ง Backport Ubuntu ที่ง่ายสำหรับคุณ makeให้พวกเขามีบางส่วนของคุกกี้ที่อบคุณในขณะที่ทำงาน ;-)


คำตอบที่ยอดเยี่ยมยกเว้น:E: Unable to locate package gcc-4.8
John Dibling

2
การติดตั้งไลบรารีเพิ่มเติมนั้นไม่เพียงพอสำหรับฉัน แต่การเรียกใช้./contrib/download_prerequisites.shแก้ไข (จากstackoverflow.com/questions/9253695/… )
Gauthier

7
หมายเหตุ: ฉันยังต้องติดตั้งแพ็คเกจ g ++ - 4.8 (นอกเหนือจาก gcc-4.8) เพื่อให้สามารถรวบรวมรหัส C ++ ได้ มิฉะนั้นฉันได้รับข้อผิดพลาดในการคอมไพล์: gcc: error trying to exec 'cc1plus': execvp: No such file or directory 4.8.
Boris Dalstein

ฉันสามารถติดตั้ง gcc4.8 บน Precise ได้สำเร็จ
Homunculus Reticulli

1
@ John Dibling - แน่นอนว่าวิธีการเปิดเผยจะติดตั้งไฟล์อย่างไรเช่นคุณไม่เคยสร้างแพ็คเกจหรือติดตั้งใด ๆ ... ดังนั้นคุณไม่สามารถหามัน (พวกเขา) :-) ดีมีวิธีที่รวดเร็วในการสร้างโดยอัตโนมัติแพคเกจโดยใช้โฟลเดอร์เดเบียนจากการเชื่อมโยง ฉันทำมันสำเร็จแล้วสำหรับแพ็คเกจอื่น ๆ โซลูชันนี้จะติดตั้งแพ็คเกจที่เกี่ยวข้องทั้งหมดรวมถึง g ++ ฯลฯ ...
Antonio

1

ดังนั้นคำตอบข้างต้นทำงานอย่างน้อยสำหรับการติดตั้งด้วยตนเอง แม้หลังจากsudo make installนั้นการรันจะgccยังคงทำงานเพียงแค่รันเวอร์ชันหุ้น 4.6.3 แม้แต่พยายามgcc-4.8หรือgcc-4.8.0ไม่ทำงาน การวิ่ง/app/gcc/4.8.0/bin/gccดูเหมือนจะเป็นสิ่งเดียวที่เหมาะกับฉัน ฉันหมายความว่ามันค่อนข้างง่อย แต่อย่างน้อยก็ใช้ได้


5
[: facepalm:] ก่อนที่คุณจะเรียกสิ่งที่ "อ่อนแอ" บางทีคุณควรอัพเกรดความรู้ระบบปฏิบัติการของคุณ คุณสามารถเริ่มต้นด้วยการอ่านแนวคิดของ PATH: en.wikipedia.org/wiki/PATH_(variable)
pszilard

1
แน่นอนเช่นกันเนื่องจากคุณไม่ได้ติดตั้งแพ็คเกจใด ๆ ด้วยสคริปต์ DEBIAN / postinst คุณต้องตั้งค่ารุ่นเริ่มต้นด้วยตนเองเพื่อให้ระบบของคุณใช้งานผ่านทางตัวเลือกการอัพเดท cmd สาย ... ถ้าคุณใช้คำนำหน้า = / usr มีความจำเป็นต้องเข้าไปยุ่งกับเส้นทาง ...
อันโตนิโอ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.