Giriş
Bu kılavuzda, Linux'ta .Net desteğiyle kaynak VEYA Araçları'ndan nasıl derleme yapılacağı açıklanmaktadır.
Kaynak kodunu değiştirmeyi veya OR-Tools ile bir üçüncü taraf çözücü kullanmayı planlamıyorsanız paket yüklemesini öneririz.
Bu talimatlar diğer Linux varyantlarında da çalışabilir, ancak talimatları yalnızca aşağıdaki gereksinimleri karşılayan makinelerde test ettik:
- 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 23.10 64 bit (x86_64)
- Ubuntu 22.04 LTS 64 bit (x86_64)
- Ubuntu 20.04 LTS 64 bit (x86_64)
Ön koşullar
Aşağıdaki bölümlerde VEYA Araçları'nı yüklemeye ilişkin ön koşullar açıklanmaktadır.
C++ araçları
C++ araçlarını yüklemek için bir terminal penceresi açın ve şunu girin:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Centos
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
Fötr şapka
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
Fötr şapka
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
GEÇERLİ
SWIG'ı yüklemek için bir terminal penceresi açın ve şunu girin:
Alpine
apk add swig
Centos
sudo yum install -y swig
Debian
sudo apt install -y swig
Fötr şapka
sudo dnf install -y swig
Fötr şapka
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
Ardından, .Net Core SDK 3.1 veya sonraki sürümünü yükleyin. Bunun için bir terminal penceresi açıp şu komutu girin:
Alpine
apk add dotnet6-sdk
ref: https://learn.microsoft.com/en-us/dotnet/core/install/linux-alpine
Centos
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-centos#centos-7sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install -y dotnet-sdk-6.0
Debian
.NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilir anahtar listenize ekleyin ve paket deposunu ekleyin.
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
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-debiansudo apt update
sudo apt install -y dotnet-sdk-6.0
Fötr şapka
sudo dnf install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-fedora
Fötr şapka
sudo dnf install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-fedora
OpenSUSE
.NET'i yüklemeden önce aşağıdaki komutları çalıştırarak Microsoft paket imzalama anahtarını güvenilir anahtar listenize ekleyin ve paket deposunu ekleyin.
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
Ardından aşağıdaki komutu kullanarak .Net SDK'yı yükleyebilirsiniz:
sudo zypper install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-opensuse
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-ubuntu
Ubuntu
sudo apt install -y dotnet-sdk-6.0
ref: https://learn.microsoft.com/tr-tr/dotnet/core/install/linux-ubuntu
Kaynak kodu indirme
GitHub'da OR-Tools kaynak kodunun iki ayrı dalı vardır: stable
ve main
.
stable
dalı kapsamlı bir şekilde test edilmiş olup desteklenen tüm platformlarda sorunsuz bir şekilde çalışacaktır.
main
dalı, en son güncellemelerin ve iyileştirmelerin uygulandığı yerdir; daha güncel ancak daha az kararlıdır.
Kararlı kaynak kodunu indirin
OR-Tools için kararlı kaynak kodunu aşağıdaki yöntemlerden biriyle alabilirsiniz:
Aşağıdakileri girerek
stable
dalını klonlayın:git clone https://github.com/google/or-tools
En son sürümü sıkıştırılmış bir dosyada indirmek için GitHub'daki
Clone or download
düğmesini tıklayın.
Ana kaynak kodunu indirin
main
dalından kaynak kodunu almak için şunu girin:
git clone -b main https://github.com/google/or-tools
Önceki sürümleri indir
Önceki sürümlerin kaynak kodunu aşağıdaki yöntemlerden biriyle alabilirsiniz:
- GitHub sürüm sayfasından önceki bir sürümü indirin.
Daha önce yerel bir depo oluşturduğunuzu varsayarsak (
git clone
tarafından), Git etiketi kullanarak belirli bir sürüme göz atabilirsiniz. Örneğin,main
dalı yerine v9.9 sürümüyle çalışmak için yerel deponuza aşağıdaki komutları girin:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
Derlemeyi yapılandırma
OR araçları derlemeden önce, CMake derleme sistemi oluşturma aracını yapılandırmanız gerekir.
Bir terminal penceresi açın ve dosyaları çıkardığınız dizine gidin. Ardından şu komutu girin:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
Ayrıntılar için CMake dokümanlarına göz atın.
SCIP kullanma
SCIP 7.8 sürümünden itibaren artık entegre edilmiştir; bu sayede manuel olarak yüklemeniz gerekmez.
Gurobi'yi kullanma
Gurobi artık önceden entegre edildi. Gerektiğinde, OR-Tools çalışma zamanında MAC OS X ve Windows'daki Gurobi yükleyicilerinin varsayılan yükleme yolunda veya GUROBI_HOME
ortam değişkenini kullanarak Gurobi paylaşılan kitaplığını arar.
İsteğe bağlı üçüncü taraf MIP çözücü kullanma
VEYA Araçları'nı, desteği varsayılan olarak devre dışı olan aşağıdaki isteğe bağlı üçüncü taraf MIP çözümlerinden biriyle de kullanabilirsiniz:
- CPLEX
- GLPK (yalnızca Linux ve MacOS)
- XPRESS Çözücü
Ayrıntılar için lütfen bu belgelere göz atın.
Kaynak kodunu oluşturma
Kaynak kodunu oluşturmak için bir terminal penceresi açın ve dosyaları çıkardığınız dizine gidin. Ardından VEYA Araçları'nı derlemek için aşağıdaki komutu girin:
cmake --build build --config Release --target all -j -v
Ayrıntılar için CMake dokümanlarına göz atın.
Kaynak kodu test etme
Aşağıdakileri girerek her şeyin düzgün çalışıp çalışmadığını kontrol edebilirsiniz:
cmake --build build --config Release --target test -v
Bu komut, VEYA Araçları ile ilgili örnekleri çalıştırır. Tüm örnekler başarıyla çalışırsa VEYA Araçları'nı kullanmaya hazırsınız demektir.
Derleme dosyalarını temizleme
OR-Tools'u yeniden yüklemeniz gerekirse komut:
rm -r build
işlevi, derlenen tüm bağımlılıkları kaldırır. Bu, cihazı temiz bir duruma sıfırlamak için yararlı olabilir.
Daha sonra komutları tekrar girin:
cmake -S . -B build -DBUILD_DEPS=ON -DBUILD_DOTNET=ON
cmake --build build --config Release --target all -j -v
OR-Tools'u işletim sisteminize yükleme
Aşağıdakileri girerek işletim sisteminize .Net için OR-Tools'u yükleyebilirsiniz:
cmake --build build --config Release --target install -v