จะติดตั้ง g ++ 4.9.2 ใน Cent OS 6.5 ได้อย่างไร


13

ฉันพยายามติดตั้ง g ++ เวอร์ชันล่าสุดใน Cent OS สิ่งที่ดีที่สุดที่ฉันจัดการคือ:

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

แต่สิ่งนี้จะติดตั้ง g ++ 4.8.2 และไม่ใช่ 4.9.2 มีวิธีการติดตั้ง 4.9.2 หรือไม่?

คำตอบ:


4

คุณจะต้องทำแบบเก่า ๆ รับแหล่ง GCC สร้างด้วยมือ

เหตุผลใดที่คุณไม่ชอบที่จะทำสิ่งนี้? (ฉันสามารถคิดได้เพียงเล็กน้อย แต่ถ้าคุณไม่ทำเช่นนั้นฉันไม่ต้องการเพิ่มอะไรที่อาจทำให้สับสน)

หากคุณลังเลที่จะสร้างจากแหล่งที่มาฉันอาจให้ขั้นตอนบางอย่าง

หมายเหตุ: เหตุผลที่เป็น devtools ที่มี 4.9 ในปัจจุบันมีให้เฉพาะผู้ใช้ Red Hat ที่มีใบอนุญาตที่ถูกต้อง รอสักครู่และในที่สุดฉันก็แน่ใจว่า 4.9 devtools จะให้บริการแก่ผู้ใช้ CentOS เช่นเดียวกับ 4.8 ในปัจจุบัน


ขอบคุณสำหรับการตอบดูเหมือนว่าฉันจะรอสิ่งนี้ คุณสามารถช่วยฉันได้ที่นี่ด้วย: superuser.com/questions/834915/…
SpeedCoder

28

CentOS 6/7 สนับสนุนอย่างเป็นทางการนี้ คุณไม่ต้องการที่เก็บของบุคคลที่สาม และรุ่น gcc คือ 4.9.2 ใน repos ของ CentOS

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

ในการใช้เครื่องมือที่อัพเดตให้เริ่มเชลล์ใหม่โดยใช้sclคำสั่ง:

scl enable devtoolset-3 bash

คุณอาจต้องรีเซ็ตตัวแปรสภาพแวดล้อม PATH ของคุณซึ่งอาจตั้งค่าใน ~ / .bashrc หรือไฟล์โปรไฟล์อื่น ๆ หากคุณต้องการเปลี่ยนมันควรชี้ไปที่/opt/rh/devtoolset-3/root/usr/bin/:$PATH

ข้อมูลเพิ่มเติมเกี่ยวกับSCL จาก CentOSและRed Hat


สิ่งนี้ไม่ได้ผลสำหรับฉัน หลังจากสามขั้นตอนเหล่านั้นดูเหมือนว่าจะประสบความสำเร็จฉันก็ยังเห็น gcc 4.7.2 เมื่อฉันทำgcc -v
BT

ตกลงนอกเหนือไปจากขั้นตอนเหล่านี้ผมก็มีการเปลี่ยนไฟล์ .bashrc ของฉันเพื่อให้ตัวแปรสภาพแวดล้อมเส้นทางของฉันถูกกำหนดให้มากกว่า/opt/rh/devtoolset-3/root/usr/bin/:$PATH /opt/centos/devtoolset-1.1/root/usr/bin/:$PATHจากนั้นหลังจากรีสตาร์ทเซสชันจะใช้งานได้
BT

หลังจากใช้วิธีนี้ฉันเห็นว่ารุ่น gcc อัปเดตจริงๆ (โดยใช้ gcc --version) แต่ฉันยังคงเห็นไฟล์ส่วนหัวจากรุ่นเก่า ยิ่งไปกว่านั้นฉันไม่สามารถค้นหาส่วนหัวที่ใหม่กว่าในไดเรกทอรีที่ฉันคาดหวังให้เป็น (/ opt / rh / devtoolset-3 / root / usr / include /) เหตุใดสิ่งนี้จึงเกิดขึ้นได้และฉันจะแก้ไขได้อย่างไร
MaMazav

เพื่อให้คำตอบนี้ยืนการทดสอบของเวลาเพิ่มyum search devtoolset | grep gcc-c++เพื่อเปิดเผยจำนวนที่ถูกต้องแทน 3 เช่นเดียวกับในคำตอบ
Waslap

14

ฉันใช้ที่เก็บ Scientific Linux Cern 6 เพื่อติดตั้ง gcc 4.9 และ g ++ 4.9 บนระบบ CentOS 6.5 และ CentOS 6.6 ของฉัน มันไม่ได้ติดตั้ง g ++ 4.9.2 มันติดตั้ง g ++ 4.9.1 แทนซึ่งดีพอสำหรับความต้องการของฉัน

นี่คือคำสั่งที่ฉันใช้เพื่อติดตั้ง

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

ดังที่ Michael กล่าวไว้ในความคิดเห็นของเขาต่อโพสต์นี้เพื่อใช้เวอร์ชัน gcc ที่ติดตั้งจริงให้เริ่มเชลล์ใหม่ด้วยคำสั่งต่อไปนี้

scl enable devtoolset-3 bash

1
หากต้องการใช้เวอร์ชัน gcc ที่ติดตั้งนี้ให้เริ่มเชลล์ใหม่โดยใช้scl enable devtoolset-3 bash
Michael

@Michael ขอบคุณสำหรับการกล่าวถึงนี้ ฉันได้รวมความคิดเห็นของคุณไว้ในคำตอบแล้วเพื่อให้คำตอบมีประโยชน์มากขึ้น
Susam Pal

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