Cara Menginstal LLVM dan Dentang pada CentOS 6

LLVM adalah infrastruktur kompiler open-source. LLVM dimulai pada tahun 2000, dan telah banyak digunakan dan dimodifikasi oleh Apple sejak tahun 2005. Clang adalah kompiler C, C ++, Objective-C, dan Objective-C ++ yang bekerja dengan sistem LLVM. Dentang dimulai pada 2007 oleh Apple, dan sejak itu Google dan Intel telah terlibat dalam pengembangan lanjutannya.

Pengembang Clang mengklaim bahwa dibandingkan dengan GCC, kompilasi lebih cepat, menggunakan lebih sedikit memori, memberikan lebih banyak diagnostik ramah pengguna selama kompilasi, dan kompatibel dengan GCC.

CentOS mengikuti pengembangan Red Hat Enterprise Linux (RHEL). RHEL berusaha untuk menjadi platform server yang stabil, yang berarti tidak terburu-buru untuk memasukkan versi terbaru dari semuanya.

Pada saat penulisan artikel ini, CentOS 6 secara resmi mendistribusikan LLVM & Dentang v3.4.2. Namun, Clang v3.6 telah dirilis.

Saran resmi adalah jika Anda memerlukan versi LLVM & Dentang yang lebih baru, Anda harus mempertimbangkan distribusi UNIX lain yang lebih fokus pada mendukung versi terbaru paket perangkat lunak.

Untungnya, Anda dapat menginstal versi LLVM & Dentang GCC yang lebih baru di CentOS. Ini menyimpang dari murni menggunakan perangkat lunak yang didistribusikan secara resmi, tetapi kadang-kadang Anda mungkin merasa Anda tidak punya banyak pilihan.

Artikel ini menjelaskan cara menginstal versi LLVM & Dentang CentOS 6 yang didukung secara resmi, dan cara menginstal versi yang lebih baru. Artikel ini mengasumsikan Anda memiliki VPS CentOS 6 yang baru diinstal, namun Anda tentu dapat mengikuti instruksi pada VPS yang telah Anda gunakan.

Dentang sebagian besar independen dari GCC, tetapi sebagai dari penulisan artikel ini, dentang masih menggunakan beberapa perpustakaan bersama diinstal oleh GCC (yaitu, crtbegin.o, gcc, dan gcc_s). Jika Anda menginstal LLVM & Dentang pada CentOS 6, Anda tidak akan dapat mengkompilasi apa pun jika Anda juga tidak memiliki GCC pada sistem Anda untuk pustaka bersama ini. Idealnya, yum akan memiliki ketergantungan paket untuk dentang gcc dan gcc-c ++, tetapi pada saat penulisan artikel ini, yum tidak mengetahui ketergantungan.

Selain itu, membangun versi yang lebih baru dari LLVM & Dentang dari sumber membutuhkan G ++ v4.7 +, yang hanya bisa Anda dapatkan di CentOS 6 dengan menginstalnya berdasarkan sumber.

Jika Anda menjalankan semua langkah di bawah ini, Anda akan berakhir dengan 2 versi GCC dan 2 versi LLVM & Dentang. Ini termasuk versi lama biner yang didukung secara resmi dan versi yang lebih baru dari sumber untuk setiap program. Namun, tidak perlu menjalankan semua langkah di bawah ini. Anda dapat memutuskan apakah Anda ingin versi lama biner LLVM & Dentang yang didukung secara resmi, atau versi yang lebih baru dari sumber, dan menjalankan bagian instruksi mana saja yang sesuai dengan keputusan Anda.

Instal versi LLVM & Dentang (lebih tua) yang didukung secara resmi

  1. PENTING! Pertama, instal versi GCC yang didukung (lebih tua) secara resmi, dengan melakukan langkah-langkah di artikel Cara Menginstal GCC di CentOS 6 - Anda TIDAK perlu melakukan langkah-langkah di bawah judul artikel itu "Instal versi GCC yang lebih baru dari sumber ".

  2. Instal LLVM & Dentang

    sudo yum install clang
        --- This will bring in llvm as a dependency
    
  3. Periksa versi yang diinstal, dan lihat lokasinya.

    clang --version
        May say: clang version 3.4.2 (tags/RELEASE_34/dot2-final)
    which clang
        /usr/bin/clang
    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++
    

Instal versi LLVM & Dentang yang lebih baru dari sumber

Untuk membangun LLVM & Dentang menurut sumber di CentOS, Anda harus memiliki GCC v4.7 atau lebih tinggi. CentOS 6 tidak memiliki versi yang tinggi dalam yum, jadi Anda harus menginstal GCC terbaru dari sumber.

  1. PENTING! Pertama, instal versi GCC yang lebih baru dari sumber, dengan melakukan langkah-langkah di artikel Cara Memasang GCC di CentOS 6 - Anda harus melakukan semua langkah dalam artikel itu, termasuk di bawah judul "Instal versi GCC yang lebih baru dari sumber".

  2. Instal paket tambahan yang dibutuhkan.

    sudo yum install cmake
    
  3. Instal versi Python yang lebih baru. LLVM & Dentang v3.6.0 membutuhkan Python v2.7 +, tetapi repositori CentOS 6 yum hanya memiliki Python v2.6.6.

    mkdir ~/sourceInstallations
    cd ~/sourceInstallations
    wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
    tar -xvf Python-2.7.9.tgz
    cd Python-2.7.9
    ./configure && make && sudo make install
    
  4. Tentukan versi LLVM & Dentang yang Anda inginkan. Perintah ini akan menunjukkan kepada Anda "tag" untuk versi yang tersedia.

    svn ls http://llvm.org/svn/llvm-project/llvm/tags | grep RELEASE
        RELEASE_1/
        ...
        RELEASE_352/
        RELEASE_360/
        RELEASE_361/
    svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361
        rc1/
        --- At this time, there is no final, just a release candidate.  You could certainly use a release candidate, but this article will show how to use a final release.
    svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360
        final/
        rc1/
        rc2/
        rc3/
        rc4/
    
  5. Dapatkan sumber versi LLVM & Dentang yang Anda inginkan. Ini akan berjalan selama beberapa menit. Sisa dari artikel ini ditulis untuk RELEASE_360/dan akan mengunduh sumber ke ~/sourceInstallations/llvm_RELEASE_360/- Anda harus mengganti tag yang tepat agar sesuai dengan versi masa depan. Direktori di bawah ini dari compiler-rt,, libcxxdan libcxxabitidak mutlak diperlukan, tetapi mengandung beberapa fitur yang LLVM & Dentang memiliki bahwa GCC tidak, jadi termasuk dalam artikel ini. Ada "sub-proyek" LLVM lain yang dapat Anda pilih untuk digunakan, seperti dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode, dan lld. Anda dapat membaca tentang itu di situs web LLVM .

    cd ~/sourceInstallations
    svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final llvm_RELEASE_360
    cd llvm_RELEASE_360/tools
    svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final clang
    cd ../projects
    svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_360/final compiler-rt
    svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_360/final libcxx
    svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_360/final libcxxabi
    cd ..
    svn update
        At revision X.
        --- Hopefully this outputs one line saying "At revision X", but numbers instead of "X".  If it downloads more source files, a new revision was released while you were downloading the source code.  This is highly unlikely unless you're using trunk (the most up to date, maybe unstable code.)  But, if this happens, perform a svn update in the tools/clang, projects/compiler-rt, projects/libcxx, projects/libcxxabi, and again ~/sourceInstallations/llvm_RELEASE_360, until you are fully up to date.
    
  6. Bangun LLVM & Dentang. Ini akan berjalan untuk sementara waktu. Jika ini selesai dengan benar, baris terakhir yang akan Anda lihat akan mengatakan "sukses". Adalah normal untuk melihat beberapa pesan yang tampak salah bergulir dengan cepat. Itu selalu ide yang baik untuk membangun sesuatu di direktori yang berbeda dari direktori sumber.

    mkdir ../llvm_RELEASE_360_build
    cd ../llvm_RELEASE_360_build
    cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm_RELEASE_360 && 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"
        --- If you omit -DCMAKE_BUILD_TYPE=Release, the build defaults to debug.  This is great if you need to debug LLVM & Clang itself, but slows down compilation of your end programs considerably.
        --- If you omit the references to gcc and g++, it will default to using the older binary versions in /usr/bin/, and will not compile.
    
  7. Periksa versi yang diinstal, dan lihat lokasinya.

    clang --version
        May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
    clang++ --version
        May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
    which clang
        /usr/local/bin/clang
    which clang++
        /usr/local/bin/clang++
    
  8. Tambahkan pustaka baru ke ld (penghubung GNU).

    echo "/usr/local/lib" > usrLocalLib.conf
    sudo mv usrLocalLib.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.
    
  9. Opsional buat program "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.
    clang++ main.cpp -o main
    ./main
        Hello World!
    clang++ -stdlib=libc++ -lc++abi main.cpp -o main
        --- This uses Clang's libc++ and libc++abi, instead of the GNU stdlibc++ and stdlibc++abi
    ./main
        Hello world!
    
  10. Gunakan LLVM & Dentang saat Anda mau.

    You could set LLVM & Clang to be your system's default C and C++ compiler by running:
        echo "export CC=/usr/local/bin/gcc" >> ~/.bashrc
        echo "export CXX=/usr/local/bin/g++" >> ~/.bashrc
        source ~/.bashrc
    Once and a while there is a difference between Clang and GCC, but it's becoming more and more rare.  To be more conservative, you could specify in your code's buildsystem to use LLVM & Clang, but otherwise leave your system's default to the source build of GCC.
    
  11. Secara opsional, reklamasi ruang hard drive. ~/sourceInstallationsFolder Anda akan memakan sekitar 11GB ruang disk. Mungkin bijaksana untuk menyimpan folder, karena ada opsi konfigurasi opsional yang mungkin perlu Anda gunakan di beberapa titik di masa depan, dan akan lebih cepat untuk memiliki banyak yang sudah dilakukan. Dan, seperti yang disebutkan di atas, ada "sub proyek" tambahan yang dapat Anda tambahkan ke LLVM & Dentang. Selain itu, proses pembuatan membuat log yang nantinya dapat Anda periksa dan berfungsi jika ada masalah. Tetapi, setelah menjalankan "sudo make install" sebelumnya, LLVM & Dentang Anda yang terinstal tidak bergantung pada apa pun di direktori ini, dan ruang dapat menjadi premium, sehingga Anda dapat melakukan langkah ini dan mendapatkan kembali 11GB.

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

Anda sekarang memiliki LLVM & Dentang yang lebih baru, LLVM & Dentang /usr/local/bin64-bit yang /usr/local/liblebih baru, dan LLVM & Dentang yang lebih baru menyertakan file /usr/local/include.



Leave a Comment

Cara Memasang Graylog Server pada CentOS 7

Cara Memasang Graylog Server pada CentOS 7

Menggunakan Sistem yang Berbeda? Graylog server adalah perangkat lunak manajemen log sumber terbuka siap pakai perusahaan. Ia mengumpulkan log dari berbagai sumber dan menganalisis

Atur Akun Pengguna khusus SFTP di CentOS 7

Atur Akun Pengguna khusus SFTP di CentOS 7

Pada kesempatan tertentu, Administrator Sistem mungkin perlu membuat akun pengguna dan membatasi akses mereka untuk hanya mengelola file mereka sendiri melalui sFTP, tetapi tidak

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Cara Memasang Chamilo 1.11.8 pada CentOS 7

Menggunakan Sistem yang Berbeda? Chamilo adalah sistem manajemen pembelajaran (LMS) gratis dan open source yang banyak digunakan untuk pendidikan online dan kolaborasi tim

Menginstal Komunitas Odoo 9 di CentOS 7

Menginstal Komunitas Odoo 9 di CentOS 7

Odoo, sebelumnya dikenal sebagai OpenERP, adalah platform bisnis ERP open source yang terkenal. Perusahaan dengan ukuran berapa pun dapat mengambil manfaat dari Odoo, berkat lisnya yang berlimpah

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Cara Memasang CMS CMS 2.0 pada CentOS 7 LAMP VPS

Menggunakan Sistem yang Berbeda? Couch CMS adalah Content Management System (CMS) sederhana dan fleksibel, gratis dan open source yang memungkinkan desainer web untuk mendesain

Cara Memasang NextCloud 9 pada CentOS 7

Cara Memasang NextCloud 9 pada CentOS 7

NextCloud, seperti namanya, adalah alternatif yang menjanjikan dari solusi hosting file sumber terbuka lainnya OwnCloud. Dalam artikel ini, saya akan menunjukkan kepada Anda ho

Menginstal Netdata di CentOS 7

Menginstal Netdata di CentOS 7

Menggunakan Sistem yang Berbeda? Netdata adalah bintang yang naik di bidang pemantauan metrik sistem waktu-nyata. Dibandingkan dengan alat lain dengan jenis yang sama, Netdata:

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Cara Menginstal ERPNext Open Source ERP pada CentOS 7

Menggunakan Sistem yang Berbeda? ERP atau Enterprise Resource Planning adalah rangkaian aplikasi perusahaan yang digunakan untuk mengelola proses bisnis inti. ERPNext adalah gratis

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Menyiapkan SA-MP San Andreas Multiplayer Server pada CentOS 6

Selamat datang di tutorial Vultr lainnya. Di sini, Anda akan belajar cara menginstal dan menjalankan server SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan tahu

Instal Elgg pada CentOS 7

Instal Elgg pada CentOS 7

Menggunakan Sistem yang Berbeda? Elgg adalah mesin jejaring sosial open source yang memungkinkan penciptaan lingkungan sosial seperti jejaring sosial kampus

Menginstal Bolt CMS pada CentOS 7

Menginstal Bolt CMS pada CentOS 7

Bolt adalah CMS open source yang ditulis dalam PHP. Kode sumber baut di-host di GitHub. Panduan ini akan menunjukkan kepada Anda cara menginstal Bolt CMS pada CentOS 7 Vult yang baru

Cara Memasang Bugzilla 5.0.x di CentOS 7

Cara Memasang Bugzilla 5.0.x di CentOS 7

Bugzilla adalah sistem pelacakan bug sumber bebas dan terbuka yang banyak digunakan oleh berbagai vendor untuk terus meningkatkan softwar mereka

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Menyebarkan Kubernet Dengan Kubeadm di CentOS 7

Ikhtisar Artikel ini dimaksudkan untuk membantu Anda mendapatkan kluster Kubernet dan menjalankan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua server, pada

Setup Sails.js untuk Pengembangan pada CentOS 7

Setup Sails.js untuk Pengembangan pada CentOS 7

Menggunakan Sistem yang Berbeda? Pendahuluan Sails.js adalah kerangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Itu membuat untuk mengembangkan aplikasi modern ver

Menyiapkan Server Half Life 2 Pada CentOS 6

Menyiapkan Server Half Life 2 Pada CentOS 6

Tutorial ini akan membahas proses pemasangan server game Half Life 2 pada Sistem CentOS 6. Langkah 1: Menginstal prasyarat Untuk mengatur ou

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Alat Pemantauan Yang Lebih Baik Untuk Ubuntu Dan CentOS

Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar

Cara Memasang Kolab Groupware di CentOS 7

Cara Memasang Kolab Groupware di CentOS 7

Menggunakan Sistem yang Berbeda? Kolab Groupware adalah aplikasi groupware berbasis web gratis dan open source. Fitur-fiturnya terdiri dari komunikasi email, acara

Cara Memasang Koel di CentOS 7

Cara Memasang Koel di CentOS 7

Menggunakan Sistem yang Berbeda? Koel adalah aplikasi streaming audio pribadi sederhana berbasis web yang ditulis dalam Vue di sisi klien dan Laravel di sisi server. Koe

Cara Memasang GDB pada CentOS 6

Cara Memasang GDB pada CentOS 6

GDB adalah debugger untuk C, C ++, Objective-C, Pascal, Fortran, Go, D, OpenCL C, Ada, dan Modula-2. CentOS didasarkan pada RHEL (Red Hat Enterprise Linux). Salah satu th

Menginstal Akaunting di CentOS 7

Menginstal Akaunting di CentOS 7

Menggunakan Sistem yang Berbeda? Akaunting adalah perangkat lunak akuntansi sumber terbuka dan gratis yang dirancang untuk usaha kecil dan freelancer. Itu dibangun kecerdasan

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut