Mem-build dari sumber OR-Tools .Net di Linux

Pengantar

Panduan ini menjelaskan cara membuat build dari alat OR-sumber, dengan dukungan untuk .Net, di Linux.

Kecuali Anda berencana mengubah kode sumber atau menggunakan pemecah masalah pihak ketiga dengan OR-Tools, kami merekomendasikan penginstalan paket.

Meskipun instruksi ini mungkin juga berfungsi pada varian Linux lainnya, kita hanya mengujinya pada komputer yang memenuhi persyaratan berikut:

  • Alpine Edge 64-bit (x86_64)
  • Centos 7 LTS 64-bit (x86_64)
  • Debian SID 64-bit (x86_64)
  • Debian 11 (bullseye) 64-bit (x86_64)
  • Fedora 38 64 bit (x86_64)
  • Fedora 37 64-bit (x86_64)
  • OpenSuse Leap 64-bit (x86_64)
  • Ubuntu 24.04 64-bit (x86_64)
  • Ubuntu 22.04 LTS 64-bit (x86_64)
  • Ubuntu 20.04 LTS 64-bit (x86_64)

Prasyarat

Bagian berikut menjelaskan prasyarat untuk menginstal Alat OR.

Alat C++

Untuk menginstal alat C++, buka jendela terminal dan masukkan:

Alpine

apk add alpine-sdk linux-headers cmake lsb-release-minimal

Sento

sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core

Debian

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Topi Fedora

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

Topi Fedora

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

OpenSUSE

sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

Ubuntu

sudo apt update
sudo apt install -y build-essential cmake lsb-release

SWIG

Untuk menginstal SWIG, buka jendela terminal dan masukkan:

Alpine

apk add swig

Sento

sudo yum install -y swig

Debian

sudo apt install -y swig

Topi Fedora

sudo dnf install -y swig

Topi Fedora

sudo dnf install -y swig

OpenSUSE

sudo zypper install -y swig

Ubuntu

sudo apt install -y swig

Ubuntu

sudo apt install -y swig

Ubuntu

sudo apt install -y swig

.Net Core SDK >= 3.1

Berikutnya, instal .Net Core SDK versi 3.1 atau yang lebih tinggi. Untuk melakukannya, buka jendela terminal dan masukkan:

Alpine

apk add dotnet6-sdk
    

ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine

Sento

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/id-id/dotnet/core/install/linux-centos#centos-7

Debian

Sebelum menginstal .NET, jalankan perintah berikut untuk menambahkan ekstensi kunci penandatanganan paket ke daftar kunci tepercaya Anda dan tambahkan paket repositori resource.

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/id-id/dotnet/core/install/linux-debian

Topi Fedora

sudo dnf install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/id-id/dotnet/core/install/linux-fedora

Topi Fedora

sudo dnf install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/id-id/dotnet/core/install/linux-fedora

OpenSUSE

Sebelum menginstal .NET, jalankan perintah berikut untuk menambahkan ekstensi kunci penandatanganan paket ke daftar kunci tepercaya Anda dan tambahkan paket repositori resource.

sudo zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

Kemudian, Anda dapat menginstal .Net SDK menggunakan perintah berikut:

sudo zypper install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/id-id/dotnet/core/install/linux-opensuse

Ubuntu

sudo apt install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

Ubuntu

sudo apt install -y dotnet-sdk-6.0
referensi: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu

Mendownload kode sumber

Ada dua cabang berbeda dari kode sumber OR-Tools pada GitHub: stable dan main.

Cabang stable telah diuji secara menyeluruh dan akan berfungsi dengan sempurna di semua dan tersedia di platform yang didukung.
Cabang main adalah tempat update dan telah diterapkan; lebih terkini, tetapi kurang stabil.

Mendownload kode sumber stabil

Anda bisa mendapatkan kode sumber stabil untuk OR-Tools dengan salah satu cara berikut:

  • Clone cabang stable dengan memasukkan:

    git clone https://github.com/google/or-tools
    
  • Download rilis terbaru dalam file terkompresi, dengan mengklik Tombol Clone or download di GitHub. gambar kloning atau tombol download

Mendownload kode sumber utama

Untuk mengambil kode sumber dari cabang main, masukkan:

git clone -b main https://github.com/google/or-tools

Mendownload rilis sebelumnya

Anda bisa mendapatkan kode sumber untuk rilis sebelumnya dengan salah satu cara berikut:

  • Download rilis sebelumnya dari halaman rilis GitHub.
  • Dengan asumsi Anda telah membuat repositori lokal (oleh git clone), Anda dapat melihat rilis tertentu menggunakan Git tag. Misalnya, untuk bekerja dengan rilis v9.10, bukan rilis main, masukkan perintah berikut di repo lokal Anda:

    git fetch --all --tags --prune
    git checkout tags/v9.10 -b v9.10
    

Mengonfigurasi build

Sebelum membangun OR-Tools, Anda harus mengonfigurasi sistem build CMake web.

Buka terminal dan arahkan ke direktori tempat Anda mengekstrak file. Lalu masukkan:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

Lihat Dokumentasi CMake untuk mengetahui detailnya.

Menggunakan SCIP

Sejak v7.8, SCIP sekarang terintegrasi sehingga Anda tidak perlu menginstalnya secara manual.

Menggunakan Gurobi

Gurobi kini sudah terintegrasi. Jika diperlukan, saat runtime, OR-Tools akan mencari {i>shared library<i} Gurobi di jalur instal {i>default<i} dari penginstal Gurobi di MAC OS X dan Windows, atau menggunakan variabel lingkungan GUROBI_HOME.

Menggunakan pemecah masalah MIP pihak ketiga opsional

Anda juga dapat menggunakan OR-Tools dengan MIP pihak ketiga opsional berikut pemecah masalah yang dukungannya dinonaktifkan secara default:

Harap lihat dokumentasi ini untuk mengetahui detailnya.

Membangun kode sumber

Untuk membangun kode sumber, buka terminal dan arahkan ke direktori tempat Anda telah mengekstrak file tersebut. Lalu masukkan perintah berikut untuk mengompilasi OR-Tools:

cmake --build build --config Release --target all -j -v

Lihat Dokumentasi CMake untuk mengetahui detailnya.

Menguji kode sumber

Anda dapat memeriksa apakah semuanya berjalan baik dengan memasukkan:

cmake --build build --config Release --target test -v

Perintah ini menjalankan contoh untuk OR-Tools. Jika semua contoh dijalankan Anda siap untuk mulai menggunakan OR-Tools.

Membersihkan file build

Jika Anda perlu menginstal ulang OR-Tools, perintahnya:

rm -r build

akan menghapus semua dependensi yang dikompilasi. Hal ini dapat berguna untuk melakukan reset ke kondisi bersih.

Lalu, masukkan kembali perintah:

cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON

cmake --build build --config Release --target all -j -v

Menginstal OR-Tools pada sistem operasi Anda

Anda dapat menginstal OR-Tools untuk .Net di sistem operasi Anda dengan memasukkan:

cmake --build build --config Release --target install -v