Mengkompilasi di Linux: 3 Langkah Membuat Biner 🔥
Ringkasan Utama
- Sebagian besar perangkat lunak mengikuti proses 3 langkah untuk mengkompilasi dari kode sumber:
./konfigurasi dan buat dan buat instal
. - Naskahnya konfigurasikan memeriksa dependensi, membuat menghasilkan file yang dapat dieksekusi, dan alat seperti autoconf/automake mengotomatiskan proses ini.
- Instalasi biasanya bersifat opsional, sehingga memudahkan untuk menjalankan perintah yang disalin ke direktori di
JALUR
sistem.
Mengompilasi dari kode sumber mungkin tampak menakutkan dibandingkan dengan menggunakan pengelola paket, tetapi dengan tiga perintah dasar, prosesnya sederhana dan mudah. 🚀
Apa itu Kompilasi dari Kode Sumber?
Program yang Anda gunakan dapat diinterpretasi atau dikompilasi. Program yang diinterpretasi adalah berkas teks berisi kode yang dieksekusi oleh program lain (interpreter) secara langsung (real-time). Di sisi lain, program yang dikompilasi adalah berkas biner berisi kode mesin yang siap dieksekusi.
Eksekusi yang dikompilasi sangat umum, terutama dalam program besar. Saat Anda mengkompilasi dari kode sumber, Andasas sebuah compiler seperti gcc
untuk mengubah kode menjadi program yang dapat dieksekusi, sering kali didistribusikan ke beberapa file.

Proses kompilasi bisa sangat luas dan rumit, oleh karena itu biasanya diotomatisasi dengan program seperti membuat
. Berkas-berkas file make mengontrol bagaimana eksekusi akhir dibuat.
Dalam proyek besar, ini file make Mereka bisa sangat rumit sehingga dapat dibuat secara otomatis dengan alat seperti konfigurasi otomatis Dan pembuat mobil untuk memastikan kompatibilitas di berbagai arsitektur. 🛠️
Proses Pembuatan 3 Langkah: Konfigurasi, Pembuatan, Instalasi
Sebagian besar perangkat lunak menggunakan pola dasar ini untuk mengkompilasi dari kode sumber:
./konfigurasi dan buat dan buat instal
Program populer seperti Apache menggunakan urutan ini (atau beberapa varian), seperti menjelaskan berkasnya MEMASANG:

Node.js juga mengikuti struktur ini, seperti yang ditunjukkan dalam file BUILDING.md:

Setiap proyek mungkin memiliki sedikit variasi dari rangkaian perintah ini. Gunakan operator logika AND (&&
) menghentikan proses jika ada langkah yang gagal:
./konfigurasi dan buat dan buat instal
Atau Anda dapat menjalankan setiap perintah secara terpisah pada satu baris dengan titik koma, meskipun ini akan menjalankan semua perintah tanpa henti jika ada yang gagal:
./konfigurasi; buat; buat instal
Anda juga dapat melakukan tiga baris secara terpisah:
./konfigurasi buat buat instal
Jika Anda hanya ingin mencoba program tanpa menginstalnya, Anda dapat melewatinya buat instal
dan menjalankannya dari foldernya.
konfigurasikan
Siap, sementara yang lain (seperti grep) memerlukan skrip lain yang dijalankan terlebih dahulu untuk membuatnya. Selalu rujuk berkas INSTALL, BUILD, atau README untuk mengikuti rekomendasi proyek. 📋Bagaimana ./configure Memulai Proses
Naskahnya konfigurasikan
Ini adalah titik awal proses kompilasi, mengadaptasi proyek ke lingkungan Anda.
Skrip ini memeriksa dependensi yang diperlukan untuk proyek, memeriksa versi dan ketersediaannya. Setelah selesai, skrip ini menghasilkan berkas bernama Makefile
untuk fase berikutnya.
Naskahnya konfigurasikan
menawarkan banyak opsi yang dapat dikonfigurasi dengan ./konfigurasi --bantuan
, yang memungkinkan Anda menyesuaikan detail bangunan.
konfigurasikan
sebagai membuat
menghasilkan banyak output di layar. Gunakan opsi --diam
jika Anda ingin menjalankan perintah ini tanpa menunjukkan begitu banyak detail. 🤫Jika skripnya hilang konfigurasikan
, beberapa proyek menyertakan skrip seperti autogen.sh
untuk membuatnya. Misalnya, htop menggunakannya:

Proyek yang sangat sederhana atau proyek yang ditulis dalam bahasa lain mungkin tidak memiliki konfigurasikan
Prosesnya ada dua langkah: buat && buat instal
.
Naskahnya konfigurasikan
Ini juga mengontrol detail instalasi, seperti parameter --awalan
, yang mengatur direktori root instalasi. Secara default, ini adalah /usr/lokal
, tetapi Anda dapat mengubahnya untuk mengatur berkas Anda dengan lebih baik.
membuat melakukan sebagian besar pekerjaan
Setelah konfigurasikan
menghasilkan sebuah Makefile
, kompilasi perangkat lunak sebenarnya dimulai dengan membuat
.
Program ini membaca Makefile
dan mengikuti aturan untuk memutuskan file mana yang akan dibuat atau diperbarui. Makefile
tulisan tangan mudah dipahami bagi mereka yang mengetahui sintaksisnya.
Misalnya saja yang ini Makefile
sederhana mengkompilasi program yang bergantung pada file program.c
:
program: program.c gcc -o program program.c
membuat
periksa apakah program.c
berubah sejak kompilasi terakhir. Jika tidak berubah, jangan lakukan apa pun; jika berubah, kompilasi dengan gcc
.

Itu file make
yang dihasilkan secara otomatis biasanya jauh lebih kompleks. Misalnya, berkas make
htop memiliki 2.440 baris:

Tapi Anda tidak perlu memahami setiap detailnya. Kecuali Anda memodifikasi kode sumbernya, jalankan saja. membuat
dan biarkan sistem mengurusnya.
Langkah membuat
Proses ini bisa memakan waktu beberapa menit atau lebih lama untuk proyek besar. Jika gagal, biasanya karena kurangnya dependensi. Keuntungannya adalah membuat
menyimpan kemajuan dan melanjutkan dari tempat terakhir ditinggalkan saat Anda berlari lagi.
Menyelesaikan dengan make install
Setelah dikompilasi, file yang dapat dieksekusi yang dibuat biasanya terletak di root proyek atau di subdirektori yang disebut tempat sampah
Anda dapat menjalankannya menggunakan jalur lengkap:

Ini berguna untuk pengujian, tetapi dalam jangka panjang Anda ingin memasangnya di lokasi yang mudah diakses.
Tujuan memasang
yang mendefinisikan berkas make
Salin file yang diperlukan dan atur izin. Lokasi default adalah /usr/lokal/bin
, meskipun Anda dapat mengubahnya dengan --awalan
.
Jika Anda tidak memiliki izin untuk folder tersebut, jalankan sudo buat instal
dan menyediakan kata sandi administrator.
Direktori instalasi harus disertakan dalam variabel Anda JALUR
untuk dapat menjalankan program hanya dengan namanya, tanpa menentukan jalur lengkapnya.