วิธีการติดตั้ง gcc 5.3 พร้อม yum บน CentOS 7.2?


94

ฉันใช้ CentOS 7.2

เมื่อฉันใช้yum groupinstall "Development Tools"gcc เวอร์ชัน 4.8.5 ดังนี้:

ป้อนคำอธิบายภาพที่นี่

ฉันต้องการติดตั้ง gcc 5.3

วิธีการนี้ด้วยyum?


ทำตามบทช่วย
Mohammad Shahadat Hossain

@MohammadShahadatHossain มีyumแหล่งข้อมูลที่ไหนบ้าง?
แสงแดด

ฉันไม่แน่ใจ แต่ในกรณีนี้คุณสามารถใช้ทรัพยากร RPM ได้จากที่นี่ rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

ขณะนี้ devtoolset มี 5.3.1 - ดูคำตอบของฉันด้านล่างสำหรับคำสั่งเพื่อเปิดใช้งานและติดตั้งโดยใช้ yum
tesch1

คำตอบ:


184

อัปเดต:
บ่อยครั้งที่ผู้คนต้องการ gcc เวอร์ชันล่าสุดและ devtoolset กำลังอัปเดตอยู่เสมอดังนั้นคุณอาจต้องการ devtoolset-N โดยที่ N = {4,5,6,7 ... } ตรวจสอบ yum สำหรับ ล่าสุดที่มีอยู่ในระบบของคุณ) อัปเดต cmds ด้านล่างสำหรับ N = 7

มีแพ็คเกจสำหรับ gcc-7.2.1 สำหรับ devtoolset-7 เป็นตัวอย่าง ก่อนอื่นคุณต้องเปิดใช้งานคอลเลคชันซอฟต์แวร์จากนั้นจึงมีอยู่ใน devtoolset-7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

2
เวอร์ชัน gcc ใน devtoolset ในเวลาเฉลี่ยถูกชนเป็น 5.3.1
tesch1

4
ไม่เพียงแค่นั้น แต่คุณสามารถติดตั้ง devtoolset-6 เพื่อรับ 6.2.1
Rahly

5
การเปลี่ยน symlink ไม่ใช่สิ่งที่ดีที่สุดที่ควรทำเนื่องจากอาจเป็นของ / จัดการโดยแพ็คเกจอื่นที่สามารถอัปเกรดได้ จะดีกว่าที่จะเปิดใช้งานในการเข้าสู่ระบบของคุณหรือในสคริปต์การเข้าสู่ระบบทั้งระบบพร้อมscl enable devtoolset-6 bashหรือ. /opt/rh/devtoolset-6/bin/enable ลิงก์ที่อัปเดตไปยังเอกสารเครื่องมือซอฟต์แวร์
tesch1

1
การวิ่งyum install devtoolset-4-binutilsอาจมีประโยชน์เช่นกันเพื่อให้ได้เครื่องมือ GCC ที่สมบูรณ์
scrutari

5
ฉันเคยsource scl_source enable devtoolset-4เปลี่ยน gcc ปัจจุบันของฉันกับอันที่ติดตั้งโดยdevtoolset-4
WF

75

อัปเดต:การติดตั้ง gcc 9 เวอร์ชันล่าสุด: ( gcc 9.3.0 ) - เผยแพร่12 มีนาคม 2020 :

วิธีเดียวกันนี้สามารถใช้ได้กับ gcc 10 ( gcc 10.1.0 ) - เผยแพร่เมื่อวันที่ 7 พฤษภาคม 2020

ดาวน์โหลดไฟล์: gcc-9.3.0.tar.gzหรือ gcc-10.1.0.tar.gz

รวบรวมและติดตั้ง:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

ทดสอบภายใต้CentOS 7.8.2003สำหรับ gcc 9.3 และ gcc 10.1

ผ่านการทดสอบภายใต้CentOS 8.1.1911สำหรับ gcc 10.1 (อาจใช้เวลาในการรวบรวมมากกว่านี้)

ผลลัพธ์: gcc / g ++ 9.3.0 / 10.1.0

ป้อนคำอธิบายภาพที่นี่ ป้อนคำอธิบายภาพที่นี่

การติดตั้ง gcc 7.4 (gcc 7.4.0) - เผยแพร่วันที่ 6 ธันวาคม 2018 :

ดาวน์โหลดไฟล์: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

รวบรวมและติดตั้ง:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

ผลลัพธ์:

ป้อนคำอธิบายภาพที่นี่

หมายเหตุ:

1. คำตอบ Stack Overflowนี้จะช่วยในการดูวิธีตรวจสอบไฟล์ต้นฉบับที่ดาวน์โหลดมา

2.ใช้ตัวเลือก--prefixเพื่อติดตั้ง gcc ไปยังไดเร็กทอรีอื่นนอกเหนือจากค่าเริ่มต้น ไดเร็กทอรีการติดตั้ง toplevel มีค่าเริ่มต้นเป็น / usr / local อ่านเกี่ยวกับตัวเลือกการติดตั้ง gcc


ทำไมต้องดาวน์โหลดจาก ftp.mirrorservice.org แทนที่จะเป็น ftp.gnu.org คุณควรดาวน์โหลดและตรวจสอบ.sigไฟล์ที่เกี่ยวข้อง(ลายเซ็น pgp)
Keith Thompson

การกำหนดค่าตามที่แสดงโดยไม่มี --prefix จะติดตั้งใน / usr / local / ซึ่งอาจมีหรือไม่มีมาก่อนการติดตั้ง gcc เดิมของคุณบน PATH
tim18

1
make -j $(nproc)
Chepe Questn

2
ฉันใช้เวลามากกว่า 4 ชั่วโมงในการรวบรวมและมีพื้นที่ HDD มากกว่า 6GB
iDevFS

ตามที่ tim18 แนะนำมันปลอดภัยไหมที่จะวิ่งmake && make installโดยไม่ใช้--prefix? หากทำเช่นนั้นทุกอย่างจะถูกติดตั้งโดย/usr/ไม่/usr/localconfig.logConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
เว้น

7

คุณสามารถใช้ repo การทดสอบ centos-sclo-rh เพื่อติดตั้ง GCC v7 โดยไม่ต้องคอมไพล์ตลอดไปนอกจากนี้ยังเปิดใช้ V7 ตามค่าเริ่มต้นและให้คุณสลับระหว่างเวอร์ชันต่างๆได้หากจำเป็น

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;

แม้ว่ารหัสนี้อาจตอบคำถามได้ แต่ก็ควรอธิบายวิธีแก้ปัญหาและระบุรหัสเป็นตัวอย่างหรือข้อมูลอ้างอิงได้ดีกว่า คำตอบแบบใช้รหัสเท่านั้นอาจทำให้สับสนและขาดบริบท
Robert Columbia

น่าเสียดายที่โซลูชันนี้ไม่อัปเดต/usr/lib64/libstdc++.soไฟล์ให้มีสัญลักษณ์ที่ใหม่กว่า
ตกสะเก็ด

6

แนวทางที่ดีที่สุดในการใช้ yum และอัปเดตชุดเครื่องมือของคุณคือการใช้ที่เก็บ CentOS SCLo RH Testing

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

นอกจากนี้ยังมีแพ็คเกจเพิ่มเติมอีกมากมายเพื่อดูทั้งหมด

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

คุณสามารถใช้วิธีนี้เพื่อติดตั้งเครื่องมือ dev เวอร์ชันใดก็ได้เพียงแค่สลับ 7 สำหรับเวอร์ชันที่คุณต้องการ devtoolset-6-gcc, devtoolset-5-gcc เป็นต้น


-11

คำสั่งเพื่อติดตั้ง GCC และ Development Tools บนเซิร์ฟเวอร์ CentOS / RHEL 7

พิมพ์คำสั่ง yum ต่อไปนี้ในฐานะผู้ใช้รูท:

yum group ติดตั้ง "Development Tools"

หรือ

sudo yum group ติดตั้ง "Development Tools"

หากคำสั่งข้างต้นล้มเหลวให้ลอง:

yum groupinstall "เครื่องมือการพัฒนา"

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