วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL มุ่งมั่นที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่เร่งรีบที่จะรวมซอฟต์แวร์รุ่นล่าสุดทุกชุด

จากการเขียนบทความนี้ CentOS 6 จัดจำหน่าย GCC v4.4.7 อย่างเป็นทางการ อย่างไรก็ตาม GCC v5.1 เพิ่งเปิดตัว ก่อนหน้านั้น v4.9.2 พร้อมใช้งาน

ข้อเสนอแนะอย่างเป็นทางการที่ต้องการ GCC รุ่นที่ใหม่กว่าคือคุณควรพิจารณาการกระจาย UNIX ที่แตกต่างกันซึ่งให้ความสำคัญกับการสนับสนุนแพ็คเกจซอฟต์แวร์รุ่นล่าสุด

โชคดีที่คุณสามารถติดตั้ง GCC เวอร์ชันที่ใหม่กว่าบน CentOS โดยยังคงติดตั้งรุ่นเก่ากว่า สิ่งนี้เบี่ยงเบนไปจากการใช้ซอฟต์แวร์ที่เผยแพร่อย่างเป็นทางการ แต่บางครั้งคุณอาจรู้สึกว่าคุณมีทางเลือกน้อย คุณสามารถประสบกับภาวะแทรกซ้อนบางอย่าง ตัวอย่างเช่นหากคุณกำลังติดตั้งโมดูลเคอร์เนลบุคคลที่สามพวกเขาจะต้องรวบรวมโดยใช้ GCC รุ่นเดียวกันที่ใช้ในการสร้างเคอร์เนลของคุณ

บทความนี้อธิบายถึงวิธีการติดตั้ง CentOS 6 อย่างเป็นทางการที่รองรับ GCC และวิธีการติดตั้งเวอร์ชันที่ใหม่กว่าเช่นกัน บทความนี้อนุมานว่าคุณมี CentOS 6 VPS ที่ติดตั้งใหม่แม้ว่าคุณจะสามารถปฏิบัติตามคำแนะนำบน VPS ที่มีอยู่

ติดตั้ง GCC เวอร์ชันที่เป็นทางการ (เก่ากว่า) ที่ได้รับการสนับสนุน

แม้ว่าคุณต้องการติดตั้ง GCC เวอร์ชันใหม่จากแหล่ง GCC เองก็เขียนด้วยภาษา C ++ ดังนั้นก่อนอื่นคุณต้องติดตั้งคอมไพเลอร์ C ++ ที่เก่ากว่า

  1. เข้าสู่ระบบ VPS ของคุณโดยคลิก "ดูคอนโซล" ในแผงควบคุม Vultr หรือโดย SSH หากคุณตั้งค่าไว้

    (a) เข้าสู่ระบบในฐานะรูท

    (b) สร้างบัญชีผู้ใช้ของคุณเองและตั้งรหัสผ่าน

    adduser <username>
    passwd <username>
    

    (c) อนุญาตให้บัญชีผู้ใช้ของคุณดำเนินการคำสั่งด้วยสิทธิ์พิเศษผ่านคำสั่ง sudo

    visudo
        After the line "root   ALL=(ALL)   ALL"
        Add the line "<username>   ALL=(ALL)   ALL"
        --- If you aren't familiar with vi, go to the line "root   ALL=(ALL)   ALL".
        ---   Hit "o" to create a new line after that line and enter insert mode.
        ---   Type "<username>   ALL=(ALL)   ALL".
        ---   Hit ESC.
        ---   Type "ZZ" to save.
    

    (d) ออกจากระบบในฐานะ root และลงชื่อเข้าใช้บัญชีผู้ใช้ของคุณ

  2. ติดตั้งแพ็คเกจ CentOS 6 GCC สิ่งนี้จะถามคุณว่าคุณต้องการติดตั้งแพคเกจประมาณ 11 แพคเกจหรือไม่เนื่องจากการขึ้นต่อกัน

    sudo yum install gcc gcc-c++
    
  3. ตรวจสอบเวอร์ชั่นที่ติดตั้งและแสดงตำแหน่งของพวกเขา

    gcc --version
        May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    g++ --version
        May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
    which gcc
        /usr/bin/gcc
    which g++
        /usr/bin/g++
    

ติดตั้ง GCC เวอร์ชันใหม่จากแหล่งที่มา

หากคุณต้องการให้ GCC รองรับเวอร์ชัน CentOS อย่างเป็นทางการเท่านั้นคุณก็พร้อมแล้ว หากคุณต้องการ GCC เวอร์ชันที่ใหม่กว่าให้ดำเนินการต่อ

  1. สิ่งสำคัญ! ขั้นแรกทำตามขั้นตอนด้านบนเพื่อติดตั้ง GCC เวอร์ชันเก่ากว่า

  2. ติดตั้งแพ็คเกจที่จำเป็นเพิ่มเติม สิ่งนี้จะถามคุณว่าคุณต้องการติดตั้งประมาณ 41 แพคเกจหรือไม่

    sudo yum install svn texinfo-tex flex zip libgcc.i686 glibc-devel.i686
    
  3. เลือก GCC เวอร์ชันที่คุณต้องการติดตั้ง คำสั่งนี้จะแสดง "แท็ก" สำหรับแต่ละเวอร์ชันที่มี

    svn ls svn://gcc.gnu.org/svn/gcc/tags | grep gcc | grep release
        gcc-2_95-release/
        ...
        gcc-4_9_2_release/
        gcc-5_1_0_release/
    
  4. รับแหล่งที่มาของรุ่น GCC ที่คุณต้องการ การดำเนินการนี้จะใช้เวลาสองสามนาที ส่วนที่เหลือของบทความนี้เขียนขึ้นเพื่อgcc-5_1_0_release/และจะดาวน์โหลดแหล่งข้อมูล~/sourceInstallations/gcc_5_1_0_release/ต่างๆ

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_5_1_0_release/
    
  5. รับแหล่งที่มาของข้อกำหนดเบื้องต้นเพิ่มเติม การใช้ v5.1.0 จะเป็นการดาวน์โหลดแหล่งข้อมูลและเพิ่มลงใน GCC build สำหรับ MPFR v2.4.2, GMP 4.3.2 และ MPC 0.8.1

    cd gcc_5_1_0_release/
    ./contrib/download_prerequisites
        --- Important, run this as shown, from the gcc_5_1_0_release directory.
        ---   Do not cd to the contrib directory
    
  6. หาก VPS ของคุณมีหน่วยความจำเพียง 768MB คุณจะมีหน่วยความจำไม่เพียงพอในขั้นตอนถัดไป หากคุณมีหน่วยความจำ 1GB คุณอาจจะไม่เป็นไร แต่ก็ไม่สามารถทำตามขั้นตอนนี้ได้ หากคุณมีหน่วยความจำ 2GB หรือมากกว่าคุณสามารถข้ามขั้นตอนนี้ได้ ขั้นตอนนี้จะเพิ่มหน่วยความจำเสมือน 500MB โดยใช้ไฟล์สลับ

    SWAP=/tmp/swap
    dd if=/dev/zero of=$SWAP bs=1M count=500
    mkswap $SWAP
    sudo swapon $SWAP
    
  7. สร้าง GCC สิ่งนี้จะทำงานเป็นเวลาหลายชั่วโมง หากสิ่งนี้เสร็จสิ้นอย่างถูกต้องบรรทัดสุดท้ายที่คุณจะเห็นจะพูดว่า "สำเร็จ" เป็นเรื่องปกติที่จะเห็นข้อความที่มีข้อผิดพลาดเลื่อนขึ้นอย่างรวดเร็วตราบใดที่บิลด์เสร็จสมบูรณ์และ "สำเร็จ" echos เป็นความคิดที่ดีที่จะสร้างสิ่งต่าง ๆ ในสารบบที่แตกต่างจากสารบบ เอกสารคู่มือ GCC ระบุว่าคุณไม่ควรใช้ไดเรกทอรีสร้างที่เป็นไดเรกทอรีย่อยของไดเรกทอรีต้นทาง

    cd ..
    mkdir gcc_5_1_0_release_build/
    cd gcc_5_1_0_release_build/
    ../gcc_5_1_0_release/configure && make && sudo make install && echo "success"
    --- If your VPS has multiple cores, you can speed up the build by changing the middle part
    ---   of this line from "&& make &&" to "&& make -j <number of cores> &&".
    --- You can see the number of cores your VPS has by running "nproc"
    
  8. หากคุณตั้งค่าไฟล์สลับในขั้นตอนที่ 6 ให้ลบออก โดยไม่ต้องทำการกำหนดค่าเพิ่มเติมหลังจากรีบูตเครื่องจะไม่ใช้เป็นไฟล์ swap และใช้พื้นที่ฮาร์ดไดรฟ์ใน VPS ของคุณ

    sudo swapoff $SWAP
    rm /tmp/swap
    
  9. ตรวจสอบเวอร์ชั่นที่ติดตั้งและดูตำแหน่งของพวกเขา

    hash -r
        (Makes your login "forget" about the previously seen locations of gcc and g++)
    gcc --version
        May say: gcc (GCC) 5.1.0
    g++ --version
        May say: g++ (GCC) 5.1.0
    which gcc
        /usr/local/bin/gcc
    which g++
        /usr/local/bin/g++
    
  10. เพิ่มไลบรารีใหม่ลงใน ld (ตัวลิงก์ GNU)

    echo "/usr/local/lib64" > usrLocalLib64.conf
    sudo mv usrLocalLib64.conf /etc/ld.so.conf.d/
    sudo ldconfig
        --- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
        --- You may ignore this message.  It is silent about the work it successfully completed.
    
  11. เลือกสร้างโปรแกรม Hello world

    mkdir ~/code
    cd ~/code
    Create a file main.cpp that says:
        #include <iostream>
        using namespace std;
        int main() {
            cout << "Hello world!" << endl;
            return 0;
        }
    --- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
    ---   typing the above file, hitting ESC, and hitting "ZZ" to save.
    g++ main.cpp -o main
    ./main
        Hello World!
    
  12. เลือกที่จะเรียกคืนพื้นที่ว่างในฮาร์ดไดรฟ์ ~/sourceInstallationsโฟลเดอร์ของคุณจะมีขนาดประมาณ 8.0GB อาจเป็นการดีที่จะเก็บโฟลเดอร์ไว้เนื่องจากมีตัวเลือกการกำหนดค่าเพิ่มเติมที่คุณอาจจำเป็นต้องใช้ในอนาคตและมันจะเร็วกว่าที่จะทำสิ่งต่างๆมากมาย นอกจากนี้กระบวนการสร้างทำให้บันทึกที่คุณสามารถตรวจสอบและทำงานในภายหลังหากมีสิ่งผิดปกติ แต่หลังจากทำงานsudo make installก่อนหน้านี้ GCC ที่ติดตั้งของคุณไม่ได้ขึ้นอยู่กับอะไรในไดเรกทอรีนี้และพื้นที่อาจมีค่าพรีเมียมดังนั้นคุณสามารถทำตามขั้นตอนนี้และเรียกคืน 8.0GB หรือมากกว่านั้น

    cd ~/
    rm -rf sourceInstallations
    --- Again, if you can spare the space, you may someday be happy to have left it there.
    

ตอนนี้คุณได้รับการสนับสนุนจาก CentOS อย่างเป็นทางการgccและg++ยังอยู่ใน/usr/bin/นั้น CentOS ของคุณรองรับ libs แบบ 32 บิต/libอย่างเป็นทางการ CentOS ของคุณรองรับ libs แบบ 64 บิต/lib64อย่างเป็นทางการและ CentOS ที่สนับสนุนอย่างเป็นทางการของคุณรวมไฟล์ไว้/usr/includeด้วย

ของคุณใหม่gccและg++อยู่ใน/usr/local/binlibs ใหม่ 32 บิตใน/usr/local/libใหม่ libs 64 บิต/usr/local/lib64ใหม่ของคุณในและใหม่กว่าของคุณรวมถึงไฟล์/usr/local/includeมา



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true